バックテストの方法

バックテストとは

バックテストとは、EA(自動売買ソフト)を導入したシステムトレードを開始する前に、そのEAが過去のチャート上でどのような取引をおこない損益や勝率など、どのような成績をあげているのかのかを確認する作業のことをいいます。過去のチャート上で良い結果が得られれば導入、悪い結果となった場合は導入を見送るなど、EA導入の大きな判断材料となります。

しかし、当社がシステムトレード中級者10名を対象としておこなったバックテストの実施調査では、バックテスト成功者はわずか1名となり、バックテストは誰もが容易に実行できる簡単な作業ではないということが分かりました。バックテストを成功させるためには、「過去データの削除」、「ヒストリカルデータの正確な設定」、「スプレッドの固定(通常2pips)」などが重要となるため、初心者から中級者までの方は、当サイト上で公開をしているバックテストのグラフデータを参考にすることをお勧めします。

バックテストをおこなった方は、当サイト上で公開しているグラフ結果とバックテスト結果がおおよそ一致する場合はバックテストは成功、結果が大きく乖離している場合は失敗しているとお考えください。なお、リアルタイムでの取引シミュレーション(フォワードテスト)をおこないたい方は、バックテストではなく、デモ口座を活用してデモトレードで検証することをお勧めします。

Metatrader4(MT4)内で、過去のデータ削除、ヒストリカルデータのインストールを済ませていない場合は「ヒストリカルデータの設定」ページに戻り、ヒストリカルデータの設定を完了させてください。ヒストリカルデータが正確にMT4にインストールされていなければ、バックテストの結果も不正確なものになります。

当ページでは一般的なバックテスト方法をご案内します。使用を検討しているEA毎でバックテスト方法が異なることがありますので、可能な限りEA配布元に従ってバックテストを実行してください。

ヒストリカルデータの確認

ステップ1

バックテストをおこなう前に、バックテストをおこないたいMT4 EAがどの通貨ペアを指定しているかをお確かめください。当ページではEURUSDのヒストリカルデータを使用してバックテストの方法を説明していきます。

MT4の「ファイル」→「オフラインチャート」をクリックしてください。

ヒストリカルデータの確認

下の画像のようにオフラインチャートが開きましたら、左の赤枠にある「ヒストリーデータ」にご注目ください。通貨ペアである「EURUSD」と、時間足である「M1(1分足)、M5(5分足)など」が表示されていることが確認できます。

バックテストをおこなうためには、MT4 EAが指定する通貨ペアの全ての時間足データが必要となりので、以下のように「EURUSD、M1」~「EURUSD,Daily」までのヒストリカルデータが必要となります。ヒストリカルデータが設定されていない場合は、「ヒストリカルデータの設定」ページをご参考に設定をおこなってください。

右側にある赤枠部分はヒストリカルデータがカバーをしている期間となります。「差出人」の列には最も古いデータの期間が表示されており、「終了」には最も新しいデータの期間が表示されています。「差出人から終了」までの期間内であればバックテストができるということを表しています。

問題がなければ「オフライン・チャートリスト」ウインドウを閉じます。

ヒストリカルデータの確認2

ストラテジーテスターの設定

ステップ2

MT4のツールバーの「ストラテジーテスター」をクリックし凹んだ状態にします。

ストラテジーテスターの設定1

チャート下部に下の画像のような「ストラテジーテスター」画面が表示されますので、赤枠のボタンが「エキスパートアドバイザ」になっているか確認します。なっていない場合はボタンをクリックすると選択できます。

ストラテジーテスターの設定1-2

下の画像の赤枠の三角をクリックすると、MT4に格納されている全てのMT4 EAが表示されますので、バックテストをおこないたいMT4 EAを選択します。

ストラテジーテスターの設定2

下の画像の赤枠の三角をクリックすると、バックテストがおこなえる通貨ペアが表示されますので、バックテストをおこないたい通貨ペアを選択します。

当ページではEURUSDでバックテストをおこなうため「EURUSD」を選択しています。

ストラテジーテスターの設定3

下の画像の赤枠の三角をクリックすると、バックテストがおこなえる時間足が表示されますので、バックテストをおこないたい時間足を選択します。

当ページでは5分足でバックテストをおこなうため「M5」を選択しています。

ストラテジーテスターの設定4

下の画像の赤枠の三角をクリックすると、バックテストのモデルが表示されますので、いずれかを選択します。モデルとはバックテストの精度のことです。

・全ティック : 最も正確なバックテストができますが、最も時間を必要とします。
・コントロールポイント : 全ティックよりも精度は落ちますが、テストは早く終了します。

・始値のみ : 精度は一番劣りますが、最も早くテストは終了します。

当ページでは「全ティック」でバックテストをおこないます。

ストラテジーテスターの設定5

下の画像の三角をクリックすると、バックテストをおこなうスプレッド幅が選択できます。
数値は0.1pips単位なので「2」の場合は0.2pips、「30」の場合は3pipsということになります。

「現在値」を使用される方は少ないですが、ご参考までに現在値を選択するとバックテストを開始した時点でのリアルタイムスプレッドが適用されます。スプレッドはバックテストのタイミングにより、常に異なることとなります。

また「スプレッド」の欄に数値を直接入力することで、自由にスプレッドを設定することも可能です。

当ページでは「20」を直接入力し、2pipsのスプレッドでバックテストをおこないます。

ストラテジーテスターの設定6

下の画像の「期間を指定」にチェックを入れると、バックテストをおこなう期間が指定できます。

「開始日」と「終了日」にそれぞれ年月日を入力します。

STEP1で確認したヒストリカルデータがカバーしている範囲内で指定しなければなりません。

ストラテジーテスターの設定7

EAの設定

ステップ3

下の画像の赤枠の「エキスパート設定」をクリックします。

EAの設定

「テストの設定」タブをクリックし、以下画像の赤枠部分の三角をクリックすると、初期証拠金が選択できます。当ページでは10,000USDでバックテストをおこないます。

初期証拠金には直接数値を入力することもできます。

EAの設定2

画像の赤枠の三角をクリックすると、初期証拠金の通貨種類が選択できます。当ページではUSDでバックテストをおこないます。

日本円でバックテストをおこないたい場合は、直接「JPY」と入力します。

EAの設定3

画像の赤枠の三角をクリックすると、MT4 EAがとるポジションの種類を選択できます。「Long only」はロング(買い)ポジションのみ、「Short only」はショート(売り)ポジションのみ、「Long & Short」は両方のポジションを持ちます。

当ページでは「Long & Short」でバックテストをおこないます。

EAの設定4

「パラメーターの入力」タブをクリックします。

各枠に表示されている数値は、ダブルクリックをして変更をおこなうことができます。

trueと表示されている部分ですが、ダブルクリックによりtrueまたはfalseのいずれかを選択することができます。「true」を選択すると変数の効果をMT4 EAに反映させることができ、「false」を選択すると変数の効果をMT4 EAに反映させることができなくなります。詳細についてはEA配布元にお尋ねください。

設定が終わったらOKをクリックします。

EAの設定5

以上でEAの設定は終了です。下の画像の赤枠の「スタート」をクリックするとバックテストが開始されます。

EAの設定6

バックテスト結果

ステップ4

下の画像のようにバーが全て緑色になったらバックテストの終了です。赤枠の「結果」をクリックします。

バックテスト結果1

「結果」タブをクリックするとバックテストのトレード履歴が全て表示されます。

・時間:発注が行われた時間
・取引種別:「buy」は買いポジション、「sell」は売りポジション、「t/p」は指値による利確、「s/l」は逆指値によるロスカット、「close」は利確値または損切値に到達しない状態での途中決済
・注文番号:ポジションを保有した順番
・数量:発注ロット数
・価格:発注時のレート
・決済逆指値(S/L):損切値
・決済指値(T/P):利確値
・損益:利益または損失

・残高:その時点での証拠金の総額

確認が終わったら赤枠の「グラフ」タブをクリックします。

バックテスト結果2

「グラフ」タブをクリックすると、証拠金の変動を確認することができます。

確認が終わったら「レポート」タブをクリックします。

バックテスト結果3

「レポート」タブをクリックするとバックテストの結果の詳細が確認できます。

・テストバー数:バックテストをした時間足のバーの数
・モデルティック数:バックテストで使用したティック数
・モデリング品質:バックテストの精度。90%が最高で「全ティック」のバックテスト時のみ表示
・不整合チャートエラー:各時間足の不整合数。基本的には「0」でなければなりません。
・初期証拠金:バックテスト開始時の証拠金
・総損益:総利益 - 総損失
・総利益:利益の合計
・総損失:損失の合計
・プロフィットファクター:総利益 ÷ 総損失
・期待利得:総損益 ÷ 総取引数
・絶対ドローダウン:初期証拠金からの最大ドローダウン
・最大ドローダウン:最大ドローダウンの金額
・相対ドローダウン:最大ドローダウンの比率
・総取引数:トレードの総数
・売りポジション(勝率%):売り(ショート)ポジションの総数と勝率
・買いポジション(勝率%):買い(ロング)ポジションの総数と勝率
・勝率(%):トータルの勝ち数と勝率
・負率(%):トータルの負け数と負率
・最大勝トレード:勝ったトレードの最大金額
・最大敗トレード:負けたトレードの最大金額
・平均勝トレード:勝ったトレードの平均金額
・平均敗トレード:負けたトレードの平均金額
・最大連勝(金額):連勝の最大回数とその時の利益
・最大連敗(金額):連敗の最大回数とその時の損失
・最大連勝(トレード数):最大連勝時の利益とその回数
・最大連敗(トレード数):最大連敗時の損失とその回数
・平均連勝:平均連勝回数

・平均連敗:平均連敗回数

バックテスト結果4

レポート画面上で右クリックをおこなうと、下の画像のようなウインドウが表示されレポートのコピーや保存ができます。

バックテスト結果5

当社の無料EAを取得したことのない方は、是非以下の無料EAの一覧ページよりご取得ください。

無料EA一覧