EA

バックテストとリアルは同じ形か

EAを使う人が最も多く口にする不信は、「バックテストは美しいのに、実際に動かすと違う」です。

この不信は、多くの場合「バックテストとリアルの数字が一致しない」ことから生まれます。ですが、そもそもバックテストとリアルの数字は一致しません。実際の取引にはスプレッドの変動と約定の滑りが必ず乗るからです。だから本当に確かめるべきは「数字が合うか」ではなく、資産の増え方が同じ"形"をしているかです。

このページで配布している BT⇔フォワード乖離チェッカー は、その「形が一致しているか」を、あなたのブラウザだけで確かめるための無料ツールです。インストールも会員登録も要りません。

このツールは何か

バックテストのレポートと、実際に動かした口座の履歴を読み込ませると、2本の損益曲線を重ねて表示し、形がどれだけ一致しているかを数値で示します。

  • MT4・MT5の両方に対応(レポートの種類は中身から自動で判別します)
  • ブラウザで開くHTMLファイル1枚。MT4/MT5にインストールするものではありません
  • 自分のEAでも、他人が公開しているEAでも、レポートさえあれば同じように確認できます
  • 結果は画像(PNG)・HTMLレポート・CSVで保存できます

ひとつ、検証ツールとして最も大事な点を先に書きます。

このツールは通信を一切行いません。 読み込んだレポートは、あなたのパソコンの中だけで処理されます。取引履歴という繊細なデータをどこにも送信しないよう、外部への通信をそもそも持たない設計にしています。不安な場合は、インターネット接続を切った状態で開いても、まったく同じように動きます。計算のしかたはHTMLの中にJavaScriptとして書かれているので、何をしているか読むこともできます。

どんな場面で便利なのか

このツールは、次のような場面で「実物のデータ」を根拠に判断するために使えます。

  • 自分が使っているEAが、バックテストどおりに動いているかを確かめたいとき。数ヶ月動かした口座履歴と、同じ期間のバックテストを突き合わせれば、リアルが想定の範囲で動いているかが見えます
  • 他人が公開しているEAを買う・使う前に、配布されているバックテストと、公開されている実績(フォワード)が同じ形かを確かめたいとき
  • コピートレードやシグナルを選ぶときに、宣伝されている過去成績と実運用の乖離を自分の目で見たいとき

いずれも共通するのは、「誰かの『大丈夫です』という言葉」ではなく、レポートという一次データで判断できることです。

使い方

使い方は2通りありますが、道具は同じものです。

準備するのは、レポート2つだけです。

  1. バックテストのレポート:ストラテジーテスターでバックテストを実行し、結果を HTML形式で保存します(MT5は「バックテスト」タブ、MT4は「操作結果」タブを右クリック→レポートの保存)
  2. 実運用(フォワード)のレポート:ターミナルの「口座履歴」タブを右クリックし、期間を選んで HTML形式で保存します(MT4は「詳細レポートの保存」)

あとは、ツールの①の枠にバックテスト、②の枠に口座履歴をドラッグ&ドロップするだけです。2つとも読み込むと、自動で結果が表示されます。ファイルの中身から種類を判別するので、どちらの枠に入れても構いません

突き合わせを正しく行うコツ

  • できるだけ実運用と同じ期間・同じ設定でバックテストを回してください(長い期間のバックテストしかない場合は、重なっている期間だけを自動で切り出します)
  • ブローカーが違うと、スプレッドやスワップの差がそのまま乖離として出ます。できるだけ実運用と同じブローカーでバックテストしてください
  • 口座通貨をそろえてください。バックテストはストラテジーテスターの都合でUSD建て、実口座はJPY建て、という食い違いが起こりえます。この場合は金額の比較が意味を持ちません(通貨が違うことを検出すると、画面に警告が出ます)

実例:旧BBFのリアルとバックテストを突き合わせる

言葉だけでは伝わりにくいので、当サイトが実際に使っている例をそのまま出します。

当サイトが以前から提供してきたMT4向け無料EA「BBF」を、実際の口座で1年半ほど動かした履歴(207取引)と、同じEA・同じ通貨ペア(USDCHF)・同じ期間のバックテストを、このツールで突き合わせたものです。

旧BBF(USDCHF)の実口座とバックテストを乖離チェッカーで突き合わせた結果。2本の損益曲線がほぼ重なり、形の一致度の乖離は2.4%、取引数の差は2.5%(想定内)。
旧BBF(USDCHF)の実口座とバックテストを乖離チェッカーで突き合わせた結果。2本の損益曲線がほぼ重なり、形の一致度の乖離は2.4%、取引数の差は2.5%(想定内)。

青い線がバックテスト、オレンジの線が実運用です。2本がほぼ同じ道のりを描いているのが見て取れます。数字で見ると、こうなりました。

指標結果目安の判定
形の一致度(正規化した乖離)2.4%(0%で完全一致)✓ 想定内
取引数の差+2.5%(200 → 205)✓ 想定内
1取引あたりの損益差+12705.8%✕ 要調査

(数字の関係を補足します。実際の口座には207件の決済がありますが、上の表はバックテストと期間が重なる区間だけを切り出して突き合わせた結果です。「取引数の差 200 → 205」は、その重なる区間でバックテスト側が200件、実運用側が205件を対象にしたことを表しています。期間の外にある取引は比較から外れます。)

ここで大事なのは、わざと「都合の悪い数字」も残していることです。「1取引あたりの損益差」だけが桁違いに大きく、赤(要調査)になっています。

これは、このEAが変な動きをしたからではありません。バックテストがUSD建て、実口座がJPY建てだったためです。1ドルがおよそ150円という為替のスケールの差が、そのまま損益差の%に出てしまっただけです。ツールはこの通貨の食い違いを検出して「金額の比較は意味を持ちません」と警告を出します。

つまりこの1枚は、「金額(数字)は条件が違えば簡単にズレる。だから形で見るのだ」ということと、「ツールがその食い違いをちゃんと弾く」ことを、同時に示しています。取引の回数(+2.5%)と曲線の形(乖離2.4%)は通貨の影響を受けないので、この2つが揃っていることが、実運用がバックテストとほぼ同じ形で動いていたという判断の根拠になります。

なぜ「数値」ではなく「形」で見るのか

もう一度、最初の話に戻ります。バックテストとリアルの数字は一致しません。もし「バックテストとリアルが完全に一致した」と主張するEAがあれば、むしろそちらを疑ってください。

では何を見るのか。増え方の傾き・下げる場面・そこからの回復のしかた——この形が同じように動いていれば、そのEAはリアルでもバックテストどおりの性能を発揮している、と判断します。金額が1円単位で合うことより、同じ形で資産が増えているかの方が、使う人にとって意味のある問いだからです。

この考え方は、当サイトが自社のMT5専用EA「BBF_Cycle」の検証でも使っている判定方法そのものです。検証をどう設計し、実データをどう突き合わせているかは BBF_Cycle公開検証レポート で随時更新しています。このツールは、その検証で当サイト自身が使っている道具を、そのまま配布しているものです。

なお、EAそのものの選び方(フォワード実績・検証条件の開示・ドローダウンの明示など)については MT5の無料EAはどこで手に入る?入手先と選び方 にまとめています。このツールは、そこで挙げた「フォワード実績を自分で確かめる」を実際に手を動かして行うための道具、という位置づけです。

判定の色分けについて(誤解を避けるために)

画面に出る「想定内/要確認/要調査」の色は、目安であって、合否の判定ではありません

前述のとおり、通貨が違うだけで「要調査」の赤が出ます。色だけを見て「このEAはダメだ」と早合点しないでください。見るべきは、増え方の形がそろっているか、取引の回数が近いか、そして赤が出たならその理由(通貨・期間・ブローカーの違いなど)で説明がつくか、です。判定に使うしきい値は、画面上で自由に変えられます。納得できる基準は人によって違うため、こちらで固定していません。

逆に、赤の理由が通貨や期間の違いで説明できず、しかも曲線の形そのものが途中から大きく離れていく、あるいは取引の回数がかけ離れている——そういうときは注意が必要です。その区間でEAが想定と違う動きをしている可能性があります。次の手として、突合データをCSVで書き出して該当期間の取引を1件ずつ確認する、期間や設定をそろえてバックテストを回し直す、といった切り分けに進んでください。今回の旧BBFの例のように形がきれいに重なるとは限りません。崩れている箇所を見つけるためにこそ、この道具を使ってください。

制限事項

  • MT4・MT5のレポート(HTML形式)に対応しています。Excel形式やPDFには対応していません
  • 最大ドローダウンは決済が確定した時点の残高で計算するため、MT4/MT5のレポートに載る「最大ドローダウン」(含み損の最大値)とは定義が異なります(バックテストと実運用の両方を同じ基準で計算するので、突き合わせには問題ありません)
  • スワップ・手数料はレポートに記載された値をそのまま使います

よくある疑問

Q. ダウンロードしないと使えませんか?
A. いいえ。上の「ブラウザでそのまま使う」から、ダウンロードせずにその場で使えます。取引データをネットに繋がず扱いたい方のために、手元に保存してオフラインで使う選択肢も用意しています(保存しても機能は同じです)。

Q. 読み込んだ取引データは、どこかに送信されますか?
A. 送信しません。このツールは外部への通信を一切持ちません。接続を切った状態でも同じように動くことで確認できます。

Q. 他社のEAの検証にも使えますか?
A. 使えます。バックテストのレポートと実運用のレポートさえ手元にあれば、EAの提供元を問わず同じように突き合わせられます。対応するのはMT4/MT5で書き出したレポートです(シグナルの実績も、MT4/MT5の口座履歴レポートとして保存できれば同じように扱えます)。

Q. バックテストとリアルの数字が合わないと、そのEAはダメですか?
A. 数字は条件が違えば必ずズレます。ダメかどうかは「形」で見てください。形が大きく崩れている、取引の回数がかけ離れている、という場合に初めて中身を疑います。

※ 本ツールおよび本記事は情報提供を目的としたものであり、特定の売買や投資判断を推奨するものではありません。ツールの判定は目安であり、投資成果を保証・示唆するものではありません。EAの利用はご自身の判断と責任で行ってください。

運営者ishizuka
FX自動売買EAの開発者。自作EA「BBF」をMQL5公式マーケットで販売、2020年7月からリアルトレードを継続公開中(公式X @tokyo_ea_jp)。本サイトでは無料EAの検証・MT4/MT5の実用情報を発信しています。
当サイトの情報は正確性の確保に努めていますが、将来の成果を保証するものではありません。FX取引は元本を保証するものではなく、投資判断はご自身の責任でお願いします。