バックテストのコスト、どこまで確認していますか?
バックテストの結果を見るとき、総損益やドローダウンには目が行きます。では、その結果に「取引のコスト」がどう入っているかまで確認しているでしょうか。
スプレッドや手数料は、1回ごとには小さな金額でも、取引回数が多いEAほど積み重なって成績を大きく左右します。今回は、バックテストのコストを確認するときの考え方を整理します。
MT5のテスターでのスプレッド
MT5のストラテジーテスターでは、スプレッドは履歴データから取得され、常に変動するもの(フローティング)として扱われます。つまり、テストの結果は、使った履歴データにどんなスプレッドが記録されていたかに影響を受けます。
そのため、次の点を確認しておくと安心です。
- どのデータでテストしたか:口座会社やサーバーによって、記録されているスプレッドは違います
- モデリングの方式:実際のティックを使う方式か、それ以外かによって、再現の細かさが変わります
- テスト期間のスプレッドの状況:スプレッドが広い時期や時間帯を含んでいるか
同じEAでも、別の口座会社のデータでテストすると、結果が変わることがあります。
手数料
口座の種類によっては、スプレッドとは別に取引ごとの手数料がかかります。MT5のテスターでは、手数料について、今の口座の設定を使ったり、独自に設定したりする機能があります。
実際に使う予定の口座と同じ条件になっているかを確認しておくことが大切です。手数料がかかる口座で使うのに、手数料なしの条件でテストしていると、結果が実際より良く見えてしまいます。
そのほかのテスト条件
- テスト期間:短すぎないか、性格の違う相場を含んでいるか
- 初期資金とロット:実際に使う予定の条件に近いか
- 約定の遅れ:テスターには遅延を設定できる項目があります。実際の環境に近い条件で試すことも検討できます
- スワップ:ポジションを長く持つEAでは、スワップの影響も考えておく必要があります
コストを確認する理由
取引回数が多く、1回あたりの利益が小さいEAほど、コストの影響を強く受けます。たとえば、1回あたりの平均利益が数pipsしかないEAでは、スプレッドが1pips変わるだけで成績が大きく変わることがあります。
バックテストでプラスだったのに、実際に動かすとマイナスになる原因の1つが、このコストのずれです。
注意点
テスターで条件をそろえても、実際の取引とまったく同じにはなりません。急な値動きでのスリッページや、スプレッドが一瞬広がる場面は、再現しきれないことがあります。バックテストの結果には、少し余裕を持って向き合うのがおすすめです。
研究所として
EAの研究・検証では、コストの条件を確認してから結果を見るようにしています。公開する場合は、こうした条件を十分に確かめたうえで出したいと考えています。