統計検証&過学習対策

Deflated Sharpe Ratio (DSR) と OOS 摩耗管理による過剰適合フィルタリング

検証する組み合わせの数が増えるほど偶然による高シャープレシオが発生しやすくなります。DSR と OOS 摩耗指標による客観的な補正方法を説明します。

読了目安 7 分 · 更新日: 2026-11-13

エンジニアリング要点

  • 数百通りの検証する組み合わせを探索すると、ランダムな相場でも見かけ上の高シャープレシオが選ばれやすくなります。
  • Deflated Sharpe Ratio は累積試行回数 N・負の歪度(Skewness)・尖度(Kurtosis)を同時に補正します。
  • OOS 摩耗トラッキングにより、同一データセットでの繰り返し選別によるアウトオブサンプル汚染を防ぎます。

1. パラメータ探索における多重比較バイアス

200〜1,000 通りのパラメータを検証して最良の曲線だけを採用すると、試行回数 N の対数に応じた選択バイアスが生じます。

生のシャープレシオや勝率だけで判断すると、過去データへの曲線当てはめ(カーブフィッティング)を見逃す原因になります。

2. 歪度・尖度と試行回数を組み込んだ DSR の仕組み

DSR は試行回数 N から帰無仮説下の期待最大値 SR_0 を算出し、観測されたシャープレシオがテールリスク考慮後でも有意かを判定します。

コツコツ勝って稀に大きく負ける負の歪度を持つ戦略は、DSR によって厳しく割り引かれます。

3. 未汚染の OOS 期間と 2倍スリッページ検証

同じ OOS 期間を何度も見て候補を選び直すと、OOS 自体が実質的な学習データへと変質します。

OOS 100 トレード以上とスリッページ 2 倍での複数期間確認を組み合わせることが重要です(なお過去の結果は将来の成績を保証しません)。

数式・検証プロトコル
SR_0 ≈ sqrt(Var(SR)) * ((1 - gamma) * Z^-1(1 - 1/N) + gamma * Z^-1(1 - 1/(N*e)))
DSR = Phi( (SR_obs - SR_0) * sqrt(T - 1) / sqrt(1 - skew*SR_obs + ((kurt - 1)/4)*SR_obs^2) )
目安: OOS 100 トレード以上 + スリッページ 2 倍でプラス維持

よくある技術的な質問

OOS トレード数が 100 未満のときスコアに「?」が付くのはなぜですか?

100 トレード未満では統計的な標本誤差が大きく、一時的な偏りと本来の安定性を区別しにくいためです。

DSR が高ければライブ運用でも必ず利益が出ますか?

いいえ。いかなる統計指標も将来の利益を保証しません。過去データ上の選択バイアスを抑えるための客観指標としてご活用ください。

関連する技術ガイド

ご自身の MT5 ティックデータで検証する

ログイン後、CSV / Parquet ヒストリカルデータのインポート、または内部合成データ DEMOFX でお試しいただけます。