バックテスト用語
ウォークフォワード / アウトオブサンプル
ウォークフォワードテストは、過去のある期間のデータで戦略を調整し、その後、一度も見たことのない次の期間のデータでその有効性を盲目的に証明することを強制します。フィットした期間のノイズを記憶しただけで、市場に対応していないエッジは機能しません。
ウォークフォワードテストは、過去のある期間のデータで戦略を調整し、その後、一度も見たことのない次の期間のデータでテストし、その期間を時間とともに前方に移動させます。ある期間のデータでフィットさせ、その直後の期間のデータで盲目的にテストします。その期間をトレーニングセットに組み込み、次に続く期間のデータで盲目的にテストします。このプロセスを、期間が現在に到達するまで繰り返します。
アウトオブサンプルこそが本質です。もしエッジが本物であれば、最適化ツールがパラメータを選択する際に参照できなかったデータでも機能します。もしフィットさせた期間のデータでしか機能しないのであれば、それはノイズを記憶してルールと呼んでいるに過ぎません。これは、本物のルールと偶然の一致を区別するための検証であり、ほとんどの公開されたバックテストが結果を悪く見せるためスキップするものです。
ウォークフォワードなしでは、戦略はただ一つの基準、つまり調整された過去の曲線に適合すればよいことになります。十分な数のパラメータ、ここでのストップ、そこでのフィルター、魔法のようなルックバック期間を追加すれば、ほとんどどんなエクイティカーブでも上昇させることができます。これらの調整は、最適化ツールが一度も触れていない期間でも機能する必要はありません。ウォークフォワードはそれを強制します。
私たちは、調整から除外された期間と金融商品でテストを行い、戦略が調整された期間ではなく、13年間のCME先物および実際のビッド/アスクを含むティックレベルのFXデータに対して、その除外された期間を適用します。テストの前に答えを見る必要がある戦略は、予測ではありません。それは暗唱です。
インサンプルでの適合は完璧だが、ウォークフォワードで破綻するシステムは、通常、偽装された過剰最適化であり、十分なバリエーションを試した結果、ノイズに一致するものが偶然見つかった適合です。このリスクは、試行される追加の構成ごとに増大し、これはまさに多重検定が修正する問題です。プラセボテストは、エントリーがランダムにシャッフルされた場合でもエッジが存続するかどうかという、関連する問題を別の角度から検証します。ウォークフォワードは、代わりに時間が経っても存続するかどうかを問います。
本物のエッジはその点で面白みに欠けます。誰もフィットさせていないデータに対しても機能し続け、存続のために新たな調整ラウンドを必要としません。機能し続けるために絶え間ない再調整が必要なルールは、決してルールではありませんでした。それは追いかけられていた曲線に過ぎません。
この背景にある研究
- López de Prado (2018). “Advances in Financial Machine Learning.” Wiley. — バックテストの過剰最適化、交差検証、およびこの種のホールドアウトテストにおけるデータリークの回避に関するLópez de Pradoの標準的な参考文献。
- Bailey, Borwein, López de Prado & Zhu (2014). “Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance.” Notices of the AMS 61(5). — 十分なパラメータ構成を試すことで、実際のエッジがゼロであっても見栄えの良いバックテストがいかにして作り出されるかを示しており、これはウォークフォワードが防ぐべきまさにその罠です。
- Harvey, Liu & Zhu (2016). “…and the Cross-Section of Expected Returns.” Review of Financial Studies 29(1). — 十分な数の要因をマイニングした後、本物と呼ぶための基準が急激に高まる必要があることを示しており、これはアウトオブサンプルテストを動機付ける多重検定の論理です。
外部の研究であり、文脈とさらなる読書のためにリンクされています。FoxAlgoは独立しており、これらの著者や出版社とは提携していません。
これらはThe No Listの背後にある用語です — すべての戦略と指標が名前を挙げられ、その評価と、それが生き残ったか死んだかの正確な理由が示された完全な監査です。
The No Listを入手 →