バックテストの罠 — 実機検証でしか分からないこと
最終更新: 2026-05-20 | 読了目安: 15分
バックテストで右肩上がりの資産曲線が出ても、それがそのまま将来の利益を約束するわけではありません。バックテストには、現実より成績を良く見せてしまう「罠」がいくつもあります。この記事では、その罠の正体と、罠に引っかからないための実機検証の考え方を解説します。
バックテストが「良すぎる」のはなぜ危険か
バックテストは過去の値動きに対するシミュレーションです。過去のデータは1パターンしかないため、そこに合わせ込めば、いくらでも良い成績を作れてしまいます。これが過剰最適化(カーブフィッティング)です。
さらに、バックテストの設定が現実より甘いと、成績は実態以上に良く出ます。スプレッドを狭く固定したり、約定が必ず希望価格で通ると仮定したり——こうした「現実との差」が積み重なると、バックテストと実運用が大きく乖離します。
モデリング品質とティックデータ
MT5のストラテジーテスターは、設定によって計算の精度(モデリング品質)が変わります。安価な始値ベースの計算では、1本の足の中の値動きが無視され、SLやTPに触れたかどうかが正しく判定されません。
もっとも正確なのは「全ティック(利用可能な最小時間枠による最も正確な方法)」または「実際のティックに基づく全ティック」です。前者の精度はおおむね99.9%と表示されます。スキャルピングなど値幅の小さい戦略ほど、ティック精度の影響を強く受けます。
| 計算モード | 精度 | 用途 |
|---|---|---|
| 始値のみ | 低い | 大まかな傾向の確認のみ |
| 1分足OHLC | 中程度 | 簡易チェック |
| 全ティック | 約99.9% | 公開前の本検証に必須 |
| 実際のティック | 最高 | ブローカー実データでの精密検証 |
見落とされやすい4つのコスト
バックテストでは小さく見えても、実運用では利益を削る要素です。
スプレッドの変動
バックテストは固定スプレッドを使いがちですが、実際のスプレッドは時間帯で変動し、経済指標発表時には通常の5〜10倍に開きます。固定値が狭すぎると、実運用のコストを過小評価します。
スリッページ
希望した価格と実際の約定価格のズレです。バックテストではほぼ無視されますが、相場急変時やスキャルピングでは無視できない損失要因になります。
スワップ(金利調整)
ポジションを翌日に持ち越すと発生する金利コストです。長期保有型のEAでは、スワップの累積が損益を左右します。バックテストのスワップ設定が実際と合っているか確認が必要です。
約定拒否・リクオート
実運用では、注文が通らない・価格を提示し直されることがあります。バックテストでは必ず約定する前提のため、この摩擦は再現されません。
バックテストの罠チェックリスト
バックテスト結果を見るとき、次の点を確認してください。当てはまるほど、数字を割り引いて考えるべきです。
| 確認項目 | 罠の内容 |
|---|---|
| モデリング品質が99.9%未満 | 足の中の値動きが無視され、SL/TP判定が不正確になる |
| スプレッドが固定で狭い | 実際の取引コストを過小評価している |
| 期間が短い(3年未満) | 特定の相場局面しか含まず結果が偏る |
| PFが3.0超・資産曲線が滑らかすぎる | 過剰最適化の疑いが強い |
| 最適化した期間で評価している | 過去への当てはめを実力と誤認している |
| 1つの通貨ペア・1期間だけ | 偶然うまくいっただけの可能性がある |
実機・複数期間で確かめる
バックテストの罠を避ける最善の方法は、「複数の独立した条件で繰り返し検証する」ことです。1回の好成績は偶然かもしれませんが、異なる期間・異なる条件で安定してプラスなら、本物の優位性が期待できます。
複数期間に分けてテストする
10年を3〜4つの期間に区切り、それぞれ単独でプラスかを確認します。1期間だけが突出して全体を支えている場合は注意が必要です。
ウォークフォワード分析で過剰最適化を検出する
最適化に使っていない期間(OOS)で成績が崩れないかを確認します。これが過剰最適化の最も確実な検出方法です。
フォワードテストで実際の相場にさらす
デモ口座で最低3ヶ月稼働させ、実際のスプレッド・スリッページの下で、バックテストの7〜13割の成績を維持できるかを見ます。
🔬 ウォークフォワード分析で過剰最適化を見抜く
バックテストの罠の中でも最も厄介なのが過剰最適化です。ウォークフォワード分析の記事で、その具体的な検出手順を解説しています。
ウォークフォワード分析を読む →