龍神様EA『火』の巻を検証~FX・EA・MT4

今回はMT4のEA検証記事を初めて書きます。私はMT4での資産運用をメインで行ってきまして、かなりの数のEAを開発・購入・検証・運用してきましたが、非常に面白いと思ったEAを見つけたので書いてみます。 とにかくバックテスト成績が凄いが・・・ 龍神様EA『火』の巻の注目度は、販売数の伸び方そしてコミュニティの投稿数からもよく伺えます。まだフォワード期間が2か月程度しかないにも関わらずこれほど注目されるのは、バックテストの凄さが各所で共有されているからだと思われます。確かにこれほどのバックテスト成績は私も見たことがありません。バックテストを見慣れている中・上級者はこれを見れば一度は驚くものと思います。久々に市販のEAでワクワク感を覚えました。 ※バックテスト5年間、Tickstory使用、スプレッドEURJPY20,0.01ロット固定 しかし、結論からいうとこのバックテストのパフォーマンスをリアル稼働で実現するのは困難なように思いました。以下プラス要素、マイナス要素に分けて記述します。 仕様 詳しくはfx-onのページを見て頂きたいのですが、一般的なEAとはかけ離れた特徴が数多く見て取れます。 ・最大ポジション数198 ・相場の状況を316,368通りに分類して分析(13通り×13通り×13通り×12通り×12通り?) ・取引回数は1年間で5万回以上 プラス要素 ■チャートをパターン化して分類するという手法 龍神様EA『火』の巻の最大の特徴であり、私が最も面白いと思った点です。半ば機械学習にも似たアプローチでとても可能性を感じさせてくれます。チャートの分類という手法には弊害もあると思ってはいるのですが(※後述)、作者のあじゃんさんはずいぶん昔からこのようなアプローチをされているようでして感服しました。 ■長期バックテストも強烈なパフォーマンス 直近に最適化されたEAではありません。過去10年間でバックテストしても非常に素晴らしい成績を残しています。 ■バックテストの再現性も問題なし 時々見かけるのが、バックテストで良好な成績を出しているものの、リアル口座ではありえない価格・タイミングで約定しているEAです。当該EAのバックテスト取引履歴を確認したところ、ごく一部にそのような取引が確認されましたが、全体の割合からすればほんのわずかで影響は小さいということで、問題ないと判断しました。 ■最大ポジションがかなり大きいが、ナンピン・マーチンゲール的なリスクの上積み要素は無し 一般的には、最大ポジションが大きいEAというのはパフォーマンスが悪いものが多いです。この類のEAは初期に建てたポジションが含み損を抱えた場合に、後から建てたポジションで帳消しにしてしまおうという意図のものが多く、最終的に甚大なドローダウンに繋がるリスクを孕んでいるものが多いからです。しかし検証していくと龍神様EA『火』の巻の大量ポジション保有は、そういった過剰なナンピン・マーチンゲールにありがちな「一発逆転」の発想によるものではないことが伺えます。 ■取引回数も十分 EAは一般的に取引回数が少なすぎると、たとえ成績がよくてもそこから偶然性を排除することができず、本来の実力を測ることができません。龍神様EA『火』の巻は、10年間で取引回数40万回以上あります。ここで一応注意しなければならないのが、龍神様EA『火』の巻は同時に大量ポジションを保有するということで、この同時保有ポジション同士は確率論でいうところの独立試行とみなすことはできないという点です。概算で1度に平均100個のポジションを持つものとして、実質の取引回数は10年間で40万回/100 = 4,000回だと仮定します。かなり数字が小さくなったものの、それでもなお4,000回の取引データというのは統計学的にも十分に有意性のある数字で、偶然では決して出せない成績であると言えます。 ■プロフィットファクターは常識はずれの高水準 直近の5年で2.56という数値を出しています。 EA検証に慣れている方ならよくご存じだと思いますが、プロフィットファクター2.56というのは本来なら異常値でしかありません。プロフィットファクターが2を超えてくるというのは、取引回数が極端に少なかったり、バックテストにてリアル稼働ではあり得ない動きをしていたりと、本来の実力からかけ離れた状態のときしかお目にかかれません。取引回数も十分なうえでこの数値は驚異的というほかありません。 ごく一部の例外を除いて、長期に渡ってリアル稼働でプロフィットファクター2以上を叩きだすのは不可能といって間違いないです。市場参加者が世界一多い為替相場においてそこまでの極端なエッジは存在しえないからです。しかし、もしかするとこのEAはそのごく一部の例外でとんでもないEA、いわゆる『聖杯』なのか?・・・・・と私も一瞬思いました。 ここまではとんでもないEAが出てきたなと興奮を隠せなかったのですが、よく見ていくと落とし穴になりうる要素も浮かび上がってきます。 マイナス要素 ■TP,SLでしかクローズしないロジック 要するに、エントリーしたらあらかじめ決められた利確もしくは損切り水準に引っかかるまでは一切クローズせず、EAの内部ロジックによって途中でクローズされることが一切ないということです。 龍神様EA『火』の巻の場合、TP +17pips,SL -102pipsのどちらかに達するまでクローズすることはありません。 基本的な話として、TP,SLでしかイグジットしないロジックで優秀なシステムは世の中にほとんど存在しませんし、少なくとも私はこれまでに一度も見たことがありません。これは少し考えれば当然のことです。システムトレードにおいて、システムが持てる行動機会は2つしかありません。「エントリータイミングの決定」と「イグジットタイミングの決定」です。ここで問題になるのは「イグジットタイミングの決定」です。TP,SLでしかイグジットしないということは、エントリーした後はトレンドが変わろうがボラティリティが大きく変化しようが一切関係なく、その後の相場状況変化は一切無視で、半ば「イグジットタイミングの決定」を放棄している状態に近いと言えます。2つしかない行動機会のうちの1つを放棄しながら生き残れるほどに為替相場は甘くありません。このような仕様でプロフィットファクターが2を超えるというのは、ある程度システムトレードに精通している人ならあり得ないことだと感じるはずです。 ■パターンを分岐させすぎたことによる過学習(カーブフィッティング)の可能性 これが最大の落とし穴である可能性があります。 - http://ameblo.jp/asiangon こちら龍神様EA『火』の巻の作者であるあじゃんさんのブログです。最新の記事を拝読しました。ここで紹介されているのは龍神様EA『火』の巻とは違うシステムではありますが、龍神様EA『火』の巻のロジックに通じる部分が多々あり、なるほどすごく面白い開発手法だなと興味深く読ませて頂きました。 しかし1点どうしても引っかかる点があります。 ここで登場した「舞姫 standard版」(=Little HONDA)は、為替状況を11パターンに分類したうえで、4種類の売買ロジックによって動作しています。 そのため、取引データを44種類に分類し集計しています。(11×4=44) ④上の自動計算機で抽出された個別結果を、今度はランキング集計機に投入します。 自動計算機で出た詳細な個別データから優秀なパラメータのみをピックアップする作業です。 - http://ameblo.jp/asiangon この手法だと細かくパターン分けしたそれぞれ取引回数の少ないロジック1つ1つにとても強いカーブフィッティングがかかっており、結果的にそれらを寄せ集めた形になってしまっているのではと危惧します。結局何が問題かというと、通常のロジックに比べてはるかに強いカーブフィッティングがかかる危険性のある開発手法だということです。 もう少し詳しく説明すると、たとえば4,000回の取引に対してかかるカーブフィッティングはそれほど大きくなることはないかもしれませんが、40回の取引に対してかかるカーブフィッティングはかなり大きくなることが予想されます。もし実質的に「40回のカーブフィッティングがかかった取引データ×100本のロジック=4,000回」といった風なことが起こっていたならば、それは通常では起こりえない強いカーブフィッティングがかかっている可能性があります。先ほども書きましたが、よほど特殊なロジックでも無い限りプロフィットファクター2.5というのは実現不可能に近い数字です。上記記事を見る限りでは、世界中の優秀な開発者たちの多くが挑んでも超えられなかったプロフィットファクター2や2.5の壁を超越したエッジが存在するようにはどうしても見えません。また、上記の記事で紹介されているシステムは龍神様EA『火』の巻とは別のもので、チャートを44パターンに分けていますが、龍神様EA『火』の巻では30万パターンに分けているということで、もし類似した開発手法を用いられているのだとしたらカーブフィッティングの危険性はより高まっている可能性があります。 ■勝率90%越えロジックはカーブフィッティングがかかりやすい 一般論として、システムトレードにおいては勝率が90%を超えてくるとカーブフィッティングの危険性が飛躍的に高まります。 理由としては、 ・負けトレードが少なくなり、最適化の過程で知らず知らずのうちにむりやりパラメータを丸め込むことにより負けトレードが解消されがちだから ・トレード結果1つ1つをプロットしたときの標準偏差(≒ばらつき)が大きくなるため、トレード結果が理論値から乖離しやすい(→偶然勝つということが起こりやすくなる) などが挙げられます。 以上のことから、龍神様EA『火』の巻のバックテストは通常のロジックでは起こりえないレベルのカーブフィッティングがかかっている可能性が高いと現時点では判断しています。もしも私の理解を超越したロジックが組み込まれており、とんでもない成績を今後も残し続けるようであればその際はお詫びしたいと思います。 稼働継続するかの判断基準 TP,SLが固定のため、シンプルに勝率をターゲットにするのがよいと思います。 ▼参考: ・勝率94% → バックテスト並みの驚異的な成績 ・勝率85.71% → 損益分岐点。これを上回れば損益プラス、下回ればマイナス(※スプレッド考慮せず) 長期的にどのあたりに収束するか注目です。勝率87%を超えれば使用に耐えうるレベル、90%を超えれば世の中のほとんどのEAを上回るパフォーマンス、逆に85%を下回るようなら運用を中止するべきといったところでしょうか。 検証のまとめ 今の時点では、龍神様EA『火』の巻が期待されているようなバックテストで見せている驚異的な成績をフォワードでも発揮する可能性は低いと私は思っています。一方で、**バックテストには及ばないにしろ、秀逸な開発手法だと思いますので、エッジが全く効いていないとも考えにくく、並みのEAを遥かに超えた成績を今後残し続ける可能性も十分にあり得ると思っています。**当然、今後全然勝てない可能性もあるとは思いますが、これはリアル稼働開始から間もないが故になんとも言えない状況です。 ...

2016年1月13日 · 1 分 · 76 文字 · kashiwagi