MT5のストラテジーテスターでフォワードテストという機能がある
日本国内ではなかなか普及しないMT5ですが、世界を見渡すと徐々に採用する業者が増えてきているようです。いつかは日本にやってくる日を夢見てMT4と並行してMT5も弄ってはいるのですが、その日はいつやってきてくれるのでしょうか。
MT5にはMT4にはない機能がいろいろあって弄っているだけでも楽しいので気長に待つことにしますか(^_^)
MT5にしかない機能の中で前から気になっていたのがフォワードテストという機能です。この機能はEAを最適化する時に使用するらしいのですが、おそらく擬似的にフォワードテストすることの出来る機能ではないかと思います。
ストラテジテスターのフォワードテストの右側のプルダウンリストをクリックすると1/2、1/3、1/4、カスタムの4種類の項目が用意されています。
キャンセル:フォワードテストを使用しない
1/2:指期間の1/2がフォワードテストに使用される
1/3:指定期間の1/3がフォワードテストに使用される
1/4:指定期間の1/4がフォワードテストに使用される
カスタム:フォワードテストの開始日を指定できる
例えばフォワードテストのプルダウンリストで1/2を選択した場合は、指定期間の半分を最適化してそれ以降をフォワードテスト期間にするというイメージなのでしょう。
MT4でも期間を指定して最適化してからバックテストをすれば同様のことが出来るのですが、2つの作業をしなければならないので時間がもったいないですよね。MT5のフォワードテスト機能なら期間を指定するだけで擬似的なフォワードテストまでやってくれるので楽ちんです。
実際にフォワードテスト機能を使ってみた
なんとなく使い方がわかってきたのでさっそく適当なEAを使ってフォワードテストを試してみることにしました。
フォワードテストを試すためにはEAを用意しなくてはなりません。今回はフォワードテスト機能を試すだけなのでボリンジャーバンドを使った超シンプルなロジックでEAを作成してみました。
まずは最適化せずにデフォルの設定のままでバックテストをしてみます。
なんと酷い結果に(笑)
気を取り直してストラテジテスターのフォワードテスト機能を発動しましょう。フォワードテスト期間は2017年1月1日からにして最適化してみます。これで約2年間のフォワードテスト期間が確保されるというわけですね。
最適化結果をとりあえず損益順に並べ替えてみました。
最も損益が大きいパラメータをセットしてでバックテストをしてみます。
こんな感じで最適化した期間とフォワードテスト期間のグラフが描画されます。最適化した期間が右肩上がりになるのは当然かもしれませんが、最適化を一切していないフォワードテストも緩やかな右肩上がりになっているので2年前から使っていればちょっと儲かったかもしれません(笑)
今回は損益で並べ替えましたが、その他にもプロフィットファクター、シャープレシオ、リカバリファクター、ドローダウン、期待利得などの項目でも並べ替えが出来るのでお好みに応じてフォワードテストをお楽しみいただけます。
この機能を使っていくつかEAを最適化してると王道的なロジックの方がフォワードテストでの落ち込みが少ないことに気付きます。やはり長く生き残っているロジックは強いということでしょうね。
ついつい陥りがちなカーブフィッティングに気付くきっかけになるかも
ヒストリカルデータの全期間で最適化してしまいがちな人にとってこのフォワードテスト機能は、カーブフィッティングを防ぐという意味で大変有効な機能なのではないかと思います。
もちろん全期間で最適化してもいいのですが、その場合はリアルである程度の期間フォワードテストをする必要があります。かなり時間と手間がかかるので即座にリアル口座に投入したくなる人も多いことでしょう。←私ですw
私のようなせっかちな人にはMT5のフォワードテスト機能を使って頭を冷やしたほうがいいのかもしれません。この機能を使うことで疑似フォワードテストの成績が思いのほか悪いということに気付かされるのです。
この機能はリアル運用したとたんに成績が悪くなるEAを作りがちな人(=私)を救ってくれる存在になってくれそうです(^_^;)
コメント