ウォークフォワードテストとは、過去データで最適化 → その後の未知データで検証という流れを繰り返すテスト手法です。
例えば以下のように進めます。
- 2018〜2020年でパラメータ最適化
- 2021年でフォワード検証
- 次に2019〜2021年で再最適化
- 2022年で検証
これをスライドさせながら繰り返すことで、“そのEAが本当に未来でも通用するのか”を疑似的に検証するのが目的です。
単なるバックテストとの違いは明確です。
- バックテスト:過去に対する最適化結果
- ウォークフォワード:未来に対する耐性チェック
ここを理解していないと、ほぼ100%遠回りします。
なぜバックテストだけでは足りないのか?
理由はシンプルで、バックテストは「答えを見ながら調整している状態」だからです。
いわゆる過剰最適化(オーバーフィッティング)が発生します。
よくあるパターンがこれです。
- PF1.8、DD5%、勝率60%
- 見た目は完璧
- しかしフォワードで即崩壊
これは「その期間にだけ最適化されたEA」です。
つまり、相場に適応したのではなく、過去データにフィットしただけ。
ここを見抜くためにウォークフォワードが必要になります。
バックテストの見極め方はこちらをご参照ください。
実体験:3つのEA開発で気づいたこと
ここはかなり重要なので、実体験ベースで話します。
EA-Labはこれまでに3つのEAを作っていますが、正直に言うと最初の2つはウォークフォワードを軽視して失敗しています。
実際の開発過程はこちら。
①1つ目のEA(バックテスト信者時代)
- PF1.6前後
- DDも低い
- 「これはいける」と思って実運用
→結果:数週間で崩壊
原因は明確で、特定の相場だけに最適化されていたこと。
ウォークフォワードをやっていれば一発で気づけるレベルでした。
②2つ目のEA(多少改善)
- 最適化範囲を広げる
- 期間も伸ばす
- 一見ロバストに見える
→結果:じわじわ負ける
ここで初めて気づいたのが、「バックテストで広く取るだけでは意味がない」ということ。
未来データで崩れるなら、それは再現性がないということです。
③GENESIS(現在の考え方)
ここで初めて本格的にウォークフォワードを導入しました。
やったことはシンプルで、
- 最適化期間と検証期間を明確に分ける
- スライド検証を複数回行う
- フォワードで崩れるロジックは即捨てる
この結果どうなったかというと、「バックテストの数値は多少落ちても、安定性は段違いに上がる」これが一番の収穫でした。
フォワードテストの具体的な見方はこちら。
ウォークフォワードで見るべきポイント
ウォークフォワードはやればいいわけではなく、見るべきポイントが重要です。
①フォワード期間のPF
バックテストではなく、フォワード期間でPF1.1〜1.3以上あるかを重視します。
ここがマイナスなら即アウトです。
②ドローダウンの一貫性
- バックテストだけ低DD → 意味なし
- フォワードでも同程度 → 有効
つまり、リスクの再現性があるかを見ます。
③取引回数
取引回数が少ないと、ウォークフォワードの信頼性が一気に落ちます。
目安としては、
- 各期間で最低30〜50トレード
これを満たさない場合、たまたま勝った可能性が高いです。
ウォークフォワードをやらない人の共通点
経験上、やらない人には共通点があります。
- バックテストの数値に依存している
- 「良さそう」で判断している
- 検証が面倒
ただ、これははっきり言えます。
ウォークフォワードを避ける=実運用で損失を払うだけです。
検証をサボると、そのツケはリアルマネーで来ます。
EA開発で一番重要なのは「未来に通用するか」
EAは過去を当てるゲームではありません。
重要なのは一つだけです。
未来で勝てるかどうか。
そのためにやるべきことは、
- バックテスト → 仮説
- ウォークフォワード → 検証
- フォワード運用 → 実戦
この順番を崩さないことです。
まとめ
- バックテストだけではEAの価値は判断できない
- ウォークフォワードは「未来耐性」を見るための必須工程
- 実際の開発でも、ここを入れるかどうかで結果は大きく変わる
そして一番重要なのは、「良い数値」ではなく「崩れない構造」を作ること。
これができて初めて、EAは運用できるものになります。