独立した市場リサーチ
相場の雑音より根拠を重視 · リターンより先にリスクを確認
調査ガイド · FXと暗号資産

取引戦略のバックテスト入門:過去への過剰適合を避ける方法

美しい資産推移曲線は、優れた着想の結果かもしれません。しかし検証の誤りでも作れます。情報を知った時点から、実際に注文が約定し得た価格まで、一件ずつ追ってみましょう。

約12分2026年9月28日公開計算を更新 2026年10月1日
問うべきことは、その戦略が実際に売買できる条件でも成り立ったかどうかです。バックテストは過去のシミュレーションであり、口座明細ではありません。収益を見る前に、ルール、当時利用できた情報、取引費用、約定しない場合の扱いを書き出します。
まずここから

1回の取引で「+1R」とは何か

Rは、取引費用を差し引く前に予定した価格変動によるリスクの1単位です。選んだ数量で、10pip先の損切りに達すると$50失うなら、1Rは$50です。費用前に$75得れば+1.5R、価格変動だけで$50失えば−1R。金額の違う取引も同じ尺度で比較できます。

確定したシグナル足の後、EUR/USDを1.1000で買えたと仮定します。口座は$5,000、予定する価格リスクは$50(費用前の口座の1%)。損切り1.0990まで10pip、選んだ数量の1pip当たり損益は$5です。利確目標1.1015までは15pipあります。往復のスプレッド、手数料、スリッページを合わせて1pip($5)と仮定します。次の足での約定も価格も実際に観測したものではありません。

同じ規則で異なる二つの決済
決済価格変動費用前費用$5控除後
目標1.1015+15 pip+$75 / +1.5R+$70 / +1.4R
損切り1.0990−10 pip−$50 / −1R−$55 / −1.1R

仮に勝ちが1件、負けが1件続けば合計+$15、つまり+0.3Rです。予定した損切りでも、費用を含む損失は$55(−1.1R)。価格の窓開けや不利な約定ならさらに増えます。実際に起きた取引の報告ではなく、二つの仮定上の結果です。

自分の数値で計算する

FXでは損切り幅、価格変動、往復費用をすべてpipで入力します。暗号資産なら三つともパーセンテージポイントを使えます。必ず同じ単位にしてください。有利な変動は正、不利な変動は負の数です。金額のリスクは費用前の値を入力します。

暗号資産の例:損切り幅2%、有利な変動+3%、往復費用0.2%なら、(+3 − 0.2) ÷ 2 = +1.4Rです。

予定リスク / 口座1%
費用前の結果+1.5R
費用控除後の結果+1.4R
正味損益 · USD+$70

これは算数の確認用で、ブローカーの取引数量を算出する見積もりではありません。pipの価値や保有額、スプレッド、手数料、スリッページを別途確認してください。損切りを超えた価格で約定し、実際の損失が予定Rを超えることもあります。

01 / 09

反証できる問いから始める

「チャートが強そうなら買う」では再現できません。対象市場、取引時間、足の長さ、シグナル、売買と見送りの条件、数量を特定します。例として、15分足が確定してからシグナルを判定し、次の足で発注します。予定の価格を飛び越えたときの扱いも先に決めます。

結果を見る前に、値動きを想定する理由も記録します。市場が開く時間帯の流動性変化は検証できる仮説ですが、利益の保証ではありません。複数年で確かめてください。負けた後で損切り位置を動かしたなら別の戦略です。旧版と変更理由を保存します。

02 / 09

勝ち取引を数える前に手順を固定する

銘柄、正確な期間、時間帯と夏時間、欠損データ、取引数量、同時保有数、損切りと利確の優先順位、週末や取引所停止時の扱いを書きます。同じ期間のBTC保有や現金など、比較基準も決めます。10種類の設定を試したなら最良の1種類だけを示さないでください。

元データ、ルールの版、固定した日付を残します。不利な年や銘柄、取引を黙って除けば選択バイアスになります。壊れた価格データを事前に定めた基準で外すのは合理的ですが、利益を見た後で除外理由を作ってはいけません。損失も含めて再計算できる形にします。

03 / 09

情報を本来の時系列に戻す

確定した日足終値は翌日の注文には使えますが、同じ足のそれ以前の価格では約定できません。経済指標には公表時刻があり、後日の改定値は初報と異なることがあります。15分足の終値を見て発注するルールで、その足の先ほどの安値を買値にすることはできません。

暗号資産ではUTCなどの時刻基準と週末の扱いを決め、FXではセッションと夏時間の切り替えを確認します。欠損価格、銘柄名の変更、取引停止した資産にも注意が必要です。現在も生き残っているコインだけを過去に遡って選べば、未来の知識を混入させます。

04 / 09

理想的な線ではなく注文を再現する

注文種別、発注時刻、約定条件を指定します。逆指値は指定価格を飛び越えて約定することがあり、指値への一瞬の接触は約定を保証しません。1本のOHLC足に損切りと利確の双方が含まれる場合、細かいデータがなければ順番は不明です。保守的に扱うか、曖昧と明記します。

FXのbid価格だけでは過去のaskも実際に払ったスプレッドも分かりません。取引所の足の始値で全数量が売買できた証拠もありません。仮定を書き、入手できる場合は取引履歴と照合し、未約定も認めます。値動きの激しい局面で常に完璧な約定が続く試算には注意が必要です。

05 / 09

費用で見かけの優位性を試す

これは独自の仮定上の計算であり、市場の過去成績ではありません。100件中52件が費用前に+1R、48件が−1Rなら、52R−48R=+4R、1件平均+0.04Rです。スプレッド、手数料、スリッページを合わせた往復費用が1件0.05Rなら、4R−100×0.05R=−1Rに変わります。

説明用の計算 · 仮の100取引
1取引の往復費用費用控除後の結果
0R+4R
0.02R+2R
0.05R−1R
0.10R−6R

過去の運用成績ではなく、算数の例です。52件がそれぞれ+1R、48件が−1R。Rは費用控除前に予定した1件当たりのリスクです。

勝率は依然52%でも、費用後の期待値はマイナスです。費用が1件0.04Rならちょうど損益ゼロ。表では別の水準も示します。費用を事前に決めたリスクRに対して測り、平常時と混乱時を分けて試してください。1pipの費用は実際の約定履歴が裏付けるまでは仮定です。

06 / 09

検証に使っていない期間を確保する

開発用と評価用を時系列で分けます。前半のデータでルールを作り、後半の未使用期間を測る前に固定します。後半の結果を何度も見て手直しすれば、その期間も開発データになってしまいます。逐次的な再最適化でも、更新日、参照期間、選べる設定を前もって定めます。

未使用期間で良い結果が出ても、それは追加の証拠であって保証ではありません。複数の市場環境、時間帯、銘柄を確認します。たった1か月の突出した利益が長期結果を支配することもあります。次に日付入りの模擬売買記録を付け、想定した約定と費用を観測値と比べます。

07 / 09

最終リターン以外も読む

対象期間、取引件数、勝率、Rで表した勝ち取引と負け取引の平均損益、費用前後の期待値、最大ドローダウン、保有期間、売買回数、適切な比較基準を示します。年別・相場環境別の結果と費用を変えた結果も必要です。最終収益率だけでは、耐えなければならなかった下落を隠します。

少数の取引からは控えめな結論しか出せません。指標発表前後の30件は弱点を示すかもしれませんが、安定した将来利益の証明にはなりません。数件の例外的利益に依存していないか、損失が集中していないか、近い設定でも似た結果になるかを確かめます。

08 / 09

当サイトの3研究とその限界

EUR/USDのロンドン市場ブレイク検証では、15分足のbidデータで550件をモデル化し、往復1pipの費用を仮定しました。次の足でエントリーするルールは検証できますが、実際の約定は観測していません。NFPの32公表日の研究では、費用1.2pipを仮定するとEUR/USDは16件で−1.763R、USD/JPYは22件で−2.236Rでした。

月次のBTC/ETH入替えでは、確定済みの終値から過去90日の収益を比べ、翌始値で手数料を見込んで切り替えます。対象期間の成績は+2,098.14%ですが、最大ドローダウンは−71.48%。上昇の多くは2022年以前でした。特定の条件と期間の結果であり、将来予想ではありません。詳細はサイト内の3研究にあります。

09 / 09

見送る条件を先に決める

資金を使う前に失敗条件を定義します。妥当な費用増加で赤字になる、未使用期間で弱い、下落が許容外、特定の年や銘柄だけに依存する、想定約定と観測約定が大きく違うなどです。棄却した設定も記録し、勝ったものだけの物語にしないでください。

有益なバックテストは、悪い戦略を使わない判断にも役立ちます。証拠がまちまちなら結論を狭め、確認した市場と期間、結果を左右する仮定、考えを変える新データを明記します。あとから検証し直せる判断こそ調査の成果です。

まずここから

自分で試すための6項目

忘れたい損失も含め、すべてのシグナルを記録します。

  1. 01一つの規則を固定し、銘柄、時間帯、対象日、シグナル足、見送り条件を書きます。
  2. 02シグナルを知った時刻と、その後の発注時刻を分けます。シグナル以前の価格で約定させません。
  3. 03注文種別、約定価格、予定する損切りと決済を記録し、未約定の注文も残します。
  4. 04スプレッド、手数料、スリッページを別々に記録し、往復合計を損切り幅と同じ単位に直します。
  5. 05各取引の費用前R=価格変動÷損切り幅、費用後R=(価格変動−費用)÷損切り幅を計算します。
  6. 06後半の未使用期間を見る前にルールを固定し、同じ期間の単純な基準と正味成績・最大下落を比べます。

判断の原則

好成績のバックテストは仮説として扱います。ルールを公開し、選定に使わなかった期間を残し、市場に合う費用を差し引き、単純な基準と比べてください。小さく妥当な条件変更で優位性が消えるなら、頑健性はまだ示せません。

リスクに関する注意

取引と投資には損失の可能性があります。過去や仮定上の結果は将来の収益を保証しません。スリッページ、窓開け、レバレッジ、流動性、税金により実現損益は大きく変わります。この記事は学習用であり、個別の投資助言ではありません。

検証方法に関する一次資料を2件

計算例は当サイトで作成しました。以下の公式資料は、未使用データや生存者バイアス、手数料・スリッページ・約定モデルについて説明しています。仮の戦略の収益性を裏付ける資料ではありません。