σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft Academyロードマップスキル
Ctrl K
AO
+1.2k 人の学習者
ログイン参加する ↗
ロードマップスキル
AO
+1.2k 人の学習者
ログイン
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Bayesian Inference スキル›モジュール 3 · モデルと実践›トピック 3.4·~1 時間 30 分上級

総仕上げ:実在株でのベイズ・シャープレシオと縮小推定

スキル上の位置モジュール 3/3 · トピック 4/4
3.4 総仕上げ:実在株でのベイズ・シャープレシオと縮小推定
—ラボスコア— / 100合計XP—連続日数—

シャープレシオをどれくらい信じてよいか

バックテストはシャープレシオを1つ出しますが、それはノイズの多いリターンから推定したものです。ベイズ推定では、日次の平均 μ と分散 σ² を未知として扱い、弱い事前分布から出発してデータで更新します。正規・逆ガンマの組なら、更新は4つの数の式で済みます。次に事後分布からサンプルを引きます。精度を引き、次に平均を引き、各組を年率シャープレシオ μ/σ·√252 に変換します。サンプルから区間と、シャープレシオが 0 より大きい確率が得られます。

kₙ=k₀+n, mₙ=(k₀m₀+nx̄)/kₙ, aₙ=a₀+n/2, bₙ=b₀+ss/2+(k₀n(x̄-m₀)²)/2kₙ, S=μ/σ√252

後半は多数の銘柄についてです。見た目の良い平均リターンは一部が運なので、前のトピックの階層ルールで全体平均のほうへ縮小します。検証は公平に行います。年の前半で推定し、各手法が後半の平均リターンをどれだけうまく予測するかを確かめます。また、公式のない事後分布のための道具である自作のメトロポリス・サンプラーも書き、答えがわかっている事後分布で試します。

実データが示すこと2005年以降のSPYのシャープレシオは約 0.52 です。95% 信用区間は約 0.09 から 0.94 で、0 を超える確率は 99% です。直近 250 日は 1.34 とすばらしく見えますが、区間は約 -0.66 から 3.30 に及び、正である確率は約 91% にすぎません。1年ではスキルと運を区別できません。54 銘柄では、平均リターンの広がりがノイズだけで生じる程度なので τ²=0 となり、全銘柄が全体平均に引き寄せられます。後半を予測すると、生の平均の平均二乗誤差は約 0.0135、縮小後は約 0.0106 で、22% 小さくなります。
  • 共役更新:4つの数 (mₙ,kₙ,aₙ,bₙ) が平均と分散の事後分布全体を表す。
  • 正直な誤差範囲:1年のデータでは、シャープレシオの区間が 0 を含むほど広い。
  • 縮小の検証:前半で推定し後半で採点する。ここではプールが生の平均に勝つ。
覚えておくべき単純化日次リターンは正規分布で独立だと扱っており、厚い裾やボラティリティの集中は無視しています。弱い事前分布は手で選んだものです。銘柄サンプルは、期間を通じて存在した大企業だけを含むので生存者バイアスがあり、銘柄は連動して動くので、検証は見かけほど独立ではありません。大事なのは正確な数字ではなく、方法と誤差範囲の広さです。

ラボ:採点される内容

  • シャープレシオ10点
  • 事後分布の更新15点
  • シャープレシオのサンプル15点
  • 信用区間10点
  • 平均を縮小する15点
  • メトロポリス・サンプラー20点
  • 縮小推定の検証15点
エクスプローラー · lab-by-10
▾ lab-by-10
▾ data
…
bash · ブラウザ内
learner@quantcraft:~/lab-by-10$
Pythonは未読み込みPythonLn 1, Col 1Spaces: 4UTF-8

このトピックをリセットしますか?

lab-by-10 の内容はすべてスターターファイルに戻り、ターミナルも消去されます。現在の解答は失われ、元に戻せません。

リセットされるもの
  • main.py → スターターコード
  • ターミナル履歴とテスト出力
  • 未提出の変更
保持されるもの
  • ラボの最高スコア
  • XPと連続日数
  • 講義の進捗とメモ

コードを実行するにはログインしてください。

レクチャーはすべて無料で読めます。コードの実行、テスト、ラボの提出にはアカウントの作成かログインが必要です。

  • ブラウザ内IDEとbashターミナル。インストール不要
  • 即時採点、XP、スキルでの現在地
アカウントを作成ログイン
または
GitHubで続ける