ウォークフォワード分析(ウォークフォワードぶんせき、英: Walk-Forward Analysis)は、主に金融市場における投資戦略やトレーディングシステムの検証に用いられる手法である。過去のデータの一部を用いて戦略のパラメータを調整した後、その調整に使用していない、その後の期間のデータで戦略を検証する。この「最適化」と「検証」のプロセスを時系列に沿って繰り返し、複数の検証期間における結果を統合して戦略の性能や安定性を評価する。
ウォークフォワード分析では、最適化に使用していないデータによる検証(アウト・オブ・サンプル・テスト)を繰り返し行う。これにより、過去のデータに過度に適合した戦略が、その後の未知のデータに対しても有効に機能するかを評価することができる。ロバート・パルド(Robert Pardo)の著書では、トレーディング戦略の最適化、検証、評価の過程における手法として扱われており、同書には「Walk-Forward Analysis」と題する独立した章が設けられている。
概要
トレーディングシステムでは、過去の市場データを利用して売買ルールやパラメータを調整し、その結果を検証することがある。しかし、同じデータを使ってルールの調整と性能の評価を繰り返すと、過去のデータに適合するように戦略が作られ、未知のデータでは性能が低下することがある。このような問題は過剰適合(オーバーフィッティング)と呼ばれる。
ウォークフォワード分析では、この問題を考慮し、戦略を調整するための期間と、調整後の戦略を評価する期間を分ける。
例えば、ある期間の市場データを「最適化期間」と「検証期間」に分ける。最適化期間のデータを使って売買ルールのパラメータを決定した後、その直後にある検証期間のデータを使って、決定したルールがどの程度機能したかを調べる。その後、期間を未来へずらし、再び最適化と検証を行う。この処理を繰り返すことで、複数の異なる期間について、最適化に使用していないデータによる検証結果を得ることができる。
手順
典型的なウォークフォワード分析では、以下のような処理を行う。
過去の市場データから、一定の期間を最適化用のデータとして設定する。 そのデータを用いて、トレーディングシステムのパラメータを最適化する。 最適化に使用していない、その後の一定期間のデータを用いてシステムを検証する。 検証結果を記録する。 最適化期間と検証期間を時系列の未来へ順次ずらしていく(ローリングさせる)。 移動後のデータを用いて再び最適化と検証を行う。 複数の検証期間について得られた結果をまとめ、システムの性能や安定性を評価する。
例えば、10年間の市場データを用いる場合、最初の5年間を最適化期間、その直後の1年間を検証期間とすることができる。その後、期間を1年ずつ未来へずらし、同じ処理を繰り返す。
+ 検証期間のイメージ 最適化期間 検証期間 2016年 ~ 2020年 2021年 2017年 ~ 2021年 2022年 2018年 ~ 2022年 2023年 2019年 ~ 2023年 2024年 2020年 ~ 2024年 2025年
この場合、2016年から2020年までのデータを使って決定したパラメータを2021年のデータに適用して評価する。次の段階では2017年から2021年までのデータを使って再びパラメータを決定し、2022年のデータで評価する。このように、時系列に沿って「最適化→その後の期間で検証」という処理を繰り返すことが、ウォークフォワード分析の基本的な考え方である。
バックテストとの関係
バックテストは、過去の市場データを用いて、ある投資戦略を過去に実行していた場合にどのような結果になったかを検証する方法である。CFA Instituteは、バックテストを歴史的な環境において投資戦略を検証する方法として説明している。
ウォークフォワード分析も過去の市場データを用いるため、広い意味ではバックテストの枠組みの一つとして扱われることがある。CFA Instituteは、ローリングウィンドウによるバックテストについて、「rolling-window (or walk-forward) framework」と表現し、一定期間のデータを用いて投資戦略のパラメータやシグナルを調整した後、その後の期間の性能を追跡する方法として説明している。
一方、トレーディングシステムに関する専門文献では、ウォークフォワード分析を、最適化に使用していないアウト・オブ・サンプル期間での検証を時間をずらしながら繰り返す方法として説明することがある。Pardoはウォークフォワード分析について、最適化に使用したデータとは異なるアウト・オブ・サンプルのデータを用いてトレーディング性能を評価し、未知の価格履歴に対して戦略が有効であるかを調べる方法として説明している。
したがって、バックテストとウォークフォワード分析は完全に独立した概念というより、バックテストという広い検証の枠組みの中で、時間順にデータを区切り、最適化とアウト・オブ・サンプル検証を繰り返す方法がウォークフォワード分析として用いられると考えることができる。
インサンプルとアウト・オブ・サンプル
ウォークフォワード分析を理解するうえでは、インサンプル(in-sample)とアウト・オブ・サンプル(out-of-sample)の区別が重要である。
インサンプルは、トレーディングシステムの構築やパラメータの調整などに使用するデータである。 アウト・オブ・サンプルは、その調整に使用せず、調整後の戦略を評価するために用いるデータである。
両者の関係は、次のように整理できる。
区分 主な用途 インサンプル トレーディングシステムの構築やパラメータの調整に使用 アウト・オブ・サンプル 調整に使用せず、調整後の戦略の性能を評価するために使用
ウォークフォワード分析では、この組み合わせを時間を進めながら複数回作るため、単一の検証期間だけではなく、複数のアウト・オブ・サンプル期間における性能を調べることができる。
過剰適合との関係
トレーディングシステムの開発では、過去のデータに対して非常に良好な結果を示すようにパラメータを調整すると、未知のデータでは性能が低下することがある。このような過剰適合は、トレーディング戦略の検証における問題の一つである。
ウォークフォワード分析では、各段階で最適化に使用していない期間を検証に使用するため、最適化に使用したデータだけで戦略の性能を評価する場合と比較して、未知の期間に対する性能やパフォーマンスの劣化を確認しやすい。Pardoのウォークフォワード分析の章では、過剰適合、ロバストネス、ウォークフォワード・エフィシェンシー(WFE)などが関連する論点として扱われている。
ただし、ウォークフォワード分析を行ったからといって、将来の利益や戦略の有効性が保証されるわけではない。CFA Instituteは、バックテストには過去のデータに含まれる情報だけに依存するという限界があり、将来の市場環境が過去と同じになるとは限らないことを指摘している。また、バックテストではルックアヘッド・バイアスやサバイバーシップ・バイアスなどにも注意する必要があるとしている。
最適化期間と検証期間
ウォークフォワード分析では、どの程度の期間を最適化に使用し、どの程度の期間を検証に使用するかが重要になる。
Pardoは、ウォークフォワード分析の目的の一つとして、最適化ウィンドウの大きさや、戦略を再最適化する周期を決定することを挙げている。
最適化期間や検証期間の長さは、分析対象となる市場や時間軸、戦略の性質などによって異なる。そのため、特定の期間設定がすべてのトレーディングシステムに適しているわけではない。
利点と限界
利点 最適化に使用していない期間で戦略を評価できる。 複数の時期におけるアウト・オブ・サンプル性能を確認できる。 時系列の経過に伴う戦略の性能変化を評価する材料となる。 実際の運用を時間順に再現する形で検証しやすい。
限界 最適化期間や検証期間の設定によって結果が変わり得る。 過去の市場環境が将来も再現されるとは限らない。 過去データを用いた検証であるため、実際の取引で発生するすべての要因を再現できるわけではない。 バックテストと同様に、データの選択や分析方法によってはバイアスが生じる可能性がある。
したがって、ウォークフォワード分析の結果だけをもって将来の運用成績を保証するものではなく、結果をその前提条件や検証方法とともに評価する必要がある。
歴史
ウォークフォワード分析は、トレーディングシステムの設計・検証に関する著作で知られるロバート・E・パルド(Robert E. Pardo)によって体系的に紹介された手法として知られている。
パルドの1992年の著書 Design, Testing, and Optimization of Trading Systems が刊行され、その後、同書を改訂・拡充した The Evaluation and Optimization of Trading Strategies が刊行された。後者はWileyから刊行され、第11章が「Walk-Forward Analysis」に充てられている。
日本語では、パルドの著書の翻訳版『アルゴリズムトレーディング入門――自動売買のための検証・最適化・評価』が刊行されており、同書には「第11章 ウォークフォワード分析」が設けられている。
また、日本語のアルゴリズムトレーディング関連書籍にも、ウォークフォワードを扱う章が設けられている。例えば『アルゴリズムトレードの道具箱』では、「遺伝的最適化、ウォークフォワード、モンテカルロスタートトレード分析」という章が設けられている。
脚注
関連項目 システムトレード アルゴリズム取引 バックテスト 過剰適合 時系列分析 数理最適化
参考文献 Robert Pardo, The Evaluation and Optimization of Trading Strategies, John Wiley & Sons, 2012, ISBN 978-0-470-12801-5. ロバート・パルド『アルゴリズムトレーディング入門――自動売買のための検証・最適化・評価』パンローリング、2010年、ISBN 978-4-7759-7134-5。 『アルゴリズムトレードの道具箱 : VBA、Python、トレードステーション、アミブローカーを使いこなすために』パンローリング、2017年、ISBN 978-4-7759-7220-5。 CFA Institute, Backtesting & Simulation, 2026 CFA Program Curriculum.