σμ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
  • 日本語
  • 中文
Statistics スキル›モジュール 4 · 検証と過学習›トピック 4.2·~1 時間上級

ディフレーテッド・シャープレシオとバックテストの過学習

スキル上の位置モジュール 4/4 · トピック 2/3
4.2 ディフレーテッド・シャープレシオとバックテストの過学習
—ラボスコア— / 100合計XP—連続日数—

数百の中から見つけた素晴らしいシャープレシオ

シャープレシオは、平均超過リターンをその標準偏差で割ったものです。日次データからは 252\sqrt{252}252​ で年率化します。日次平均0.05%、日次ボラティリティ1%なら日次レシオは0.05、年率では 0.05252≈0.790.05\sqrt{252}\approx0.790.05252​≈0.79 です。他の推定値と同様に標準誤差があり、TTT 年分のデータでおよそ (1+SR2/2)/T\sqrt{(1+\mathrm{SR}^2/2)/T}(1+SR2/2)/T​ です。真のシャープレシオが0.8でも、4年間の測定では約 ±0.57\pm0.57±0.57 の精度でしか分からず、シャープレシオ0.8と0.3の2つの戦略を統計的に区別するのは困難です。

E[max⁡i≤NSR^i]≈σSR2ln⁡N,SR^defl=SR^best−E[max⁡]\mathbb{E}\big[\max_{i\le N}\widehat{\mathrm{SR}}_i\big]\approx\sigma_{\mathrm{SR}}\sqrt{2\ln N},\qquad \widehat{\mathrm{SR}}_{\mathrm{defl}}=\widehat{\mathrm{SR}}_{\mathrm{best}}-\mathbb{E}\big[\max\big]E[i≤Nmax​SRi​]≈σSR​2lnN​,SRdefl​=SRbest​−E[max](1)

ここで NNN 個の戦略を試すとします。すべての真のシャープレシオが0でも、推定値は σSR\sigma_{\mathrm{SR}}σSR​ のばらつきで0のまわりに散らばり、その最良値は正で、NNN とともにおよそ σSR2ln⁡N\sigma_{\mathrm{SR}}\sqrt{2\ln N}σSR​2lnN​ のように増えます。ばらつきが0.5で試行が100回なら、運だけで最良値は約 0.52ln⁡100≈1.520.5\sqrt{2\ln100}\approx1.520.52ln100​≈1.52 と期待されます。これがバックテストの過学習です。ディフレーテッド・シャープレシオ(Bailey と López de Prado)は、観測された最良のシャープレシオを、試行回数、リターンの歪度と尖度、標本の長さで補正します。このトピックの簡略版では、数字を信じる前に、NNN 個中の最良値に期待されるノイズを差し引きます。

シャープレシオの数値日次平均0.05%、日次ボラティリティ1%なら SR=0.05252≈0.794\mathrm{SR}=0.05\sqrt{252}\approx0.794SR=0.05252​≈0.794 です。T=4T=4T=4 年で SR=0.8\mathrm{SR}=0.8SR=0.8 なら SE≈(1+0.32)/4≈0.574\mathrm{SE}\approx\sqrt{(1+0.32)/4}\approx0.574SE≈(1+0.32)/4​≈0.574。ノイズのばらつきが 0.50.50.5 の100個の戦略では、期待される最良値は 0.52ln⁡100≈1.5170.5\sqrt{2\ln100}\approx1.5170.52ln100​≈1.517 です。最良のバックテストが SR=1.5\mathrm{SR}=1.5SR=1.5 で、NNN 個中の最良値に期待されるノイズが 1.01.01.0 なら、ディフレートした値は約 1.5−1.0=0.51.5-1.0=0.51.5−1.0=0.5 で、表向きの数字の半分は運で説明されます。
  • シャープレシオ:平均超過リターンをボラティリティで割る。日次データは 252\sqrt{252}252​ で年率化する。
  • NNN 個中の最良値:ノイズだけで最良のシャープレシオは σSR2ln⁡N\sigma_{\mathrm{SR}}\sqrt{2\ln N}σSR​2lnN​ 付近になる。
  • 対策:すべての試行を記録し、最終ホールドアウトを残し、理由のある単純なアイデアを好み、勝者を割り引く。
バックテストは結果ではなく仮説戦略を検証する唯一のきれいな方法は、選択に一切関わらなかったデータ、つまり1度だけ見る最終ホールドアウトか、実運用です。それ以外は、どれだけ丁寧に交差検証しても、アイデアを選ぶ誰かが繰り返し見ています。いくつのアイデアを試したかを明示して補正し、履歴の短い日次株式データでシャープレシオが2を超えるものは疑ってください。

ラボ:採点される内容

  • 年率化したシャープレシオ15点
  • シャープレシオの標準誤差15点
  • ノイズから生じる多数のうちの最良値15点
  • 勝者をどう扱うか15点
  • 過学習への対策10点
  • ディフレートしたシャープレシオ15点
  • 最良のバックテストが運かもしれない理由15点
0/ 7問回答済み
問題
1数値で答える15点未回答

日次の超過リターンの平均は0.05%、標準偏差は1%です。年率化したシャープレシオ(日次レシオに252の平方根を掛ける)を小数第3位まで求めてください。

SR=SR =SR=許容:± 0.005
2数値で答える15点未回答

ある戦略の年率シャープレシオは0.8で、T = 4 年で測定されています。SE = √((1 + SR^2/2)/T) を使い、小数第3位まで求めてください。

SE=SE =SE=許容:± 0.005
3数値で答える15点未回答

真の実力のない N = 100 個の戦略を、シャープレシオ推定のノイズのばらつき0.5で検証します。E[max] = 0.5 * √(2 ln N) を使い、期待される最良のシャープレシオを小数第3位まで求めてください。

E[max⁡]=\mathbb{E}[\max] =E[max]=許容:± 0.01
4選択15点未回答

200個のバックテスト済み戦略のうち最良のものの年率シャープレシオは、5年間で1.0です。適切な対応はどれですか。

5選択10点未回答

バックテストの過学習への良い対策をすべて選んでください。

6数値で答える15点未回答

最良のバックテストのシャープレシオは1.5で、その試行回数で純粋なノイズから期待される最良のシャープレシオは1.0です。ディフレートしたシャープレシオ(観測値−期待値)はいくつですか。

SRd=SR_d =SRd​=許容:± 0.001
7言葉で説明する15点未回答

多数の検証済み戦略のうち最良のシャープレシオが過大になる理由を2文で説明してください。

数学モードキーボードまたは LaTeX で入力問題1/7 · Ctrl ⏎ で確認

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

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

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