【EA開発ガイド】Part 5 バックテスト基礎 – Chapter 1 バックテストの基本オペレーション

バックテストというと色々と奥深いので色々と言いたい事はあるがここではMT4の操作方法に限定して解説する。

注意事項

本稿はFXの自動売買について紹介していますが内容を保証するものではありません。金銭にかかわる内容であるためご注意ください。参考にする場合は自己責任でお願いします。

留意事項

本記事ではMT4を使用する。

実行環境

FXTF MT4
・Version: 4.00 build 1374
・26 Feb 2023

バックテストとは

為替の自動売買システムEAを過去データで動かした場合にどういう結果になるかの検証をバックテストという。「もしこのEAで過去に稼働してたらこんだけの利益がでたかもしれない」何て妄想する。過去は変えられず未来は予測できないのでバックテストの結果が未来を保証するものではない。あくまでもEAの傾向がわかるくらと思っておいた方がいいだろう。

過去のチャートのデータ(ヒストリカルデータ)

過去データの古いものは入手困難な場合が多く多くても5、6年くらいがいいところ。それ以上前のデータとなると有料になったりする。あと古い為替のデータは精度が悪い可能性もありバックテストの意味があるのかすらあやしい。とは言っても長い期間で好成績を出した方がいいので最低でも5年以上はテストしておきたいところ。ヒストリカルデータの詳細についてはガイドの後半で詳しく説明する。

バックテストの信頼度

半年ほどバックテストとフォワードテスト(リアルタイム取引)の結果を突合検証してきた。バックテストとのズレは感覚的に1~3割程度だと思う。特殊なイベントでボラティリティが急激に上がった場合などはバックテストとかなり乖離する傾向にある。例えばPF(プロフィットファクター)が1.2.くらいのEAだと年単位でマイナスになる可能性が十分にある。

バックテストの重要性

バックテストの精度やヒストリカルデータの信頼性など色々と問題はあるがEAの評価はバックテスト以外にないのでEA開発者はコレに頼るしかない。フォワードテストとの乖離の雰囲気を理解しつつ有効にバックテストを活用していくのがポイントである。

バックテストの操作手順

ここではバック手順の操作手順だけについて解説する。バックテストの本質的な部分につていは別途記事にする予定である。

1. MT4の起動

デモアカウントでもいいので口座のあるMT4を起動する。

2. ストラテジーテスターの表示

バックテストはMT4の「ストラテジーテスター」と呼ばれる機能を使用する。初期設定ではこのストラテジーテスター画面が表示されていないので「表示>ストラテジーテスター」で画面を表示させる。

3. テスト条件の設定

ストラテジーテスター画面を表示したらセッティングタブの内容でテストの条件を設定する。

項目 解説
エキスパートアドバイザ 使用するエキスパートアドバイザを設定する。メタエディターで作成したEAの一覧から選択することができる。
通貨ペア テストで使用する通貨ペアを選択する。チャートアクセスの関数で何も指定しないとこの通貨ペアが使用される。残念ながらバックテストではクロス通貨の検証はできないためテスト対象の通貨を選択しておくことが一般的である。
デモル 基本は一番精度が高いと言われる全ティックを選択する。上位足を使用した場合に値動きを買い足でサポートするらしいがEAに対してどの程度の影響があるかはEAの実装方法により異なる。
期間 EAで使用する時間足を設定。EA内部で期間していなしでチャートにアクセスした場合この期間が使用される。期間の設定はEAの仕様によって異なる。
スプレッド テスト中に使用するスプレッドを指定する。たとえば4を指定すると0.4pipsのスプレッドとなる。バックテストでのスプレッド設定については別途解説する予定である。
開始日 テストを開始する日付。MT4にチャートデータが読み込まれているのが前提となる。対象期間のチャートがない場合は別途チャートをインポートする必要がある。
終了日 テストを終了する日付。
最適化 EAの外部パラメーターを変更しいくつかのパターンでテストしてくれる機能。試したが正しく動作しないので筆者は使っていない。

4. エキスパートアドバイザの設定

別画面で設定するところがあるのでそちらを解説していく。まずはストラテジーテスターの右上にある「エキスパート設定」をクリック。

5. 証拠金の設定

テスト設定タブを選択し証拠金などを設定する。

項目 解説
初期証拠金 テストで使用する所持金を設定する。最大ドローダウンに耐えるくらいは入れておきたい。通貨のJPYは選択ではなく手打ちなので要注意。
ポジション エントリーの売り買いを制限できる。基本は「Long & Short」で問題ない。
最適化 最適化を使用した場合に使用する項目である。

6. パラメーターの設定

EAに外部パラメータが設定されてる場合はここで指定する。

7. バックテストの実行

ストラテジーテスターの右下の「スタート」ボタンをクリックしてテスト開始!!

8. テスト進捗の確認

下のプログレスバーで進捗を確認できる。

9. テスト完了

プログレスバーがすべて緑になったらテスト完了。

10. テスト結果の確認

まず結果タブからテスト中の約定履歴を確認できる。この履歴は右クリックで保存できるので分析したい場合などはこのデータを保存しておこう。

グラフタブでは資産の変動をグラフで確認することができる。チャートの特性上「ガタガタ」している方が信ぴょう性が高い。キレイなリニア直線になっているグラフはほぼ100%詐欺EAだと思っていいだろう。

レポートタブからテスト結果の概要を確認できる。この内容も右クリックでコピペ可能。レポート項目の内容について解説すると終わらなくなってしまうのでここでは割愛する。

まとめ

慣れてくると操作履歴などを確認しつつデバッグなどもできるがひとまずは慣れるまで使い込んでみるのがいいだろう。

ポイント
  • 過去チャートでのEA検証をバックテストと呼称する
  • バックテストとリアルタイム取引(フォワードテスト)は必ずしも一致しない
  • バックテストは7割くらいの精度だと思った方がいいだろう

大きな経済指標のある時はかなりのズレが発生しやすいです。