過去データを区切って検証する|ウォークフォワード分析の考え方
著者:FOREX EXCHANGE株式会社 監修:株式会社トリロジー

EAのバックテストでは、過去データの一部で設定を調整し、別の期間でその設定を確かめる方法があります。これを時間の流れに沿って繰り返すのが、ウォークフォワード分析です。

単にデータを一度分けるだけでなく、調整と確認の組み合わせを先へ進めながら、異なる時期でも同じ傾向が見られるかを確認します。本記事では、基本的な進め方、結果を見るときの注意点、フォワードテストとの違いを解説します。

ウォークフォワード分析は時間順に検証を繰り返す方法

ウォークフォワード分析では、過去データを前後の期間に分けます。前の期間でEAの設定を調整し、その結果を使って直後の期間を確認します。次に、期間を先へ移して同じ手順を繰り返します。

調整に使う期間は「インサンプル」、調整結果の確認に使う期間は「アウトオブサンプル」と呼ばれます。

ここでいうアウトオブサンプルは、検証を行う時点から見た実際の未来データではありません。すでに存在する過去データのうち、その回の設定選びには使わずに残しておいた後続期間です。

重要なのは、時間の順序を守ることです。原則として前の期間で調整し、その直後の期間で確認します。後の期間の情報を、前の時点で行う設定の選択に混ぜないようにします。

調整用と確認用の期間を分ける理由

一つの過去データ全体を使って設定を調整し、同じデータだけで成績を評価すると、その設定を選んだ影響まで結果に含まれます。

そのため、良い成績がEAの売買ルールの特徴によるものか、特定期間の偶然の値動きに合う設定を選んだためなのかを分けにくくなります。

調整に使っていない後続期間で確認することで、設定を選んだ期間とは異なるデータでも、取引の傾向が再現されるかを見ます。

ただし、インサンプルとアウトオブサンプルに一度分けるだけでは、確認できる時期が一つに限られます。ウォークフォワード分析では、期間を前へ進めながら複数の後続期間を確認します。

基本的な進め方

ウォークフォワード分析は、一般的に次のような流れで進めます。

1.調整する内容と確認する指標を決める

最初に、売買ロジック、調整対象とするパラメータ、候補の選択に使う指標を決めます。純利益だけでなく、最大ドローダウン、取引回数、損益のばらつきなど、何を確認するかを先に整理します。

後続期間の結果を見てから、都合のよい調整対象や選択基準へ変更すると、検証結果の意味が変わります。

パラメータの基本については、「EAのパラメータとは?設定値が売買ルールに与える影響」で解説しています。

2.インサンプルで設定候補を比較する

前の期間を使い、あらかじめ決めた条件に従って複数の設定候補を比較します。

この段階で選ばれた設定は、そのインサンプル期間のデータを基に選ばれたものです。成績が良かったことだけで、別の時期でも同じ結果になるとは判断できません。

3.設定を固定してアウトオブサンプルを確認する

インサンプルで選んだ設定を変更せず、直後のアウトオブサンプル期間でバックテストします。

ここでは、後続期間の結果を見たうえで設定を選び直さないことが重要です。各アウトオブサンプル区間には、その区間より前の情報だけで選ばれた設定の結果を使います。

4.期間を先へ進めて同じ手順を繰り返す

インサンプルとアウトオブサンプルの期間を先へ移し、再び調整と確認を行います。

この作業を繰り返すことで、一つの時期だけではなく、複数の相場局面における確認結果を得られます。

5.各確認期間と全体の推移を見る

最後に、それぞれのアウトオブサンプル区間の結果と、それらを時間順に並べた全体の推移を確認します。

一部の期間だけを選ぶのではなく、損失となった期間や取引が少なかった期間も含めて見ます。

期間の動かし方には複数の考え方がある

期間の進め方には、代表的にローリング方式とアンカー方式があります。

ローリング方式では、調整期間の長さを一定に保ちながら、開始日と終了日をともに先へ移します。古いデータが順次外れ、比較的新しい一定範囲のデータで設定を選ぶ形です。

アンカー方式では、調整期間の開始日を固定し、終了日を先へ伸ばします。検証が進むにつれて、設定選びに使う過去データが蓄積されます。

どちらが一律に優れているとはいえません。EAの特性、想定する調整方法、確認したい内容によって、期間の使い方は変わります。

また、調整期間と確認期間の比率、期間を移動させる幅、評価指標などにも、すべてのEAへ共通して当てはめられる一律の合格基準はありません。

結果は区間ごとに確認する

ウォークフォワード分析の結果を見るときは、全期間の累計損益だけでなく、各アウトオブサンプル区間を分けて確認します。

確認する項目には、純利益、最大ドローダウン、取引回数、連敗、損益曲線、インサンプルとアウトオブサンプルの成績差などがあります。

一部の区間の大きな利益だけで全体の成績が支えられている場合は、ほかの区間でどのような結果だったかも確認します。反対に、ある区間がマイナスだったことだけで、EAの有効性が自動的に失われたと判断できるわけでもありません。

取引回数が少ない区間では、その成績だけから傾向を判断しにくい場合があります。どの相場環境が含まれ、判断できるだけの取引が行われているかも併せて見ます。

区間ごとに選ばれたパラメータの変化も確認します。選ばれる値が毎回大きく変わる場合は、設定が特定期間の値動きに依存していないかを確認します。一方、同じ値が続くことだけで、将来の安定性が証明されるわけでもありません。

検証手順そのものを合わせすぎない

ウォークフォワード分析を使っても、過剰最適化の問題がなくなるわけではありません。

期間の区切り方、移動幅、調整するパラメータ、候補の選択基準、評価指標を何通りも試し、結果を見た後で最も良かった方法だけを採用すると、検証手順そのものを過去データへ合わせ込む可能性があります。

また、一度アウトオブサンプルの結果を確認し、その結果を見ながらロジックや検証方法を修正すると、その期間の情報は次の開発判断に使われます。以後、その区間を完全な未使用データと同じように扱うことはできません。

どの期間を使い、何を調整し、どの基準で設定を選んだかを記録し、結果と対応させることが重要です。

過剰最適化の基本については、「EAの過剰最適化を知る|好成績のバックテストで確認したいこと」をご覧ください。

MT4でも考え方は共通する

ウォークフォワード分析は、MQL5や特定の分析ツールだけに限定された考え方ではありません。

MT4でも、ストラテジーテスターで対象期間を分け、前の期間で設定候補を比較し、設定を固定して次の期間をテストする手順を繰り返すことで、同じ考え方に沿った確認ができます。

ただし、期間の設定方法、試行結果の保存、複数区間の集計など、具体的な作業方法は使用する環境やツールによって異なります。

結果を比較するときは、通貨ペア、時間足、価格データ、スプレッド、初期資金、ロット設定などの条件も確認します。

実際の更新方法と検証の前提を合わせる

ウォークフォワード分析では、各区間で設定を選び直す手順が使われることがあります。この結果は、一定間隔でEAを再調整する運用を想定した検証といえます。

一方、完成時の設定を変更せずに使うEAでは、区間ごとに設定を更新した結果と、固定設定で運用した場合の成績を区別する必要があります。

公開されたウォークフォワード分析を見る場合は、各区間の日付、調整対象、選択基準、選ばれた設定、確認期間の成績が対応しているかを見ます。

良かった区間だけでなく、すべての確認区間が示されているか、途中でロジックや検証方法が変わっていないかも確認します。

フォワードテストとは役割が異なる

ウォークフォワード分析は、すでに存在する過去データを時間順に分けて行うバックテスト上の検証です。

これに対し、フォワードテストは、EAの開発後に進行する相場で取引結果を記録します。実際の注文処理、スプレッドの変化、約定条件など、過去データ上の検証だけでは再現しきれない点を確認できます。

そのため、ウォークフォワード分析はフォワードテストの代わりではありません。開発段階の検証を別の角度から補う方法として位置づけます。

フォワードテストについては、「フォワードテストとは?EA選びで確認したい実運用データ」で解説しています。

将来の有効性を保証する方法ではない

複数のアウトオブサンプル期間で似た傾向が確認できれば、一つの期間だけで調整と評価を行った結果よりも、異なる時期での動きを確認できます。

ただし、分析に使ったデータはすべて過去のものです。過去に含まれていない相場環境、取引コストや約定条件の変化、売買ロジックと市場構造の関係までは確定できません。

ウォークフォワード分析を行ったこと自体が、EAの優劣、安全性、将来の利益を示すものでもありません。

結果を見るときは、期間の分け方、各区間の取引回数、設定の変化、ドローダウン、検証条件、実際の更新方法などを組み合わせて確認します。

まとめ

ウォークフォワード分析は、過去データを時間順に調整用と確認用へ分け、期間を先へ進めながら検証を繰り返す方法です。

同じデータだけで調整と評価を完結させず、設定を選んだ期間とは異なる後続期間で結果を確認できる点に意味があります。

一方、期間の区切り方や評価方法を結果に合わせれば、検証手順そのものが過去データへ適合する可能性があります。分析を行えば将来の有効性が保証されるわけでもありません。

各区間の条件と結果、パラメータの変化、取引回数、ドローダウン、実際の運用方法を対応させ、ほかの検証結果と併せて確認することが基本です。

FEAT 3.0のサービス内容については、「FEAT 3.0サービス紹介ページ」をご覧ください。

→ 関連用語をさらに詳しく知りたい方はこちら:用語集(https://www.forex-exchange.co.jp/support/vocabulary)
→ よくあるご質問はこちら:FAQ(https://www.forex-exchange.co.jp/support/faq/)

監修:株式会社トリロジー
金融商品取引業 近畿財務局長(金商)第372号
一般社団法人 資産運用業協会 022-00269

https://www.trgy.co.jp/

本記事は、株式会社トリロジーの監修を受け、FOREX EXCHANGEが表示するものです。なお、監修会社である株式会社トリロジーは、EAナレッジ全体の監修を行っております。本記事は一般的な技術解説を目的としており、個別のEAの推奨や投資助言を行うものではありません。本記事で示す内容は過去のデータおよび一般的傾向に基づく参考情報であり、個別のEAの優劣や将来の運用成果を保証するものではありません。EAを利用したFX取引では、元本を割り込む損失が生じる場合があります。お取引にあたっては、契約締結前交付書面および約款を十分にご確認ください。