EAを選ぶとき、あなたは何を見ていますか?
多くの人が最初に見るのはバックテストの結果です。
PF3.0、月利50%、DD5%以内。
こういった数字が並んでいると、つい「このEAは良さそうだ」と思ってしまいます。
しかし実際にEAを開発してきた立場から言うと、バックテストだけでEAを判断するのは非常に危険です。
EA-LabではGENESIS・凜・AXISという3つのEAを開発してきましたが、どのEAもバックテストと実運用の間には必ずギャップがありました。
このギャップを埋めるのがEA検証です。
この記事では
- EA検証とは何か
- バックテストとフォワードテストの違い
- 検証で見るべき指標
- EA-Labでの実際の検証プロセス
を、開発者の実体験をもとに解説します。
そもそもEA検証とは何か
EA検証とは、EAが本当に機能するかどうかを確認するプロセスです。
EAはプログラムなので、作った瞬間から動きます。
しかし「動く」と「稼げる」は全く別の話です。
検証をせずにEAを実運用した場合、
- 想定外のドローダウンが発生する
- バックテストとまったく違う動きをする
- 相場環境が変わった途端に機能しなくなる
こういったリスクがそのまま資金に直撃します。
だからこそEAは必ず検証してから運用するというプロセスが重要なのです。
検証の流れは大きく2段階です。
- バックテスト(過去データで検証)
- フォワードテスト(リアル相場で検証)
この2つをセットで行うことが、EA検証の基本です。
バックテストとは
バックテストとは、過去の相場データを使ってEAの動作をシミュレーションするテストです。
MT5のストラテジーテスターという機能を使い、数年分の過去データに対してEAを走らせることができます。
数秒〜数分で結果が出るため、ロジックの方向性を確認するには非常に便利です。
バックテストでわかること
- PF(プロフィットファクター)
- 最大ドローダウン
- 取引回数・勝率
- ロジックの有効性
バックテストの限界
ただしバックテストには大きな落とし穴があります。
過剰最適化(カーブフィッティング)の問題
パラメータを調整すれば、過去データに対してだけ異常に良い結果を出すEAは簡単に作れます。しかしそのEAは過去の相場に最適化されているだけで、未来の相場では機能しません。
GENESIS開発でもこの問題に直面しました。フィルター条件を1つ追加するたびにバックテストのPFが改善しましたが、期間を分割して検証すると特定の期間だけ極端に成績が良く、その期間を除くとPFが大きく下がるケースが何度もありました。「改善しているつもりが過去データへの過剰適応になっていた」という経験です。こういった条件は最終的に不採用にしました。
実運用との乖離
実運用では以下の要素が発生しますが、バックテストではこれらを完全に再現できません。
スプレッドの変動・約定のズレ・スリッページ・スワップコスト。これらが積み重なることで、バックテストと実運用の成績に乖離が生じます。特にスキャルピング系・高頻度系のEAはこの影響を大きく受けます。
特定の相場環境への依存
バックテスト期間が短いと、その期間の相場環境にたまたま合っていただけのEAが「優秀」に見えることがあります。EA-Labでは10年バックテストを基準にしています。10年という期間にはトレンド相場・レンジ相場・金融危機・急激な政策変更など様々な環境が含まれており、この多様な環境を経た結果として初めて信頼性のある数値が得られます。
つまりバックテストはあくまでロジックの方向性を確認する手段であり、EAの実力を判断するものではありません。フォワードテストと必ずセットで使うことが前提です。
バックテストの具体的な見方についてはこちらで詳しく解説しています。
過剰最適化の詳細はこちら。
フォワードテストとは
フォワードテストとは、EAをリアルタイムの相場で動かして検証するテストです。
バックテストが「過去の再現」であるのに対し、フォワードテストは未来の相場に対する実力テストです。
| 項目 | バックテスト | フォワードテスト |
|---|---|---|
| データ | 過去データ | リアルタイム |
| 目的 | ロジック検証 | 実力確認 |
| 期間 | 数秒〜数分 | 数ヶ月〜数年 |
| 信頼性 | 低〜中 | 高 |
フォワードテストに必要な期間
フォワードテストは最低3〜6ヶ月、理想は1年です。
短期間では相場環境が偏るため、EAの本当の実力が見えません。トレンド相場・レンジ相場・ボラティリティが高い局面など、様々な相場環境を経験させることで初めて信頼性が確認できます。
EA-Labの実体験
GENESIS開発でも、バックテストでは安定していたロジックがフォワードに入った途端に想定外の問題が出ました。
- 想定より取引回数が少ない
- スプレッドの影響を受ける局面がある
- 特定の相場環境でDDが増える
こういった問題はバックテストでは見えません。フォワードテストで初めて発見できる問題です。
EA-Labでフォワードテストが最大の壁と感じているのはこのためです。
フォワードテストの詳細と見方はこちら。
検証で見るべき3つの指標
バックテスト・フォワードテスト両方に共通して確認すべき指標が3つあります。
①プロフィットファクター(PF)
PFとは総利益÷総損失で計算される指標です。
1.0以上で利益が出ている状態、EA-LabではPF1.2前後を目安にしています。
注意すべきはPFが高すぎるEAは過剰最適化の疑いがあるという点です。PF3.0や4.0といった数字は、現実の相場では再現できないケースがほとんどです。
②最大ドローダウン(DD)
最大DDとは資産が最も減少した時の割合です。
資金管理に直結する指標で、EA-LabではDD10%以内をひとつの基準にしています。
DDが大きいEAは、精神的にも資金的にも長期運用が難しくなります。
③取引回数
意外と見落とされがちな指標です。
取引回数が少ないと統計的な信頼性が低くなります。
例えばフォワード3ヶ月で取引回数が10回しかないEAのPFが1.5だったとしても、それは信頼できる数字とは言えません。サンプル数が少なすぎるからです。
EA-Labでは月間20回前後の取引回数を目安にしています。
3つの指標のバランスについて詳しくはこちら。
EA-Labでの実際の検証プロセス
EA-LabでGENESIS・凜・AXISを開発する中で確立した検証プロセスを整理します。
ステップ①:ロジック設計
まずトレードルールを言語化します。GENESISであれば「BOXブレイクアウト」、凜であれば「時間帯アノマリー」、AXISであれば「トレンドフォロー」です。
ここで重要なのは「説明できないロジックはEA化しない」という原則です。なぜそこでエントリーするのか、なぜそこで決済するのかを言葉で説明できないロジックは、過剰最適化になりやすい。この原則を守ることで、フォワードでも再現性のあるロジックに絞り込めます。
ステップ②:バックテスト
ロジックをEA化し、10年以上の長期バックテストを実施します。確認するのはPF・DD・取引回数のバランスです。
EA-Labではどれか1つだけ良くても合格にしません。PFが高くてもDDが大きければ長期運用が難しい。取引回数が少なければ統計的な信頼性が低い。3つのバランスが取れているかを重視します。
この段階で重要なのは「良い結果を出すこと」ではなく「過剰最適化になっていないか確認すること」です。期間を分割してどの期間でも一定のPFが出ているかを確認することで、特定期間への過剰適応を見抜けます。
ステップ③:フォワードテスト
バックテストで基準を満たしたEAをリアル相場で動かします。最低3〜6ヶ月、理想は1年以上です。
フォワードテストで必ず出てくる問題への対応が、EA開発で最も時間がかかる部分です。GENESISではバックテストで安定していたロジックがフォワードに入るとダマシの影響を想定より受けました。凜では祝日前後の挙動に問題が出て対策ロジックを検討しましたが、過剰最適化リスクが高いと判断して不採用にしました。AXISではロット可変方式でDDが不安定になり、固定ロットに変更しました。
3つのEAに共通しているのは「フォワードに入って初めて見えてくる問題が必ずある」という点です。バックテストでどれだけ良い結果が出ても、フォワードなしにEAの実力は判断できません。
ステップ④:継続的な運用とモニタリング
フォワードで基準を満たしたEAも、公開後は継続的なモニタリングが必要です。EA-Labでは毎日の稼働確認・週次のPFとDD確認・月次の累計成績評価というサイクルで運用しています。
相場環境の変化によってEAのパフォーマンスが変わることがあります。バックテストの最大DDを超えてきた場合や、長期間PFが1.0を下回り続ける場合は、ロジックの見直しを検討します。
検証結果の判断基準
検証を経てEAを本運用に移行する際の目安をまとめます。
バックテストの合格基準
- PF:1.2以上
- 最大DD:10%以内
- 取引回数:数百回以上(統計的信頼性の確保)
フォワードテストの合格基準
- 期間:最低3ヶ月、理想1年
- バックテストとの乖離が小さい
- PF・DDがバックテストの範囲内に収まっている
この基準を満たして初めて、EAは「実運用に値する」と判断できます。
よくある質問
A. フォワードテストの方が重要です。バックテストはロジックの方向性を確認するための手段であり、EAの実力を判断するものではありません。フォワードテストでリアルの相場での動きを確認して初めて、EAが本当に機能するかどうかがわかります。ただしバックテストなしにフォワードに移行するのも危険です。2つをセットで行うことが基本です。
A. 必ずしもそうではありません。PFが極端に高いEA(2.0以上)は過剰最適化の可能性があります。バックテストで良い結果を出すためにパラメータを調整しすぎると、過去データにだけ最適化されたEAになり、フォワードで崩れます。EA-LabではPF1.2〜1.5を現実的な目安にしており、それ以上の数値を無理に追うことはしていません。
A. 最低3〜6ヶ月、理想は1年以上です。ただし期間だけでなく取引回数も重要です。3ヶ月でも取引回数が十分にあれば統計的な判断ができますが、取引回数が少ない場合は期間が長くても信頼性が低くなります。EA-Labでは期間と取引回数の両方を確認しています。
A. まず乖離の原因を確認します。スプレッド設定の差・約定ズレ・相場環境の変化・過剰最適化の可能性など、原因によって対応が変わります。バックテストより大幅に悪い場合、または長期間PFが1.0を下回り続ける場合はロジックの見直しを検討します。ただし短期間・少ない取引数での判断は避けてください。
A. EAには寿命があります。ロジックが前提としていた相場構造が変化すると、優位性が薄れていきます。定期的にフォワードの成績をバックテストと比較し、長期間にわたって乖離が続く場合はロジックの見直しや運用停止を検討します。EA-LabでもGENESIS・凜・AXISを継続的にモニタリングしています。
まとめ
EA検証の流れをまとめます。
- ロジック設計(説明できるロジックで作る)
- バックテスト(PF・DD・取引回数のバランスを確認)
- フォワードテスト(最低3〜6ヶ月、理想1年)
EAの本当の実力はフォワードテストを経て初めてわかります。
バックテストだけで判断せず、フォワードまで確認する。
これがEA検証で最も重要なポイントです。
各テーマの詳細は以下の記事で解説しています。