未来を知らない自分を作る — ウォークフォワード検証

自動売買 検証記

前回の宿題。ユーロドルの+219pipsが「本物」か「まぐれ」かを、どう見分けるか。

クロちゃんの説明が分かりやすかったので、そのまま書く。

過去問の答えを見ながら、過去問を解いていた

俺がやってきたバックテストは、こういうことだった。

過去2年のチャートを見る。成績が悪い。条件を直す。また同じ2年を見る。ちょっと良くなった。また直す。また同じ2年……。

これはつまり、過去問の答えを見ながら過去問を解いて、「満点や!」と喜んでいるのと同じなのだ。同じ問題を何度も解き直せば、そりゃ点は上がる。だがそれは「その問題」に詳しくなっただけで、本番の試験(=未来の相場)を解く力とは別ものである。

この罠には名前まで付いていた。「カーブフィッティング(過剰適合)」。過去のデータの形に、作戦を無理やり沿わせてしまうこと。バックテストで勝てるBotを作るのは、実は簡単らしい。過去に合わせて磨けばいいだけだから。問題は、未来で勝てるかどうかだ。

解決策: 試験と勉強を分ける

そこで「ウォークフォワード検証」という方法を教わった。仕組みはこうだ。

  1. 過去6年分のデータを用意する
  2. 最初の1年半だけ見て、条件を決める(ここは答えを見ていい。勉強期間だ)
  3. 決めた条件を、その次の半年に適用して成績を測る。この半年のデータは、条件決めには一切使わない。Botにとっては「未来」である
  4. 半年ずらして、2〜3を繰り返す。6年分で8回、試験ができる

新人の収集ドライバーの研修と同じだ。教習コースを何周も走って上手くなるのはいい。だが本当の評価は、初めて走る路地でどうかで決まる。教習コースのタイムを何回計り直しても、それは実力とは言わない。

検証の仕様

言葉だけだと分かりにくいので、実際にどう組んだかを書いておく。

対象:USDJPY / EURUSD / GBPJPY の1時間足
期間:6年分(1通貨ペアあたり約37,000本)
窓の切り方:訓練18ヶ月 → 検証6ヶ月。これを6ヶ月ずつずらして8回繰り返す
訓練期間で決めること:RSIの基準を25/30/35の3通り、ネックラインの有効期限を15/25/40本の3通り、掛け合わせて9通りの中から、その訓練期間で一番成績が良かった組み合わせを選ぶ
除外規則:訓練期間で取引が8回未満しか出ない組み合わせは、サンプル不足なので選ばない
重要な但し書き:訓練期間の終わりに持ち越しているポジションは、成績から捨てる。決済が検証期間にまたがると、未来の値動きが条件選びに漏れてしまうため
検証期間でやること:選んだ組み合わせを、その6ヶ月にそのまま適用して成績を記録するだけ。一切いじらない

要するに、「答えを見た期間」と「答えを見ていない期間」を、時間で完全に切り分ける。そして評価するのは、後者だけである。

窓を1つずらすごとに、Botは新しい「初めて走る路地」に放り込まれる。それを8回。ズルのしようがない。

この方法のいいところと、しんどいところ

いいところは、ズルが効かないことだ。「未来」のデータは条件決めに使っていないのだから、そこで勝てたなら本物の可能性が高い。

しんどいところは……夢が覚める可能性があることだ。ユーロドルの+219pipsが過去問の丸暗記だったのか、実力だったのか。答えがハッキリ出てしまう。

正直、実行ボタンを押すのは少し怖かった。「なあなあ」で済ませて、+219pipsの夢を見続ける手もあった。だが、なんでも「なあなあ」で済ます奴が俺は一番嫌いなのである。自分にだけ甘くするわけにはいかんやろ。

結果は次回。……先に言っておくが、書くのがちょっとしんどい回になる。

ではまた。


【おことわり】この連載は個人の検証記録であり、投資助言ではありません。記事中の数字は2026年7月時点のバックテスト(過去データによる模擬計算)の結果であり、実際の運用成績とは異なります。FXは元本を失うリスクのある取引です。

コメント

タイトルとURLをコピーしました