FX FX-EASYSTEM PROJECT -自動化から自由へ-

【初心者必見】FXの自動売買(EA)のバックテストでチェックするべき項目についてまとめてみた

今回は、FXの自動売買(EA)のバックテストでチェックするべき項目についてまとめてみました。 目次 FXの自動売買(EA)のバックテストって何を基準にすればいいの?FXの自動売買(EA)のバックテストとは?FXの自動売買 […]

EAのバックテストでチェックすべき項目を解説する記事のアイキャッチ、ダークネイビー背景に「バックテスト」の文字とブルーのグラフ装飾
この記事でわかること
  • FXの自動売買(EA)のバックテストって何を基準にすればいいの?
  • FXの自動売買(EA)のバックテストとは?
  • FXの自動売買(EA)のバックテストでの注意点
  • FXの自動売買(EA)のバックテストの項目で見るべき5つのポイント一覧
  • バックテストの結果を過信しないためのチェック方法

今回は、FXの自動売買(EA)のバックテストでチェックするべき項目についてまとめてみました。

FXの自動売買(EA)のバックテストって何を基準にすればいいの?

FX 自動売買(EA) バックテスト

よくFXの自動売買(EA)を使用している方で、

バックテストってどんなことを見ればよいですか?と質問されます。

今回はFXの自動売買(EA)のバックテストについて詳しくご紹介していきたいと思います。

FXの自動売買(EA)のバックテストとは?

FX・EAの最新情報をLINEで受け取る相場解説・おすすめEA・限定コンテンツを無料配信LINEに登録する(無料)

FX 自動売買(EA) バックテスト

FXの自動売買(EA)でよくバックテストという言葉があります。

バックテストというのは、

『過去のチャートに当てはめた場合に、どれだけ利益を得られるのかを知るためのテスト』

になります。

またフォワードテストというのも存在します。

フォワードテストは現在から未来を予測するテストになります。

【初心者必見】FXの自動売買(EA)のフォワードテストでチェックすべきポイントについてまとめてみた

つまり今まで過去のチャートで自動売買(EA)がどれだけのパフォーマンスがあったのかを

確認することができ良いシステムなのか悪いシステムなのか把握することができます。

過去のチャートのデータを元にシミュレーションして行えます。

つまり、FXの自動売買(EA)が優れているかどうかをテストが行えます。

これは非常に便利です。

【初心者必見】FXの自動売買(EA)でバックテストの収益曲線の形についてまとめてみた

FXの自動売買(EA)のバックテストでの注意点

FX 自動売買(EA) バックテスト

ただし、あくまでの過去のチャートに対してテストを行っているということを

理解しておくべきです。

過去のチャートを元にテストをしているので、

未来には対応できない場合があるということを理解しておきましょう。

また、未来に対応できるテストもありますが、後日記事にしてまとめたいと思います。

バックテストによってある程度のパフォーマンスを得られているので

安心だと考えるべきではなくて、常にどれくらいのパフォーマンスを得られているのかを

把握しておくことが必要です。

もしもパフォーマンスが低下してきたのであれば、別の自動売買のEAで取引を行うと

いった対応が必要になります。

FXの自動売買(EA)のバックテストの項目一覧

FXの自動売買(EA)のバックテストの項目一覧になります。

重要なものは黄色で色分けしているので、確認する際は黄色の項目を重視してみてください。全項目を細かく見る前に結論だけ知りたい方は、後述の見るべき5つのポイントから読んでも構いません。

項目名 説明
Bars in test バックテストで利用したバー(足)の数
Ticks modelled バックテストで利用したティックの数
Modelling quality バックテストで利用したティックの割合。
Every tickでは90%が望ましい。
Open prices onlyではN/Aになる。
Mismatched charts errors エラーのあったバーの数
Initial deposit 初期投資額
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 平均連続負けトレード数

FXの自動売買(EA)のバックテストの項目で見るべき5つのポイント一覧

FX 自動売買(EA) バックテスト

FXの自動売買(EA)のバックテストの項目で見るべきポイントですが、

以下の5つを確認した方がいいです。

・Profit factor
・Total trades
・Maximal drawdown
・Total net profit
・Profit trades (% of total)

Profit factor(資金効率)

Profit factorは資金効率を見るための指標で、1.0以上あれば問題ありません。

ですが、Profit factorが高ければ、良いということではなく『1.5〜2.0がベース』です。

あまり高い数値のProfit factorはカーブフィッティングされている可能性があります。

カーブフィッテッグは過剰に最適化されているということで、

過去のチャートにフィットさせているので、よく見せているテストになります。

つまり、カーブフィッテッグを使えば、

誰でも良さそうな自動売買(EA)のEAを作成できてしまいます。

カーブフィッティングを見極める具体的な方法は、後述の「バックテストの結果を過信しないためのチェック方法」で詳しく解説します。

Profit factorがなぜ資金効率を表すのかを説明したいと思います。

例えば、

・Aは純利益が100万円で総損失が50万円
・Bは総利益が150万円で総損失が100万円

だとすると、

Profit factor A:100/50=2.0
Profit factor B:150/100=1.5

どちらも、純損益は50万円ですが、Profit factorはAが高いです。

Aは、50万円の総損失で、100万円の総利益を得られているので、

総損失を100万円で考えれば、200万円の総利益を得られているということになります。

Profit factor A: 200/100 = 2.0
Profit factor B:150/100 = 1.5

同じ100万円のリスクだった場合に、Aの方がより多く稼げることが分かります。

つまり、Profit factorが大きいAの方が資金効率が良いというわけです。

ちなみに、総トレード数が少ないと、

Profit factorは大きくなる傾向がありますのでご注意ください。

Total trades(総トレード数)

Total tradesとは総トレード数です。

総トレード数の数が多ければ多いほど良いです。

総トレード数が多いと大数の法則が働くので指標の精度が高くなります。

そして、総トレード数が多いと、複利効果も得られるので、

資金効率がよくなるというシナジーもあります。

Maximal drawdown(最大ドローダウン)

Maximal drawdownは最大ドローダウンです。

ちなみにドローダウンには3種類あります。

絶対ドローダウン:口座の初期資金からどれだけ下まで損益曲線が下がったかを表す
最大ドローダウン:大負けの最大金額を表す
相対ドローダウン:資金が最大何パーセント減ったかを表す
最大ドローダウンは資金の減り具合を見ることができますので小さい方が良いです。

できれば『30%以下に抑えられる』と良いです。

最大ドローダウンは元本をどれだけ必要かも判断できます。

証拠金は多ければ多い方が良いです。最大ドローダウンの3倍ぐらいが目安ですね。

複利で運用を考えている場合:相対ドローダウンを確認
単利で運用を考えている場合:最大ドローダウンを確認

という形で判断しましょう。

Total net profit(総損益)

Total net profitは総損益です。

総損益は当然多いほど良いです。

ただし、元本に対する割合も把握することが大切になります。

例えば、

A:証拠金100万円で利益20%(月利20%)のEA
B:証拠金1000万円で利益2%(月利2%)のEA

このAとBは意味合いが異なります。

同じ利益でもAの方が、資金効率が良いと言えます。

Profit trades (% of total)

Profit trades (% of total)は勝率です。

勝率はもちろん高い方がいいです。できれば『70%以上あるものは良いEA』です。

ですが、100%に近いものは塩漬けのEAなので注意が必要です。

勝率は単独で評価するのでは意味がないです。

勝率は損益レシオとセットで評価しましょう。

損益レシオ(リスクリワードレシオ)とは、

1トレード当たり平均利益÷1トレード当たり平均損失のことです。

この損益レシオの数値が高いほど、利大損小であることを意味しています。

例えば、あるEAで10トレードしたところ、以下の結果だったとします。

勝ちトレード:9回×1回当たり10pips
負けトレード:1回×1回当たり100pips

この場合は

勝率:9/10=90%
損益レシオ:10/1000=0.1

となります。

次に、別のEAで10トレードしたところ、以下の結果だったとします。

勝ちトレード:5回×150pips
負けトレード:5回×100pips

この場合は、

勝率:5/10=50%
損益レシオ:150/100=1.5となります。

損益レシオと勝率をセットでどう評価すればいいのかと言うと、

「この損益レシオで総損益がゼロになるのは何勝何敗の時で、その時の勝率は何%か?」

と考えるようにしてください。

バックテストの結果を過信しないためのチェック方法

ここまでの5つの項目は、あくまで『過去のある期間のデータに対する結果』です。

Profit factorの項目でも触れたカーブフィッティング(過剰最適化)は、

数値の見方だけでは気づきにくいので、別の角度からのチェックも組み合わせましょう。

アウトオブサンプルテスト(未使用期間での検証)

冒頭で触れたフォワードテストがこれから先の未来のデータで検証する方法なのに対して、

アウトオブサンプルテストは過去データのうち、パラメータの最適化に使わなかった期間で検証する方法です。

アウトオブサンプルテストとは、パラメータの調整に使った期間とは

別の期間のデータでバックテストを行い、同じような成績が出るか確認する方法です。

例えば、2020年〜2022年のデータでパラメータを最適化したEAであれば、

2023年〜2024年など、最適化に使っていない期間でも改めてバックテストしてみます。

もし最適化に使った期間だけ極端に成績が良く、それ以外の期間では成績が大きく落ちるようであれば、

そのEAは特定の相場環境に過剰に最適化されている(カーブフィッティングされている)可能性が高いです。

最適化に使った期間:パラメータを調整するためのデータ
アウトオブサンプル期間:最適化に使わず、検証専用に取っておくデータ

この2つの期間で成績が大きく変わらないEAほど、

将来的にも安定して機能する可能性が高いと判断できます。

まとめ

FXの自動売買(EA)でバックテストを行うときはこの5つの項目をみてください。

ぜひFX-EA System Projectに参加してみてください。

FX-EA System Projectの概要はこちら

関連記事

あわせて読みたい: FX自動売買を実際にやってみた結果についてわかりやすく解説してみた記事もあわせてご覧ください。

あわせて読みたい: FX検証ソフトの選び方や無料・有料の違い、失敗しない5つのチェックポイントについてわかりやすく解説してみた

LINELINEに登録する(無料)→