EA開発に明確な基準があるわけではありません。
リアルトレードで利益を上げられるのなら、
どんなEAを開発しても構わないんですが、
バックテストの段階である程度の基準を満たしておかないと、
リアルトレードで利益を上げる可能性は下がってしまいます。
では、バックテスト時にどのような基準を設ければ良いのか、、、
このあたりはEA開発者の経験によるところが大きいです。
一つ言えることとして、
EA開発の経験値が少ないと、得てして、
“バックテストの為だけのバックテスト”
になってしまいがちです。
バックテストで好成績を収めるのが目的ではありません。
リアルトレードで利益を上げるのが目的です。
バックテストのためだけのEAで終わるのか、
それとも、リアルトレードへ移行できるEAになるのか。。。
今回は私がEAを開発する際の
最低限のクリアー条件を紹介します。
EAの種類に関係なく、
これだけは絶対にクリアーしていなければいけない条件です。
私がEAを開発する際の最低限の5条件
まず、[モデリング品質]が90.00%以上とか、
[不整合チャートエラー]が0(ゼロ)とかは、当たり前ですよ。
これらはEA開発する際の条件ではなく、
EA開発者としての礼儀です。
わざわざ言うまでもないですからね。
では、本題に行きますが、
まずは、サンプルとするバックテストをご覧ください。
以下は、最近私が開発したEAですが、
クリアーすべき条件項目に赤色ラインを引きましたので、
それらに注目してください。
私がEAを開発する際は、
以下の5つの条件を必ず満たすようにします。
- 期間は10年以上
- スプレッドは通常は20、ポンド関連は30
- プロフィットファクターは1.30以上
- 総取引数は1000回以上
- 最大ドローダウンは25%未満
これらについてさらに詳しく解説すると、、、
1.期間は10年以上
バックテストの期間は長ければ長いほど信頼性が増します。
やはり1~2年程度のバックテストと10年以上のバックテストとでは、
後者の方が信頼できますよね。
期間が長いということは、
それだけいろんな相場環境を経験させたことになります。
例えば、去年までの1~2年間は、
前例がないくらいの低ボラティリティ相場でした。
その1~2年間しかバックテストをしていないということは、
低ボラティリティ相場に特化したEAになっている可能性が高いわけで、
高ボラティリティ相場に移行した場合、
本当に優位性があるのか分かりませんね。
そこで私の場合は、
バックテストの期間は最低限10年以上にしています。
これならば様々な相場環境を経験させたうえでのEAになります。
2.スプレッドは通常は20、ポンド関連は30
[スプレッド]は買値と売値の差ですが、
ここを厳格にするかどうかで、
EA開発者の良心が問われます。
私の場合は、通常であれば20、
ポンド関連の通貨ペアであれば30にします。
20というのは2PIPS、30というのは3PIPSのことです。
「スプレッドってそんなに重要なの?」
と思う方も多いんですが、甘く見ないように。
この[スプレッド]を狭くするだけで
簡単に右肩上がりのEAが開発できたりもします。
中にはそれを見越してなのか、それとも知らないだけなのか、
この[スプレッド]に2とか3という数値を入れたバックテストも散見されますが、
そんなにスプレッドが狭いFX会社は稀です。
[スプレッド]が狭い特定のFX会社に向けて開発したEAなら別ですが、
そうでないなら、一般的なFX会社で通用するように
できるだけ広めの数値にしておくべきです。
3.プロフィットファクターは1.30以上
この項目は1よりも大きければ良いんですが、
だからと言って、あまりにも高過ぎると過剰最適化が疑われますし
あまりにも低過ぎると優位性がなくなります。
また、次に書く[総取引数]にも関連しています。
どういうことかと言うと、
[総取引数]が少ないと[プロフィットファクター]を高くするのは簡単ですが、
その分、有益性が低くなります。
逆に、[総取引数]が多いと[プロフィットファクター]を高くするのは困難ですが、
その分、有益性が高くなります。
なので、[プロフィットファクター]単独で見るわけにもいかないんですが、
それでも個人的には、1.3~1.8くらいにします。
ちなみに、ナンピン型EAであれば、
[プロフィットファクター]を2や3などの高数値にすることは容易いです。
しかし、ナンピン型EAでの[プロフィットファクター]は参考にならないので
とりあえず今回はナンピン型EAは考えないとします。
4.総取引数は1000回以上
[総取引数]が多ければ多いほど統計的な優位性が増しますので、
この項目はできるだけ大きな数値にすることを心掛けています。
しかし、肝心のロジックがエントリー厳選型だった場合、
この項目を無理やり増やすわけにもいかない状況もあります。
また、常に単独ポジションなのか、
それとも、複数ポジションもありえるのか、
で、この項目の数値は大きく変わってきます。
なので一概には言えないのですが、
私の場合であれば[総取引数]は1000回以上にしています。
複数ポジションを持つのなら、
さらに増やして2000回以上を目標にしています。
5.最大ドローダウンは25%未満
[最大ドローダウン]は小さければ小さいほど
安定感があることを意味しますので、
この項目はできるだけ小さな数値にすることを心掛けています。
しかし、この項目も単独だけで判断できるものではなく、
関連する別の項目との相対的なバランスを見る必要があります。
例えば、
[期間]が長ければ長いほど、
この項目は大きな数値になりがちです。
また、
[総取引数]が多ければ多いほど、
この項目は大きな数値になりがちです。
そして、上記のバックテストには表れていませんが、
[ロット数]が大きければ大きいほど
この項目は大きな数値になりがちです。
なので一概には言えないのですが、
私の場合であれば[最大ドローダウン]は25%未満になるようにしています。
金額的にも、[初期証拠金]の25%未満になるようにしています。
ちなみに、ナンピン型EAだとまた基準が違うのですが、
とりあえず今回はナンピン型EAは考えないとします。
以上、私がEAを開発する際の最低限のクリアー条件5つでした。
バックテストでこの5つの条件を満たしたものだけが、
私にとってのEAとなります。
なので、開発している最中に、
どれかの項目が満たされないと分かったら、
開発途中で諦めます。
そのまま続けても無駄ですからね。
時間があればこの条件に照らし合わせて
他様のEAのバックテストも確認してみてください。
各EA開発者の基準、良心、方針が垣間見えるかもしれませんよ。
PS.
先にサンプルとして掲載したEAですが、
実はこれ、、、EAの販売、学習で有名な某サイトで
既に販売開始されています。
私はこれまで自分以外のサイトで
自作EAを販売したことがなかったのですが、
物は試しに販売してみたところ、
販売開始から1ヶ月も経っていないのに、
フォワードテストも順調なこともあってか、
ありがたいことに結構購入されています。
もし興味があれば、探してみてください。
バックテストは上記のままですから。
でも、ペンネームでの販売なので、
見つけづらいかも?