「過去のデータから分析してEAの基本性能や優位性を視覚化するバックテスト」
「リアルタイムの相場で運用しEAの信頼性や実在データを測るフォワードテスト」
自動売買やEAの持っている性能や優位性を調べるために用いられる方法として「フォワードテスト」と「バックテスト」の2つが挙げられます。
しかし同じ自動売買やEAのはずなのに、これら2つはまったく同じデータにならない事がかなり多くあります。
どうして違いが出てしまうのか?
今回は、その疑問を解消すべくフォワードテストとバックテストの具体的な違いを詳しく解説します。
Contents
バックテストの役割とは?
バックテストとは過去のデータを使用して、実際に稼働していればどのような結果になっていたかなどの、EAの持っている性能を「勝率」「ドローダウン」「利益率」など数値化で表し分かりやすくしたものです。
過去数年~十数年を短時間で計測することが出来るので、非常に便利なものとなっています。
EAを手に入れてから実際の口座に資金を入れて運用する前にバックテストを行う事で、誰でもある程度の性能を見極めることができ、性能の悪いEAをリアル口座で運用して資金を減らしてしまうと言ったデメリットを事前に防ぐことが出来ます。
バックテストの見るべき点が分からないと言った方でも「右肩上がりのグラフ」を見ればおおよその予想がつくでしょう。
本当は予想だけではなく、バックテストの内容から「本当に稼げるのかどうか」を見極める必要がありますが、様々なEAのバックテストを見て勉強すれば自然と見極める力が身に付くはずです。
ただしあくまで「過去のデータを元に作られたもの」なので100%信頼するのも危険だと言う事は把握しておきましょう。
フォワードテストの役割とは?
フォワードテストはバックテストと違い実際の相場で運用してみた結果、本当にEAが現在から未来の相場において通用するのかどうか有効性を見極めるためのものです。
実測データとして「利益」「勝率」「含み損」「ドローダウン」が全て開示されるので、EAの性能を完璧に把握できるでしょう。
EAをリアルタイムで運用しているので、本当に有効性があるかどうかの結果が出るまでにそれなりの時間がかかるのが唯一のデメリットとなっています。
しかしフォワードテストはリアルタイムの相場レートを使用しているので、嘘偽りのない結果を知ることが出来るのです。
誤魔化すことの出来ないデータを全て閲覧可能なので、100%信頼できるデータとなっています。
そのためバックテストと違い、フォワードテストを開示しているEAの半数くらいはきれいな右肩上がりになっていない事も多いのです。
なぜ違いが出てしまうのか?
バックテストとフォワードテストに違いが出てしまう理由はいくつかありますので、1つずつご紹介します。
スプレッドの違い
バックテストではFX業者の手数料とも言えるスプレッドの変動が考慮されていません。
スプレッド自体はFX業者によって異なりますが、同じように変動幅もFX業者によって違うのでバックテストと同じようにはならないのです。
一応スプレッドが「変動制」のバックテストを行う事も可能ですが、実際の変動の値と同じとは限らないのでフォワードテストとバックテストに相違が出てしまいます。
スプレッド変動制の例
☑ バックテストのスプレッドを変動制にしておき0.5pipsの変動幅を付ける
☑ ドル円のスプレッドが1pipsだったとすれば0.5~1.5pipsの変動幅でバックテストを行う
☑ バックテストでは0.5pipsで約定したとしても実際は1.5pipsの約定だったかもしれない
☑ このスプレッドの違いがバックテストとフォワードテストの乖離を生む
☑ スプレッドが固定のバックテストも同様に実際とは乖離が生まれる
約定力とスリッページの違い
バックテストではスプレッドの違いもありますが、約定力の違いもあり相違が出てしまうのです。
約定力とは、トレーダーやEAが注文を出した価格でその注文を成立させる力のことですが、基本的に意図した価格とはズレて約定する事が多くあります。
ひどい場合ですと、約定拒否となり注文そのものが通らないと言ったケースも稀にあります。
特に海外FX業者の約定力は非常に高いものとなっていますが、どのFX業者であっても100%の約定力はありません。
しかしバックテストでは「EAのエントリーや決済タイミングでは必ず約定する」ようになっており、実際の相場でたまにある「注文が約定されなかった」と言う事が考慮されていないのです。
この違いによりバックテストとフォワードテストの成績に差が生じてしまいます。
約定力の違いによる差
☑ バックテストでは必ず出した注文は約定される
☑ リアル運用だとエントリー出来なかったり決済が遅れたりなど約定に差が出てしまう
☑ ポジション数の違いや決済レートの違いによりバックテストのような結果にはならない
☑ 特に決済はバックテストだとプラス決済フォワードだとマイナス決済と言う場合もある
フォワードテストでは負ける事が多い
フォワードテストとバックテストの違いを具体的に説明しましたが、その違いによりフォワードテストの方が負ける確率が遥かに高いのです。
フォワードテストの方が負けてしまう理由も「スプレッド」「約定力」「スリッページ」にあります。
バックテストではある程度変動制でテストをしてみても、本来のレートより良い価格で約定されることがほとんどです。
フォワードテストはリアル運用なので、FX業者によっては注文を出した瞬間のレートよりも有利なレートで約定する事もありますが、それと同じくらいに不利なレートで約定されることもかなりあります。
つまり「ほとんど有利なレートで約定されたバックテスト」と「たまに不利なレートで約定されるフォワードテスト」とでは違いが生まれて当然であり、またバックテストと違い負けが多く生まれてしまう事が良く分かるかと思います。
この小さいかもしれないけれど大きな違いが、フォワードテストでは負けてしまう理由にあるのです。
それでもバックテストのデータは必要
ではバックテストはやらなくても良いのか?と言うとそんなことはありません。
バックテストを行うことにより「収益率」「勝率」「ドローダウン」「トレード頻度」などEAの特徴を知ることが出来るので、全く無駄にはなりません。
むしろ何の事前情報もないEAを使いたいと言う方はほとんど居ないでしょう。
それにバックテストとは言え、過去数年間のデータで負けていたEAは基本的に使い物にはなりません。
EAの今後の成績を見極めるうえでも、バックテストのデータはある程度必要となってきます。
フォワードテストとバックテストの違いまとめ
フォワードテストとバックテストはどちらも自動売買やEAの性能を見極めるためのものですが、この2つはまったく別のものだと考えておきましょう。
特にどちらを重視するのかと言いますと、フォワードテストの方が重要です。
しかし偶然短期間だけだとフォワードテストの調子が良かっただけと言う可能性もありますので、10年間以上の長期間バックテストも同時に調べておきましょう。
自動売買やEAを実際の口座で運用する前に、まずは長期間のバックテストデータを取ってみて、さらに現在運用中のフォワードテストも見せてもらいましょう。
フォワードテストとバックテストのどちらか一方でも公開していない自動売買やEAは使うべきではないと考えています。
「評判が良い」や「知っている人が使っている」から大丈夫と思うのではなく、フォワードテストとバックテストの両方を参考にしてみて、今後の相場でも通用する自動売買やEAを見極めて運用してみましょう。
その他、気になる事があれば下記のお問い合わせフォームにお気軽に連絡してください。