「完璧な右肩上がり」は危険信号 〜バックテストとフォワードの乖離を生むオーバーフィッティングの罠〜
バックテストで見る、非の打ち所のない右肩上がり。
ドローダウンも浅く、PFも高く、勝率も安定。
しかし――
フォワード成績は似ても似つかない。
この現象は、決して珍しくありません。
その最大の原因は、
**オーバーフィッティング(過剰最適化)**です。
■ 閉じた相場で作られた「正解」
バックテストとは、
過去という答えが分かっている世界
です。
その中でパラメータを調整し続ければ、
どんなロジックでも「美しい曲線」は作れます。
しかしそれは、
-
過去専用のルール
-
特定期間専用の設定
-
特定ボラティリティ専用設計
になっている可能性が高い。
未知の市場(ライブ口座)では、その優位性は消えます。
なぜフォワードで崩れるのか
理由はシンプルです。
市場は常に変化する。
バックテストは「閉じた相場」。
フォワードは「未知の相場」。
閉じた相場に過度にチューニングされたモデルは、
未知のデータでは耐えられません。
その結果、
-
想定外のドローダウン
-
勝率の低下
-
PFの急落
が起こります。
頑健性(ロバスト性)こそ最重要課題
システムトレードで本当に重要なのは、
最大利益ではなく、
壊れないこと。
多少相場が変化しても機能する設計。
それが「ロバスト性」です。
オーバーフィッティングを防ぐ具体策
1. アウトオブサンプル(OOS)テストの徹底
データを
-
インサンプル(学習用)
-
アウトオブサンプル(検証用)
に分割。
学習に使っていないデータで
同様の成績が出るかを確認します。
ここで崩れるなら、その戦略は脆弱です。
2. パラメータの最小化と単純化
パラメータが多いほど、
過去に合わせ込むのは簡単になります。
例:
-
移動平均クロス
-
ブレイクアウト
-
ボラティリティ基準
シンプルで理解できるロジックほど、
長期的に安定します。
複雑さは優位性ではありません。
3. ウォークフォワード分析
[学習 → 検証 → 期間を前に進める]
を繰り返す手法。
相場の変化に適応しつつ、
直近特化型になりすぎない設計を作ります。
静的最適化ではなく、
動的検証です。
4. モンテカルロシミュレーション
-
取引順序をランダム化
-
一部データを除外
-
数千パターンを生成
特定の「美しい順番」に依存していないか確認します。
本当に強いロジックは、
順序が崩れても生き残ります。
5. 現実的なコストの組み込み
バックテストでは、
-
スプレッド
-
スリッページ
-
手数料
を厳しめに設定。
ライブ成績低下の主因は、
ほぼここです。
6. パラメータ安定性の確認
例:移動平均20日が最適。
→ 19日や21日にずらしても成績は維持できるか?
少しのズレで崩れるなら、
それは過剰最適化の可能性が高い。
安定しているパラメータ帯を選ぶこと。
「ライブはバックテストより悪い」が普通
重要なのは、この認識です。
ライブ成績はバックテストに劣る。
これが自然。
バックテストより良くなることを期待するのは危険です。
綺麗な右肩上がりは目指さない
実運用で生き残るEAは、
-
多少のドローダウンがある
-
カーブが滑らかすぎない
-
成績が適度にブレる
完璧ではない。
しかし、壊れない。
結論
バックテストの美しさは、
未来の保証ではありません。
目指すべきは、
最大化ではなく、
頑健性。
多少の相場変化でも壊れない設計。
それこそが、
長生きする自動売買システムの条件です。






