バックテストが右肩上がりでも信用してはいけない理由|ランダムデータで検証した結果と、EAを疑う4つの手順

シリーズ「AIで自作のEAを作る」第3回

バックテストで右肩上がりの資産曲線が出た。プロフィットファクターも1を超えている。これは信用していいのでしょうか。

結論から書きます。それだけでは、何の証拠にもなりません。利益の源泉が存在しないデータでも、同じ形は作れるからです。

この記事では、それを実際に検証した結果と、自分のEAが本物かどうかを確かめる4つの手順をまとめます。

検証:利益が取れないことが保証されたデータで、EAを最適化する

検証用に、6000本ぶんの価格系列を乱数から生成しました。方向性を持つ動きも、値が跳ね返る水準も、意図的に一切埋め込んでいません。設計上、そこから抜き出せる利益はゼロです。

この系列に対して、第1回で作った移動平均クロスEAを走らせます。短期側と長期側の期間を機械的に振り、987通りの設定を全数評価しました。

結果1:この戦略は、そもそも負ける

項目
987通りの平均損益−88.5
中央値−77.8
プラスになった組み合わせ79通り(8%)

ノイズを移動平均で追いかければ、往復ビンタで削られます。負けるのが当然の結果です。

結果2:それでも「勝てる設定」は必ず見つかる

項目
最良パラメータ短期59 / 長期110
損益+97.5
プロフィットファクター1.02
取引回数50回

この数字だけを見せられたら、多くの人が「悪くない」と判断すると思います。中身はただの乱数です。

たまたまその乱数の形が良かったわけでもありません。独立した乱数データを8本用意して同じことをすると、8本すべてで「勝てる設定」が見つかりました。

独立したランダムデータ8本すべてで勝てるパラメータが見つかった結果
独立した乱数データ8本。青が251通り全体の平均、金色がその中の最良。平均が沈んでいる系列でも最良は必ず大きくプラスになる。

注目すべきは左側の青い棒です。系列によっては全体平均が−270まで沈んでいます。それでも右側の金色、つまり選び抜いた1通りは +185。母集団が負けていることと、そこから勝ちを取り出せることは、両立します。

なぜこうなるのか

これは相場の性質ではなく、数の性質です。

候補を1000近く並べれば、その端には極端な成績のものが必ず現れます。母集団が大きくなるほど、裾は伸びる。統計として当たり前の挙動です。

そして最適化という作業は、まさにその裾の一点を拾い上げる行為です。拾い上げた成績が優位性に由来するのか、単に裾だったのか——成績そのものを眺めていても、この2つは判別できません。

統計の世界では多重比較の問題として知られています。何百回も検定すれば、偶然「有意」になるものが出てくる。それと同じ現象が、パラメータ最適化でも起きています。

自分のEAを疑う4つの手順

では、当たりくじではないことをどう確かめるのか。順番に効く4つを挙げます。

1. アウトオブサンプル検証:最適化に使っていない期間で回す

これが最優先です。手持ちの期間を分けて、前半だけで最適化し、後半には一切触らずに取っておく。決まったパラメータを後半にそのまま当てて、成績が保たれるかを見ます。

先ほどの検証でも同じことをしています。選ばれた設定を、生成し直した別系列30本にそのまま適用した結果です。

最良パラメータを別のランダムデータ30本に当てた結果
最良パラメータ(短期59/長期110)を別の乱数データ30本に適用。平均−39.1、プラスは13本。最適化時の+97.5には遠く届かない。
最適化したデータ別データ30本
損益+97.5平均 −39.1
プラスの割合13/30本

一歩外に出た瞬間に、ほぼコイン投げに戻ります。本物であれば、ここまで落ちません。落ちたなら当たりくじです。

2. パラメータの周辺を見る:崖か、高原か

最良パラメータのを確認してください。短期59が良かったなら、57や61でも同じように良いか。

  • 周辺も同じくらい良い(高原)→ 何らかの実体がある可能性がある
  • そこだけ突出して隣は崖(ピーク)→ ほぼ確実に偶然

本物の優位性は、パラメータを少し動かしたくらいでは消えません。1だけずらすと崩壊するなら、それはデータの形にはまり込んでいるだけです。


このEAも記事も、AIと一緒に作っています。私はプログラマーではありません。MT5のEAもインジケーターも、今回の検証プログラムも、Claude(AI)と対話しながら作っています。コードが書けなくても、作りたいものを言葉にできれば形になります。無料でも使えるので、同じように「作る側」に回ってみたい方は、こちらから試せます。

https://claude.ai/referral/sWCPCcvVWQ

※紹介リンクです。


3. 取引回数を確認する:少ないほど当てにならない

取引20回で勝率70%と、取引500回で勝率55%では、後者のほうがはるかに信用できます。回数が少ないほど、偶然でその成績になる確率が上がるからです。

今回の最良パラメータの取引回数は50回でした。50回という数字は、偶然でこの程度の成績が出るには十分すぎる少なさです。

4. 乱数データをベンチマークにする

今回やったことを、そのまま自分のEAでもできます。

  1. 自分のEAの最適化結果(最良の損益やPF)を記録する
  2. 同じ本数の乱数データを作る
  3. 同じパラメータ範囲で、同じ総当たりをする
  4. 乱数で出た最良と、実データで出た最良を比べる

実データの成績が乱数の成績と同程度なら、そのEAは相場から何も取れていません。「プラスかどうか」ではなく「乱数より明確に上か」で判断する——これが基準になります。

検証コード自体を疑う

もうひとつ、見落とされがちな落とし穴があります。検証コードにバグがあると、負ける戦略が聖杯に化けます。

とくに多いのが先読みです。ポジションを決めた時点より前の値動きを損益に含めてしまうと、未来を見て売買したことになり、成績が異常に良くなります。

見分け方は簡単です。「ランダムに売買するだけ」の戦略を同じコードで回してください。損益がゼロ付近にならなければ、コードのどこかが壊れています。

結果が良すぎるときは、まず自分のコードを疑う。これはAIにコードを書かせる場合、とくに重要になります。

この検証は再現できます

この記事の数字は、次の条件で出しています。乱数系列は6000本(シード20260824)、グリッドは短期3〜59を2刻み × 長期15〜200を5刻みの987通り。アウトオブサンプルはシード900〜929の別系列30本、独立8系列はシード7000〜7007です。
なお、この数字はスプレッドも手数料もゼロで算出しています。片道2pipsを入れると、平均は−88.5から−90.6、プラスの組み合わせは79通りから77通り、最良は+97.5から+96.5。ほとんど変わりません。
検証に使ったPythonスクリプトは、全文をnoteの記事に載せています。コピーして実行すれば、上の数字がそのまま再現できます。

まとめ

見るもの当たりくじの兆候
アウトオブサンプル別期間で成績が大きく落ちる
パラメータの周辺最良の隣が崖になっている
取引回数数十回しかない
乱数ベンチマーク乱数データの最良と大差ない
検証コードランダム売買の損益がゼロにならない

EAを組めるようになった先にあるのは、華やかな作業ではありません。自分が出した数字を潰しにかかるという、地味で反復的な工程です。ここを省略した時点で、そのEAは運用資産ではなく賭け札になります。

実験の全記録はnoteに書きました

この記事は手順に絞りました。乱数チャートをどう作り、987通りをどう回し、途中でどんなバグを踏んだのか——その過程をそのまま書いた記事をnoteに公開しています。

乱数で作ったニセのチャートでEAを987通り試したら、ちゃんと「勝てる設定」が見つかった(note)

※シリーズの過去回はこちらです。

第1回:プログラムが書けない私が、AIと30分で「移動平均線だけのEA」を作った全記録
第2回:AIに「お世辞を言うな」と書いたら、EA作りが進むようになった話


使用ブローカー

MT5を使うには口座が必要です。私が使っているのはExnessです。口座開設はこちらから。

https://one.exnessonelink.com/a/frbss95cj4

お問い合わせ

公式LINE:https://lin.ee/9yDXJ19
メール:ea-designer-kuu@hashibito-llc.com

免責事項

本記事は情報提供および技術解説を目的としたものであり、投資勧誘を目的としたものではありません。本記事の検証は乱数で生成したデータによるものであり、特定の相場や商品の将来を示すものではありません。本記事で紹介するEAおよび検証手順は学習用のものであり、収益を保証するものではありません。バックテストの結果は将来の成果を保証しません。FX・CFD取引には元本を割り込むリスクがあります。取引の最終判断はご自身の責任で行ってください。

EA Designer Kuu

EAデザイナー空(くう)

EAデザイナー空(くう)と申します。 裁量トレード歴20年。 EA歴17年です。 現在はEA開発販売をメインにインジケーター開発販売や裁量トレード教室なども手掛けております。 EAは国内外のブローカーで使用することができます。 ブローカーやペア通貨を変更するたびに最適化が必要です。

コメント

この記事へのコメントはありません。

最近取引している口座はこちら
私が使用しているお勧めVPS
私が使っている海外口座はここ↓
ブログをメールで無料購読

メールアドレスを記入して無料購読すれば、更新をメールで受信できます。

最新情報はLINEで
友だち追加
国内口座のEAはこちら
最近の記事
Contact us
おすすめ記事1
海外口座でダントツ出金が早い!
海外FXの老舗
PAGE TOP