今回は、FXの自動売買(EA)のバックテストでチェックするべき項目についてまとめてみました。
FXの自動売買(EA)のバックテストって何を基準にすればいいの?
よくFXの自動売買(EA)を使用している方で、
バックテストってどんなことを見ればよいですか?と質問されます。
今回はFXの自動売買(EA)のバックテストについて詳しくご紹介していきたいと思います。
FXの自動売買(EA)のバックテストとは?
FXの自動売買(EA)でよくバックテストという言葉があります。
バックテストというのは、
『過去のチャートに当てはめた場合に、どれだけ利益を得られるのかを知るためのテスト』
になります。
またフォワードテストというのも存在します。
フォワードテストは現在から未来を予測するテストになります。
つまり今まで過去のチャートで自動売買(EA)がどれだけのパフォーマンスがあったのかを
確認することができ良いシステムなのか悪いシステムなのか把握することができます。
過去のチャートのデータを元にシミュレーションして行えます。
つまり、FXの自動売買(EA)が優れているかどうかをテストが行えます。
これは非常に便利です。
FXの自動売買(EA)のバックテストでの注意点
ただし、あくまでの過去のチャートに対してテストを行っているということを
理解しておくべきです。
過去のチャートを元にテストをしているので、
未来には対応できない場合があるということを理解しておきましょう。
また、未来に対応できるテストもありますが、後日記事にしてまとめたいと思います。
バックテストによってある程度のパフォーマンスを得られているので
安心だと考えるべきではなくて、常にどれくらいのパフォーマンスを得られているのかを
把握しておくことが必要です。
もしもパフォーマンスが低下してきたのであれば、別の自動バ売買のEAデ取引を行うと
言った操作は必要になります。
FXの自動売買(EA)のバックテストの項目一覧
FXの自動売買(EA)のバックテストの項目一覧になります。
重要なものは黄色で色分けしているので、確認する際は黄色の項目を重視してみてください。
項目名 | 説明 |
---|---|
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)のバックテストの項目で見るべきポイントですが、
以下の5つを確認した方がいいです。
・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がなぜ資金効率を表すのかを説明したいと思います。
例えば、
・Bは総利益が150万円で総損失が100万円
だとすると、
Profit factor B:150/100=1.5
どちらも、純損益は50万円ですが、Profit factorはAが高いです。
Aは、50万円の総損失で、100万円の総利益を得られているので、
総損失を100万円で考えれば、200万円の総利益を得られているということになります。
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は総損益です。
総損益は当然多いほど良いです。
ただし、元本に対する割合も把握することが大切になります。
例えば、
B:証拠金1000万円で利益2%(月利2%)のEA
このAとBは意味合いが異なります。
同じ利益でもAの方が、資金効率が良いと言えます。
Profit trades (% of total)
Profit trades (% of total)は勝率です。
勝率はもちろん高い方がいいです。できれば『70%以上あるものは良いEA』です。
ですが、100%に近いものは塩漬けのEAなので注意が必要です。
勝率は単独で評価するのでは意味がないです。
勝率は損益レシオとセットで評価しましょう。
損益レシオ(リスクリワードレシオ)とは、
1トレード当たり平均利益÷1トレード当たり平均損失のことです。
この損益レシオの数値が高いほど、利大損小であることを意味しています。
例えば、あるEAで10トレードしたところ、以下の結果だったとします。
負けトレード:1回×1回当たり100pips
この場合は
損益レシオ:10/1000=0.1
となります。
次に、別のEAで10トレードしたところ、以下の結果だったとします。
負けトレード:5回×100pips
この場合は、
損益レシオ:150/100=1.5となります。
損益レシオと勝率をセットでどう評価すればいいのかと言うと、
「この損益レシオで総損益がゼロになるのは何勝何敗の時で、その時の勝率は何%か?」
と考えるようにしてください。
まとめ
FXの自動売買(EA)でバックテストを行うときはこの5つの項目をみてください。
ぜひFX-EA System Projectに参加してみてください。
コメント