バックテスト基礎
OOSテストの考え方——過剰最適化を見抜く基本技術
公開 2026.06.16最終確認 2026.06.16
バックテストのPFが1.8。微調整で2.0にした。「いいEAができた」——ちょっと待ってほしい。
そのPF2.0は過去データに合わせた結果で、未来で同じ数字が出る保証はない。OOS(Out of Sample)テストは、この偽のPFを見抜くための基本技術。
結論
OOSテストの手順:
- 期間を「最適化期間(IS)」と「検証期間(OOS)」に分ける
- IS期間でパラメータを最適化する
- OOS期間で、その結果を確認する
- OOSのPFがISのPFの70%以上を維持しているか確認する
分割例(5年データ):
- IS: 2021年1月〜2024年6月(3.5年)
- OOS: 2024年7月〜2025年12月(1.5年)
OOSが大きく劣化しているなら、ISでの最適化は過剰フィットしている。
なぜEA運用で重要か
最適化は「過去への説明力を上げる作業」。EA運用で必要なのは「未来への予測力」。
OOSテストは、最適化の結果が説明力なのか予測力なのかを判別する、最も基本的な方法。
仕組み・条件
ウォークフォワードテスト
OOSをさらに進めた手法。データを複数のIS/OOS区間に分け、連続的にテストする。
|----IS1----|--OOS1--|
|----IS2----|--OOS2--|
|----IS3----|--OOS3--|
各OOS区間を連結すると、全期間のOOS結果が得られる。単一分割より信頼性が高い。
MT5での手順
MT5に自動実行機能はないため手動で行う。
- 期間をISに設定して最適化する
- 最適パラメータをメモする
- 期間をOOSに変更し、そのパラメータでテストする
- OOSのPFを記録する
- 区間をずらして繰り返す
判定基準
| OOS PF / IS PF | 判定 |
|---|---|
| 70%以上 | 合格。ロバスト性がある |
| 50〜70% | 要注意。パラメータ感度を追加チェック |
| 50%未満 | 不合格。過剰最適化の可能性が高い |
| OOS PFが1.0未満 | 不合格。ISでしか機能していない |
バックテストやリアル運用で壊れるポイント
- OOSをせず最適化結果を信じる → 過剰最適化のEAをリアル投入
- OOS期間が短すぎる → OOS結果自体の信頼性が低い
- IS/OOS分割を何度もやり直す → 分割を「最適化」している(二重最適化)
- OOSが良かったパラメータだけ選ぶ → OOSの意味が消える
どう確認するか
- データを IS 70% / OOS 30% に分割する
- ISで最適化し、OOSで検証する
- OOS PF / IS PF が70%以上か確認する
- 可能ならウォークフォワード(3区間以上)を行う
- 分割位置を変えても結果が安定するか確認する
自分の検証スタンス
最適化したEAは必ずOOSを通す。OOSで崩れるEAは、最適化のPFがどれだけ高くても使わない。
ウォークフォワードまでできれば理想だが、手間がかかるため、最低でもIS/OOS一回分割は行う。
参照した公式情報
- 公式情報不要(統計的検証手法に基づく解説)
免責
本記事は個人の検証メモであり、投資助言ではありません。統計的検証は過去データに基づく手法であり、将来の成績を保証するものではありません。