【開発者の本音】バックテストの「きれいな右肩上がり」に騙されないために ― EA選びで最初に見るべき「利益の裏側」
「年間利益300%」「バックテストで資金が10倍」
こういう数字を見ると、正直、今でも一瞬心が動きます。
以前、あるEAのバックテストを見て「これはすごい」と思ったことがあります。
ただ、期間ごとの成績を細かく見ていくと、利益のほとんどは、ある数ヶ月の急な相場で生まれたものでした。
もしその期間を外して検証していたら、まったく違う数字になっていたはずです。
自分でEAを作る側になってから、バックテストを見る目は大きく変わりました。
派手な数字を見かけると、今はまず「で、この数字を出すために、裏でどれだけの無理をさせているんだろう?」と考えるようになっています。
FX歴10年、現在はMT5向けEA・インジケーターを作りながら何百回とバックテストを回している中で、痛感していることです。
今回は、EAを選ぶときに「利益の大きさ」だけでなく、自分がどこを見るようになったかについて書いてみます。
なぜ「利益が大きいEA」ほど落とし穴になりやすいのか
例えば、同じ100万円からスタートする2つのEAがあったとします。
-
A:年間 +100万円の利益
途中で50万円近い強烈なドローダウンに耐え、ナンピンや大きめのロットでギリギリ逆転していた。 -
B:年間 +50万円の利益
適切な損切り(SL)が常に設定されており、最大の落ち込みも15万円程度に抑えながらコツコツ増やしていた。
数字だけ見ればAの方が魅力的です。
でも、Aのようなタイプは、リアル運用では途中の含み損に耐えきれずに止めてしまったり、最悪のタイミングでロットを見直せず大きく資産を減らしてしまうこともあります。
実際、自分が過去に検証してきたEAの中にも、こういうケースがいくつもありました。
表面上の利益額だけでなく、裏側にある以下の条件まで見ていくと、正直「利益額だけ見ていた頃の自分」が少し恥ずかしくなります。
- どんなロットで運用しているのか
- 1回の損失の上限はいくらか
- ナンピンやマーチンを使っているのか
- 特定の年だけ極端に利益が出ていないか
「どれだけ稼いだか」と同じくらい、「その途中でどんな恐怖を味わう設計になっているか」が重要だということです。
バックテストの「きれいな右肩上がり」は作れてしまうという現実
EAを開発していて一番驚いたのは、バックテストのグラフを綺麗な右肩上がりにすること自体は、技術的にそこまで難しくないという事実でした。
「この時間帯は負けやすいから取引させない」「この数値以上ならエントリーしない」
過去のチャートデータに合わせて条件を1つずつ追加していけば、負けトレードは綺麗に消えていきます。
過去データに完璧にフィットさせた、いわゆる“神バックテスト”の完成です。
私自身、開発を始めたばかりの頃、条件をガチガチに固めて「勝率95%・きれいな右肩上がり」の試作品を作り、「これは天才的かもしれない」と一人で喜んだことがあります。
ですが、それをフォワードテスト(リアルタイムのデモ運用)に回した途端、過去データにはなかった相場パターンに対応できず、あっけなくボロ負けしました。
「過去の相場にだけ異常に強いEA(過剰最適化)」を、自分で作ってしまっていたわけです。
この失敗があってから、成績を良くするための条件を追加したときほど、「これは単なる過去データへのこじつけになっていないか?」と自分に強く問いただすようにしています。
説明できない条件を増やしてバックテストだけ良くなっても、それが実運用で有効なのかは別の問題だからです。
利益とリスクのメーターは、必ず連動している
EAの構造上、リターンのメーターだけを単独で引き上げることはできません。
ロットを上げれば、得られる利益は増えますが、抱える含み損や最大ドローダウンも同じ倍率で膨らみます。
エントリー条件を緩めれば、取引回数が増えてチャンスは増えますが、質の低いエントリーまで拾ってしまうことも確実に増えます。
何かを得ようとすれば、必ず別のリスクを引き受けることになる――これはEAの世界でも変わらないトレードオフです。
「一番稼げるEA」ではなく「自分が運用できるEA」を選ぶ
最終的には、ここだと思っています。
最大ドローダウン30%でも気にせず運用できる人もいれば、10%の含み損でもEAを止めたくなる人もいます。
取引が毎日ある方が好きな人もいれば、条件が揃うまで何日でも待つEAの方が合う人もいます。
どちらが絶対に正しいという話ではありません。
どんなに綺麗なバックテストを描くEAであっても、含み損で夜眠れなくなるようなシステムなら、それはあなたにとって「運用できないEA」です。
大切なのは、バックテストの最終利益だけではなく、「どんな方法で利益を出して、その途中でどんなリスクを取るEAなのか」まで確認すること。
自分自身、EAを使う側から作る側になって、ここを見るようになりました。
おわりに(次回予告)
「理屈はわかったけれど、じゃあ具体的にバックテストのどこを見れば、過剰最適化や隠れたリスクを見抜けるの?」と思われた方も多いはずです。
次回は、私が自作EAの検証時や新しいEAをチェックするときに、バックテストのデータを開いた瞬間まず最初に確認している5つの具体的なポイント(PF・DD・取引数・勝率・期間の罠)について、実例を交えて書いてみようと思います。
販売者側の宣伝文句ではなく、一人の検証者としての視点をこれからも書いていきますので、よろしければぜひまた読みにお越しください。