頑健性検証

ウォークフォワード分析とは?過学習を避ける株価戦略検証

株価戦略を学習期間と検証期間に分け、未来情報を使わず順次評価するウォークフォワード分析、PBO、DSRの考え方を解説します。

ウォークフォワード分析過学習バックテストPBODSR

この分析で分かること

ウォークフォワード分析は、過去だけでルールを選び、その直後の未知データで採点する操作を時間順に繰り返します。全期間を見て最適化する通常のバックテストより、本番運用に近い劣化を観察できます。

分析方法

  1. 時系列を学習窓と、その直後の検証窓へ分けます。
  2. 学習窓だけで候補ルールの選択やパラメータ最適化を行います。
  3. 選ばれたルールを変更せず、次の検証窓へ適用します。
  4. 窓を前へ進め、全検証窓の成績、選択の安定性、劣化率を集計します。

数式と変数

サンプル外劣化率

D=1SOOSSISD=1-\frac{S_{OOS}}{S_{IS}}

S_ISは学習内、S_OOSはサンプル外の評価値です。符号や尺度が同じ指標で比較します。

Sharpe比

SR=rˉrfsrASR=\frac{\bar r-r_f}{s_r}\sqrt{A}

r_fは期間対応の無リスク収益、s_rはリターン標準偏差、Aは年率換算係数です。

過学習確率の概念

PBO=Pr(学習内の勝者がサンプル外で中央値未満)PBO=\Pr(\text{学習内の勝者がサンプル外で中央値未満})

学習内ランキングの勝者が未知データでどれだけ失敗するかを確率で要約します。

用語の定義

学習内(IS)
ルールやパラメータを選ぶために使用した既知データです。
サンプル外(OOS)
選択には一切使わず、固定済みルールの採点だけに使うデータです。
PBO
最適化で選んだ勝者が、未知データでは凡庸または劣位になる確率の推定です。

直感的な例

2016〜2020年で曜日ルールを選び、2021年だけで採点します。次に2017〜2021年で選び直し、2022年で採点します。各年の未知期間をつないだ成績が、運用時に近い評価系列になります。

結果の読み方

  • 学習内とサンプル外がともに良好で、窓を変えても結論が安定しているかを見ます。
  • 学習内だけ突出し、サンプル外がゼロ近辺なら過学習を疑います。
  • 平均成績だけでなく、各窓の分布と最悪窓を確認します。

投資への活用

  • 戦略の採用・不採用を決める最終関門として使います。
  • 再最適化の頻度と、パラメータが安定して使える期間を推定します。
  • 候補数を記録し、DSRやPBOと合わせて選択バイアスを開示します。

限界と注意点

  • 窓長や更新頻度の選択自体も最適化すると、上位レベルの過学習が生じます。
  • サンプル外期間が短いと検出力が不足し、良い戦略も区別できません。
  • 過去の逐次検証であり、将来の制度変更や流動性変化までは保証しません。

実際の株価データで確認する

トヨタ自動車を例に、該当パネルを開きます。移動後に銘柄・期間・入力系列を変更できます。

ウォークフォワード分析を実データで見る

本ページは分析手法の理解を目的とした情報提供です。将来の価格や利益を保証するものではなく、 特定銘柄の売買を推奨するものではありません。