バックテストとフォワードテストの結果が乖離するEAとそうでないEA

スプレッドとスリッページ

基本的に、MT4の仕様上リアル口座とは異なり、バックテストにおいて再現できない部分はスプレッドとスリッページの主にこの2つである。

となれば、必然的にバックテストとフォワードテストの結果が乖離しやすいEAとそうでないEAの違いはもちろんスプレッドと回線遅延に大きく関わりがある。

スキャルピングとスイングトレード

例えば、これが超ゴリゴリのスキャルピングでスプレッドが極狭の範囲でしか動作しないだとか、あるいはブレイクアウトを狙ったボラティリティが大きい時にのみエントリーするようなEAだとこれはバックテストとフォワードテストの結果が乖離するのは当然である。

だが、これがポジション保有期間が2週間や3週間もあるようなスイング系手法であれば、多少のスプレッドの広がりやスリッページなど実質上無視できる程度には小さな誤差である。

当然、スイング系手法であればバックテストとフォワードテストの結果は乖離しない。

そもそも指値注文しか使わない

まず原理から言ってスプレッドとスリッページが発生するのは成行注文であり、指値注文ではスプレッドもスリッページも無縁である。

当然、これが指値注文しか使わず成行注文は一切使わない挙動だったりするとバックテストとフォワードテストの乖離はほとんど起こらない。

スワップ金利

本来スワップ金利は毎日変動するものであるが、MT4では仕様上スワップ金利を固定にして計算している。

その為、フォワードテストとはスワップ金利がズレるのだが、そもそもの問題としてスワップ金利による収入の増減は微々たるものである上に、元々経済が不安定で金利が乱高下するような国(例えばトルコリラスワップ狙いロジックのようなキワモノロジック!)でもない限りスワップ金利も基本的には極端に上下しないため、バックテスト上ではスワップ金利を完全に再現できず簡易的な再現になるとは言っても基本的にはそこまで影響が出るものではない。

ロウソク足が完成するまでの途中経過

当然だが、一本のロウソク足が完成するまでにはその途中経過の動きがある。

チャート・ロウソク足が形成される過程、形成後のロウソク足では形成された過程が分からない

例えば、上記の図のように、完成後のロウソク足だけを見てもその完成に至るまでの途中の動きは分からないのだ。

だが、MT4ではこうした途中経過の動きを完全に無視して完成後の始値・終値・高値・安値だけを見て計算を行っている。

そして、MT4におけるロウソク足の最小単位は1分である。
そのため、MT4は仕様的に1分未満の時間をシミュレート出来ないのだ。

となれば、例えばポジションを保有してから僅か30秒後には既に決済するような超短期スキャルピングではこのMT4のバックテストの特性は致命的になるが、やはり同様に1周間や2週間くらいポジションを保有し続けるスイングトレードにおいてこの特性は事実上無視できる程度には小さな誤差と言えよう。

もっとも、この問題点はMT4のバックテストをヴィジュアルモードで稼働する事によって解決する。
ヴィジュアルモードでは1分未満の値動きまで正確に再現するが、代わりに演算量が爆発的に増えるためバックテストに要する時間が劇的に伸びるという弱点がある。
しかし、それならばPCの電源をつけっぱなしにしてバックテストが終了するまで何日間か放置していればよいだけの話なのでさほど問題にはならない。

見分けるのは意外と簡単

つまるところ、バックテストがリアル口座と異なる点はスプレッドとスリッページ・スワップ・1分未満の値動きが再現できない点であるわけだが、そのうちスワップ金利は無視できる程度に小さい差であり、1分未満の値動きを再現できない点はMT4の設定を変更する事で対応できる。

すると、当然バックテストとフォワードテストの結果が乖離しやすいEAと乖離しないEAの違いはスプレッドとスリッページにシビアなロジックであるかどうかと言える。

必然的に、ポジションを保有してから僅か30秒後には決済する超短期スキャルピングではバックテストとフォワードテストの結果が乖離を引き起こすが、スイング系手法ではそこまで乖離が起こらない。

常に理由を考えよ

これは私が当サイトの中にて常々語っていることであるが、物事には全て理由がある。

だから、「何故そうなるのか」「どういう原理なのか」「どういった理由からそれが起きるのか」といった事を考えていけば、普通に本物と偽物は判断できるはずである。



目次はこちらです。
一般的なWebサイトやブログとは違い、情報が体系的に整理されているため本を読むように順番に読み進めていけば投資に関する基礎知識が一通り身に付くようになっています。