MT4バックテストデータの見方


当サイトの無料EAでも公開していますが巷では無料・有料を含め、いろんなEAでバックテストデータが公開されています。

今回はそのバックテストデータの見方について、EAトレーダーの立場で出来るだけわかり易く説明しようと思います。

MT4でEAのトレードをやっている人にとっては必須のことなので、既に知っている人が多いと思いますが、まだ知らない人はこの機会にしっかり理解しましょう。

前提として一つだけ事前に確認しておきたいおことがあります。それは固定ロットでのテストなのか可変ロット(口座残高に応じてロット数を変える)でのテストなのかということです。

基本は固定ロットです。固定ロットのテストでないと重要な情報が得られなくなります。(設定ロットに対してのドローダウンなど)

可変ロットのバックテストを公開する意図としては、「現実以上にEAのスペックをよく見るための印象操作」以外には思い当たりません。あくまで販売者のマーケティング上の都合だと思います。

MT4でバックテストを行うと以下のような集計を得ることができます。

本来グラフの下には全取引履歴が記載されています。

MT4のバックテスト各項目の説明

MT4のバックテスト各項目の説明

項目(英語/日本語) 内容、説明
Symbol

通貨ペア

テストで使った通貨ペア
Period

期間

使ったタイムフレームとテストした期間
Model

モデル

バックテストした方式

Every tick(全ティック)が基本

 Parameters

パラメーター

 テストしたパラメーターの設定
 Bars in test

テストバー数

バックテストで使ったバー(足)の数
 Ticks modelled

モデルティック数

 バックテストで使ったティックの数
 Modelling quality

モデリング品質

 バックテストのティックの品質

Every tickで90.0%が基本

 Mismatched charts errors

不整合チャートエラー

 エラーがあったバーの数

「0」が基本

 Initial deposit

初期証拠金

 スタート時の口座残高
Spread

スプレッド

バックテストでのスプレッド設定

(ポイント表記)

Total net profit

純益

総損益(総利益-総損失)

Gross profit

総利益

勝ちトレードだけの利益合計

Gross loss

総損失

負けトレードだけの損失合計

 Profit factor

プロフィットファクター

プロフィットファクター(総利益/総損失)

1以上ならトータルで利益になっている

Expected payoff

期待利得

総損益/総トレード数
Absolute drawdown

絶対ドローダウン

初期投資額からのドローダウン
Maximal drawdown

最大ドローダウン

期間中の資産グラフ上の山と谷の最大の差

最大の資産の減少額

Relative drawdown

相対ドローダウン

ドローダウンの中でドローダウン率が一番大きいもの。
Total trades

総取引数

総取引数が多いほど信頼性は高くなる。

(大数の法則)

Short positions (won %)

売りポジション(勝率%)

売りポジションの取引回数(勝率)

Long positions (won %)

買いポジション(勝率%)

買いポジションの取引回数(勝率)

Profit trades (% of total)

勝率(%)

トータル勝ちトレードの回数(勝率)

Loss trades (% of total)

負率 (%)

損失が出た取引回数(負け率)

Largest profit trade

最大勝トレード

全取引中の1トレード当たり最大利益

Largest loss trade

最大敗トレード

全取引中の1トレード当たり最大損失

Average profit trade

平均勝トレード

1トレード当たり平均利益

(総利益/勝ちトレード数)

Average loss trade

平均敗トレード

1トレード当たり平均損失

(総損失/負けトレード数)

Maximum consecutive wins (profit in money)

最大連勝(金額)

最大連続勝ちトレード数(利益)

Maximum consecutive losses (loss in money)

最大連敗(金額)

最大連続負けトレード数(損失)
Maximal consecutive profit (count of wins)

最大連勝(トレード数)

最大連続利益(連続勝ち回数)

Maximal consecutive loss (count of losses)

最大連敗(トレード数)

 最大連続損失(連続負け回数)

Average consecutive wins

平均連勝

 平均連続勝ちトレード数

Average consecutive losses

平均連敗

 平均連続負けトレード数

EAの何が 各項目でわかるか

EAの何が 各項目でわかるか

項目数が結構多いのですが、各項目の内容で何がわかるのかを簡単に説明していきます。

Symbol・通貨ペア

見た通りですが、テストした通貨ペアが表示されています。

Period・期間

テストしたタイムフレーム(時間足)とテスト期間が記されています。

タイムフレームはMT4の仕様上、1分足を使ったものは著しく精度が下がりますので注意してください。

テスト期間が短い場合は、カーブフィッテイングになっていることも考えられるので、なるべく長期のものの方が信頼性は高いと思います。

具体的には5年以上、できれば10年くらいはあった方が良いように思います。

Model・モデル

バックテストをする時に、全ティックで行うか、コントロールポイント(1つ下の時間足でテスト)行うか、始値のみで行うかを選択できます。

当然ですが精度的には、全ティック>コントロールポイント>始値のみ、です。

Every tick(全ティック)が基本です。

Parameters・パラメーター

テストしたEAのパラメーター設定です。

 Bars in test・テストバー数

バックテストで使ったバー(足)の数が示されています。

同じEAを同じ期間で同じ時間足で、違うヒストリカルデータでテストした場合この部分が違う場合が多いのですが、一般的にはこのテストバーの数が多いほうがデータの抜けが少ないと言われています。

精度の問題もあり一概にこれだけでデータの良し悪しは決められませんがある程度は参考になると思います。

Ticks modelled・モデルティック数

バックテストで使ったティックの数が示されています。

これも「 Bars in test・テストバー数」と同じ意味合いで見る場合が多いと思います。

Modelling quality・モデリング品質

バックテストのティックの品質で、Every tickで90.0%が基本です。

通常のMT4のティックは擬似ティックを使っている関係上90.0%以上にならないのですが、「Tickstory」というものを使い実際のティックデータを使ったバックテストも可能です。

これを使って正しくバックテストした場合はモデリング品質は99.9%になります。

1分足のEAをバックテストする場合やトレーリングストップを使ったEAをテストする場合は利用価値があるのですが、生のティックテータを使うのでデータ量が大きくなり長期間のテストができない事とスピードがかなり遅いというデメリットもあります。

興味のある方は調べて見ても面白いと思います。

Mismatched charts errors・不整合チャートエラー

エラーがあったバーの数で「0」が基本です。ここの数字が2桁、3桁の数字になっている場合はテストの信頼性は低いように思います。

Initial deposit・初期証拠金

スタート時の口座残高で、テスト結果を見て行く上であまり重要ではありません。

Spread・スプレッド

バックテストでのスプレッド設定をポイント表示しています。

EAを稼働させるブローカーの平均的なスプレッドよりどれだけかプラスしてテストします。当サイトの場合はユーロドルでXMの平均スプレッドよりも0.5〜0.9pipsほど加えて厳くテストしています。

私の意見ですが、少し厳しいくらいでテストした方が現実的ではないかと思います。

バックテストの結果を良く見せたい場合はスプレッドの値を小さくすると見違えるように良くなる場合がありますw

Total net profit・純益

総損益(総利益-総損失)を示しています。

ここがマイナスの場合は話にならないのですが、売買ロット(固定ロット)とテスト期間を考慮して、年間の単位ロットあたりの平均利益を見積もることができます。

Gross profit・総利益

勝ちトレードだけの利益合計ですが、あまり使わないように思います。

Gross loss・総損失

負けトレードだけの損失合計ですが、これもあまり使わないように思います。

Profit factor・プロフィットファクター

総利益/総損失で、1以上ならトータルで利益になっていることを表します。

この数値を重要視する人は非常に多く、数値が大きいほど損失に対しての利益が大きいという事で、効率が良いということになります。

現実的には1.4〜2くらいの間が現実的で優秀なEAなような気がします。

EAを作る場合フィルターを強くかけて、取引回数を減らして勝率を上げればプロフィットファクターはある程度あげることはできますが、効率と実利益のバランスの兼ね合いで難しい部分があります。

Expected payoff・期待利得

総損益/総トレード数、1トレードあたりの平均期待利益ですが、売買ロットに対して小さいと、ちょっとした条件の変化で結果が大きく変わるためテストの信頼性が落ちると思います。

具体的には0.1ロットあたりの場合で100円とか200円相当の場合は、ちょっとダメじゃないかな〜と思います。

Absolute drawdown・絶対ドローダウン

初期投資額からのドローダウンですが、スタート直後にドローダウンするとここの数値が大きくなります。

この項目はあまり利用価値がないように思います。

Maximal drawdown・最大ドローダウン

期間中の資産グラフ上の山と谷の最大の差で、最大の資産の減少額を表します。

十分なテスト期間であれば、売買ロット(固定ロット)に対しての最大での負け幅を見積もるのに大変役に立ちます。

ポートフォリオに加えるかや、売買ロットを決めるために大変重要な項目だと思います。

Relative drawdown・相対ドローダウン

ドローダウンの中でドローダウン率が一番大きいものですが、正直に言うと見ていませんw

Total trades・総取引数

総取引数が多いほど大数の法則によりバックテストの信頼性は高くなります。

また、テスト期間を考慮して平均での月間や週間でのポジション数を見積もることができます。

Short positions (won %)・売りポジション(勝率%)

売りポジションの取引回数と勝率です。テイクプロフィット値を小さくしてストップロス値を大きくすれば当然勝率は上がるのですが、いわゆるコツドカ(コツコツドカン)になります。

リスクリワードと勝率の兼ね合いが重要です。

売りと買いで差があるかも確認します。

Long positions (won %)・買いポジション(勝率%)

買いポジションの取引回数と勝率です。

基本的に一つ上の売りポジションの場合と同じです。

売りと買いで差があるかも確認します。

Profit trades (% of total)・勝率(%)

売り買い合わせたポジションの取引回数と勝率です。

基本的に上の売りポジションの場合と同じです。

Loss trades (% of total)・負率 (%)

損失が出た取引回数と負け率ですが、私は参考にしていません。

Largest profit trade・最大勝トレード

全取引中の1トレード当たり最大利益ですが、これも私はあまり参考にしていません。

Largest loss trade・最大敗トレード

全取引中の1トレード当たり最大損失ですが、これも私はあまり参考にしていません。

Average profit trade・平均勝トレード

1トレード当たり平均利益(総利益/勝ちトレード数)で、EAがどういう動きをするのかを推測するのにチラッと見る程度です。

Average loss trade・平均敗トレード

1トレード当たり平均損失(総損失/負けトレード数)で、一つ上と同じでチラッと見る程度です。

Maximum consecutive wins (profit in money)・最大連勝(金額)

Maximum consecutive losses (loss in money)・最大連敗(金額)

Maximal consecutive profit (count of wins)・最大連勝(トレード数)

Maximal consecutive loss (count of losses)・最大連敗(トレード数)

Maximal consecutive profit (count of wins)・最大連勝(トレード数)

Maximal consecutive loss (count of losses)・最大連敗(トレード数)

Average consecutive wins・平均連勝

Average consecutive losses・平均連敗

上記8項目については、ほとんど見ていません。

たまに見ても「ふ〜ん」と言うくらいで、バックテストのグラフを見ればわかるようなことなので、余り役に立つようなものではないような気がします。

バックテスト結果で必ず見るところ

バックテスト結果で必ず見るところ

MT4のバックテストで必ず見るところと、特に重要なところは赤字にしています。

バックテスト結果を見る時に、瞬時に以下のところをみてある程度は判断しています。

*事前に固定ロットかどうか、売買ロットサイズを調べる

Symbol・通貨ペア

Period・期間

Model・モデル

Modelling quality・モデリング品質

Mismatched charts errors・不整合チャートエラー

Spread・スプレッド

Total net profit・純益

Profit factor・プロフィットファクター

Expected payoff・期待利得

Maximal drawdown・最大ドローダウン

Total trades・総取引数

Short positions (won %)・売りポジション(勝率%

Long positions (won %)・買いポジション(勝率%)

MT4バックテスト結果の見方 まとめ

MT4バックテスト結果の見方 まとめ

バックテストデータで重要視する項目は人によって若干違う場合があるとは思います。

まず、テスト項目の意味を理解して自分なりに一覧を見て比較して見てください。

いろんなEAのバックテストを自分で行ってデータを見ているうちに自分の重要視するポイントが絞られてくると思います。

これを言うと身もふたもないのですが、バックテストは過去のデータに対しての検証です。未来のことは正直言ってわからないと思います。

しかし、ある程度過去と値動きの傾向に類似性があるとの前提で参考にするもので、過度に信用するのは良くないと思います。

例えば最大ドローダウンの値を超えることもしばしばあることですし、EAのロジックの賞味期限が切れて機能しなくなることもあります。

そんな中でも、分からない未来のトレードに対して、バックテストは僅かでも判断の根拠を与えてくれると思います。

無駄に長くなって申し訳ありません。時間がある時に記事を書き直します。

関連記事

勝てるEAを見極めるには?

>>自動売買リアル戦記トップページへ戻る


XMアフィリエイト




コメントの入力は終了しました。
トップへ戻る