その逆は真ではない、ということ
EAの購入等を検討する際によく言われることとして、「パラメータをこねくりまわせば、バックテストをいくらでもよく見せることができる」、これがあります。
実際そうです。MT4にはバックテストに時間を掛ければ、パラメータを最適化していい成績のEAにすることは比較的簡単にできます。なので、「やたら設定できるパラメータが多い」というのは、確かにまずは疑うべきポイントかなと思います。
#いちおう弁解ですが・・・私が出品している「ブレイクスキャルシステム」で追加しているパラメータは、成績を大きく歪めるような過度なフィッティングは行えないようなものであり、基本ロジック自体は非常にシンプルなものですw
では、パラメータが少ないと良いのか?
これが、あながちそうとは言えないのです。なぜなら、パラメータは隠すことができるからです。
技術的な話になりますが、プログラム上で言えば「extern int ・・・」で定義する変数から「extern」を抜くと、ユーザが入力できないパラメータに変えることが出来るんですね。つまり・・・裏ではやりたい放題ということなんです。それを見抜くのは結構難しいかなと思います。ここを見誤ると、残念なEAを多く掴まされることになると思います。
極度な裏カーブフィッティングの例
では、例を見てみましょう。
以下は、無料EA研究所で出しているピンボール売買EAを2007年から現在まで稼働させたバックテストの曲線です。トータルとしてプラスの成績にはなっていますが、2010年~2011年くらい(真ん中あたり)の成績の落ち込みがあまり好ましくありません。
・・・では、この成績をあっという間に好ましくしてみせましょう!それ!
はい!落ち込みが綺麗になくなりました!これだったら本格的に運用してもいいかな?という気にさせてくれますね。
では、ここで問題。これ、実はプログラムコードの先頭にたった1行追加しただけなのです。どういった内容か分かりますでしょうか?
答えはこれです。
if (Year() == 2010 || Year() == 2011) return;
そうなんです。2010年~2011年の成績が著しく悪いので、「じゃあ、その間は取引を一切させなければいいじゃん!!」という対処なのですね。こういったことを細かくやっていけば、いくらでもいい成績を演出することが可能なのです。
単純に、パラメータが多いことが「悪」というわけでもない
上記の例は、「カーブフィッティングとは何か?」を解明するという命題に、大きな気付きを与えてくれます。
逆説的なことを述べますが、単純に「パラメータが多い=悪」というわけではない、と私は思います。それが丁寧に考証を重ねて追加したパラメータであれば問題ないのです。
重要なのは、フィルタを一般化するプロセスだと私は考えます。
上記の例はかなり極端ですが、気づかないうちに似たようなことをしていることは多々あります。「ここを良くするにはこの指標でフィルタを掛ければいい」というようなことを重ねて行った時に、その他の期間の成績がどのように動いているか、ということもしっかりとチェックしていくことが重要かなと思います。そのフィルタリングが全体的な成績の底上げになっているのであれば問題ないのですが、その他の期間の成績が余り動いていないようであれば、これはカーブフィッティングである危険性が極めて高いです。
バックテストがとてもいいのに、何故かフォワードがボロボロ・・・というEAは、こういった考証がしっかりと行われていない可能性が高いのかなと思います。逆に、こういった考証がしっかりと行われているEAは、パラメータが多くても問題なく、フォワードテストも比較的バックテストからずれないものになるのかなと思っています。
購入者として注意することは?
これが、非常に難しいですね。バックテストがカーブフィッティングか否か、というのを単純に見極める方法というのは、あまり無いのではないのかなと思います。意図的に重要なパラメータを消しているようなEAもあるかと思いますし。
私は、一つのポイントとしては「公開しているロジックとバックテストが感覚的に合うか」というのがまずは重要かなと思います。
例えば、トレンドフォロー系のドル円EAを謳っているのに、アベノミクス時期や昨年の相場で思うように利益を上げられていない、とか、そういったところですね。逆に、「基本がこのロジックならこの時期は負けやすくなっているはずだが、どうやってそれを回避しているのだろうか」といったところをチェックしてみるのも良いかもしれないですね。まあ、これもバックテストと公開情報から推察するしか無いので厳しいですが。
・・・まあ、こういった考証が難しいということであれば、フォワードテストをしっかりと見極めるということが重要なんだろうなと思います。フォワードテストは正直ですし、過度なフィッティングほど、早く化けの皮が剥がれてきます。
ということで・・・あまりにも普通の結論になってしまいましたが、参考にしていただければと思います。