戦略·用語集

バックテストとは?定義と限界、実運用データとの違い

バックテストは、過去の価格データで売買手法をシミュレーションすることです。何を証明でき、何を証明できないのか、そしてブローカーと同期した実運用の結果がほぼ必ず食い違う理由を解説します。

バックテストとは、過去の価格データを使って売買手法をシミュレーションし、その手法が過去にどんな成績を出せたかを見積もることです。ブローカーに注文を1件も出さないまま、エクイティカーブ、プロフィットファクター、ドローダウンが手に入ります。ただし、これらの出力は手法についての仮説であって、手法の記録ではありません。

仕組み

テスターは過去の足やティックを再生し、1本ごとに手法のエントリーとエグジットのルールを当てはめ、仮想の約定を記録していきます。シミュレーションと現実の差は、すべてコストと約定のモデルに潜んでいます。

1トレードあたりの純損益 = 総損益 − スプレッド − 手数料 − スワップ − スリッページ

スプレッドコスト = スプレッド(価格) × 契約サイズ × ロット数
スワップ         = スワップレート × ロット数 × 持ち越した日数

出力がどこまで正直かは、次の3つの設定で決まります。

  • モデリング品質:MT4とMT5はこれをパーセンテージで表示します。「全ティック(Every tick)」は、実際のティックデータを用意しない限り、1分足から補間した値動きにすぎません。「コントロールポイント」と「始値のみ」はもっと粗い近似で、足の途中で売買する手法ほど成績が大きく水増しされます。
  • スプレッドの前提:ほとんどのテスターは固定スプレッドが初期設定です。実際のスプレッドは、ロールオーバーの時間帯、指標発表時、市場の寄り付きに広がります。多くのシステムが売買するのは、まさにその瞬間です。0.8pipsで計算して実際には4.0pips払っているスプレッドなら、それはもう別の手法です。
  • スリッページと約定ロジック:テスターは、注文が指定した価格どおりに約定する前提で動きます。スリッページ、約定拒否、リクオート、部分約定は、テスターの中には存在しません。

ソフトウェアが報告しない4つめの問題もあります。そのパラメーターの組み合わせ自体が、探索を勝ち抜いたものだという点です。400通り試して一番よいものを残したなら、いま見ている結果は後知恵で選ばれたものです。それがカーブフィッティング(過剰最適化)であり、テストの成績と実運用の成績を隔てる最大の溝です。

なぜ重要か

バックテストは、悪いアイデアを捨てるには最も安上がりな方法で、よいアイデアを裏付けるには最も高くつく方法です。ルールが機械的に矛盾なく動くこと、大まかなコストを見込んでも生き残ること、ドローダウンの形が自分に耐えられる程度であることは確かめられます。しかし、優位性(エッジ)が存在することは確かめられません。使うデータはすべて再構成されたもので、使うパラメーターはすべてデータを見たあとで選ばれたものだからです。

資金の預け先を決める立場なら、バックテストは候補をふるい落とす道具として使ってください。不合格は出せても、合格の証拠にはなりません。

実データから見えること

ShowMyTradesには1万以上の口座の公開ページがあり、その土台には15,436,464件の同期済み取引があります(2026年8月時点)。シミュレーションは1件もありません。この件数に含まれる取引はすべてブローカーで約定し、ブローカーから読み取ったものです。

公開されている口座の大半は自動売買で、自動売買の割合は中央値で99%、53.9%の口座が自動化率90%超、42.2%が10%未満です。自動売買の部分は、ほとんどが資金を入れる前にバックテストを済ませた手法です。公開口座全体で見ると、プロフィットファクターの中央値は1.28、シャープレシオの中央値は0.05です。テスターのレポートが実際に競っていた相手は、この数字です。

シミュレーションが最も過小評価しやすいのはコストですが、ここでは想定ではなく実際の請求額がわかります。$4,782,670が手数料、$862,547がスワップとして請求され、スワップが発生している口座の86.3%は差し引きでスワップを支払う側です。ポジションを翌日に持ち越す手法なのにスワップをゼロにしたバックテストは、「少し楽観的」なのではありません。繰り返しかかる費用が丸ごと抜けているのです。

固定スプレッドでスワップなしのテスターは、3つのうち2つを見落としています。

ShowMyTradesで確認できる場所

口座とは決して混ぜず、専用のセクションに置かれます。MetaTrader 4、MetaTrader 5、cTraderのストラテジーテスターのレポートをアップロードすると、BACKTESTと明記したページとして公開できます。改ざんの兆候がないかがチェックされ、トレーダープロフィールの別タブに並びます。認証バッジは一切付かず、ウィジェット、公開口座を探すページ、ポートフォリオ、Developer APIにも出てきません。シミュレーションは運用実績ではないからです。これに対して口座ページはすべて、ブローカーから読み取り専用で同期されています。上の数字がモデル上の取引ではなく、実際に約定した取引を表しているのはそのためです。

バックテストが隠しているものを明らかにするのは、次のモジュールです。詳細統計の手数料合計とスワップ合計は、手法の本当のコストを口座通貨で示します。ターミナルパネルは取引サーバーへのPingとパケット再送を表示し、実際の約定がどんな条件のもとで得られたかを教えてくれます。そして取引履歴と残高推移の決済済み取引タブには、執行された注文が1件ずつ、テスターが与えたであろう価格ではなく、実際に約定した価格で並びます。

運用実績認証済みバッジ(65口座)と取引権限認証済みバッジ(264口座)は、ブローカーからページまでのつながりが、自己申告ではなく実際に確認された記録の目印です。

よくある誤解

  • 「全ティックで検証したから正確だ」:ティックモデリングで改善されるのは価格の経路であって、約定ではありません。ブローカーのスプレッド、執行、約定拒否は、相変わらず抜け落ちたままです。
  • 「10年分のデータでテストした」:期間の長さは独立性ではありません。1つの相場環境が支配していた10年間は、2,500回ではなく1回の観測です。
  • 「最適化したパラメーターは3つだけ」:3つのパラメーターをそれぞれ20通り試せば、8,000回の実験になります。8,000回の実験の勝者は、仕組み上、ある程度は運で勝っています。
  • 「デモのフォワードテストで裏付けが取れた」:デモサーバーは約定が甘く、注文を拒否することもありません。デモの結果は2回目のシミュレーションであって、最初の実運用テストではありません。

テスト結果であれ実運用であれ、成績の数字を信じる前に、宣伝されるトレード成績を検証する完全ガイドをひととおり確認してください。

関連用語