自分を騙さないバックテスト:戦略を正直にテストする方法

正直なバックテストの視覚化
Dark themed split image - left side showing a beautiful but deceptive equity curve with a subtle crack/fracture, right side showing an honest stepped equity curve with realistic drawdowns. Magnifying glass hovering over the transition. Professional trading aesthetic, deep navy background with golden and red accent lighting.

バックテストは嘘をつきます。カーブフィッティング、先読みバイアス、生存者バイアス、非現実的な執行の仮定 - バックテストがあなたを欺く方法はよく文書化されています。

しかし、システマティックトレーディングに真剣に取り組むなら、やはりテストは必要です。問題はバックテストをするかどうかではありません。自分を騙さずにどうやるかです。

ここに本当に機能する方法論があります。


データではなくロジックから始める

1つのテストを実行する前に、なぜあなたの戦略が機能するはずなのかを明確にしてください。

「歴史的に機能したから」ではありません。それは循環論法です。市場に基づいた理由が必要です:機関投資家の行動がこのパターンを作り出す、人間の心理がこの傾向を生み出す、市場構造がこの非効率性を生成する。

ロジックを説明できないなら、あなたはデータマイニングをしています。見つけた「エッジ」はおそらくシグナルに見えたノイズです。

良い基盤:

  • サイクルは資本がアキュムレーションとディストリビューションのフェーズを循環するために存在する
  • 出来高は機関投資家の意図を明らかにするマネーフローのため方向を確認する
  • コンフルエンスは独立したシステムの一致が誤シグナルを減らすため機能する

テストする前に仮説を書き留めてください。これにより、結果に説明を後付けすることを防ぎます。


現実的なコストを組み込む

ほとんどのバックテストは完璧な執行を仮定しています。実際のトレーディングには摩擦があります。

すべてのテストに含める:

  • スプレッド: アスクで買い、ビッドで売る。これを明示的にモデル化する
  • スリッページ: シグナル価格より0.1-0.5%悪い約定を想定する
  • 手数料: 「無料」のブローカーでもSEC手数料やペイメント・フォー・オーダーフローのコストがある
  • マーケットインパクト: あなたの注文は価格を動かす、特に流動性の低い商品では

1取引で0.1%稼ぎ、往復コストが0.15%の戦略は負けです。実際の損失を出す前に今知る方が良いです。


アウトオブサンプルプロトコル

正直なバックテストのための最も重要なテクニック:アウトオブサンプルテスト。

  1. データを分割する。 インサンプル(例えば70%)とアウトオブサンプル(30%)に分ける
  2. インサンプルでのみ開発する。 すべてのテスト、調整、最適化をインサンプルデータで行う
  3. アウトオブサンプルで一度だけテストする。 最終的なシステムができたら、見たことのないアウトオブサンプルデータでテストする
  4. 一度きり。 チャンスは一度だけ。アウトオブサンプルでテストし、調整し、再度テストすると、もはやアウトオブサンプルではない

アウトオブサンプルデータでパフォーマンスが大幅に低下したら、オーバーフィットしています。維持できれば、本物かもしれません。


ウォークフォワード分析

単純なアウトオブサンプルテストよりさらに良いのがウォークフォワード分析:

  1. 期間1で最適化(例えば2015-2018)
  2. 期間2でテスト(2019)
  3. 結果を記録
  4. 期間2で最適化(2016-2019)
  5. 期間3でテスト(2020)
  6. 繰り返す

これは実際にやることをシミュレートします:最新のデータを使って定期的にシステムを再最適化し、その後前方にトレードする。

「テスト」期間が一貫して良好なパフォーマンスを示せば、システムはロバストです。テスト期間のパフォーマンスが最適化期間よりずっと悪ければ、カーブフィッティングをしています。


モンテカルロ現実チェック

バックテストは最大ドローダウン25%を示しています。快適ですよね?

しかしそれは歴史を通る一つの経路に過ぎません。ランダムな変動はもっと悪い結果を生み出し得ました。

モンテカルロ分析は取引の順序をランダム化(または復元抽出)し、数千のシミュレーションを実行します。これにより、同じ取引で異なる順序だった場合に起こり得た結果の範囲がわかります。

異なる運で最大ドローダウンが50%だった可能性があるなら、25%ではなく50%のドローダウンに対してサイジングする必要があります。


結論

バックテストはエッジの証明ではありません。悪いアイデアを反証する方法です - 正直にやれば。

良いバックテストは:

  • 市場に基づいたロジックを持つシンプルなルールを使用する
  • 先読みバイアスと生存者バイアスを避ける
  • 現実的な取引コストを含む
  • 最終検証のためにアウトオブサンプルデータを確保する
  • ウォークフォワードとモンテカルロ分析でストレステストする

目標は美しいエクイティカーブではありません。将来のパフォーマンスの現実的な推定です。これらは非常に異なるものです。

リペイントしないインジケーターは正直なバックテストに不可欠です。テストしているシステムがサイクル分析、ボリュームレジーム検出、モメンタム投票を使用し、すべてがローソク足の終値で確定するなら、履歴レビューはライブで見たであろうものを正確に示します。先読みバイアスなし。ファントムシグナルなし。テストしているものは実際にトレードするものです。


Pentarchのリペイントしないシグナルは正直なバックテストのために設計されています - 履歴で見るものはライブで見たであろうものと正確に同じで、先読みバイアスはありません。

自信を持ってテストする →