EAでテストとリアルの乖離を埋めるためにはリアルティックデータ検証が重要

MetaTrader(以下MT4)のEA(Expert Advisor)においてバックテストとリアルトレードの成績の差を埋めるため、一つの視点として検証(バックテスト)の質をどこまで高められるかという課題があります。

多く見られるのはFXDD社などから提供される1分足のヒストリカルデータをMT4にインポートしてテストを行う方法ですが、実はこれだと正確性に欠けます。MT4はバックテスト開始の度に、選択したモデルタイプにより擬似ティックデータを生成するのですが、最も「正確」な方法となっている「全ティック」というタイプでも1分足の4本値から適当に1分未満のティックデータを生成しているに過ぎないからです。実際バックテスト後に表示されるレポートにあるモデリング品質は最高でも90%にしかなりません。

そこでリアルティックデータが欲しくなる所です。このデータを提供しているのがTickstoryという有料サービスです。このサービスを使うとDukascopyというブローカーのリアルティックデータをダウンロードしてMT4のバックテストに使うことが出来ます。リアルなティックデータなため正確性は上がり、モデリング品質は99%に達します。

擬似的に作成されたティックデータでのバックテストでは成績が良いのに、Tickstoryを使ってのテスト成績は芳しくないということはよくあります。これはEAの挙動がティックに左右される場合は往々にして有り得ることで、このようなEAはテストとリアルのトレード成績に差が生まれやすくなると考えられます。ただしブローカー毎に当然ティックデータは異なってくるのでTickstoryを使ったからと言ってリアルトレードでもバックテストと同じ成績を叩き出せるとは限りません。ただ擬似ティックデータよりはお使いのブローカーのリアルティックデータに近いTicksotyのデータを使えば、よりテストの正確性は上がると言えます。さらに擬似ティックデータとTickstoryデータ両方のテスト成績にあまり差がなければ、そのEAの信頼性は高いと考えられます。