EAの性能を見極めるバックテストの見方

バックテスト

今日はバックテストの見方について解説します。
EAで自動売買をして運用するなら必須です。
世の中にはEAで溢れかえっておりますが、その見方がわからないと使わない方が良いと思います。

バックテストの重要性

バックテストとは過去の取引を数値化したものです。
バックテストのグラフや数値を判断してEAを稼働させるか決めます。

またEA開発者はより利益の上がりやすいEAの開発を目指します。

ですのでバックテストの見方がわからないと良いEAかどうか判断がつきません。
EAの見方も人それぞれですので正解はありません。

長いスパンで見る人もいれば直近を重視する人もいるでしょう。

ですので、私の見解でお話ししますね。

それでは私が開発の「TrTiger Z」を例に解説していきます。

まずグラフですが当然右肩上がりが基本です。
右肩上がりなら過去の相場の期間において利益が出ていた相場です。

注意したいのが、右肩上がりの綺麗な一直線はナンピンやマーチンのEAが多く1回の負けで破綻するようなEAも多いので気を付けましょう。

①期間

10年は必要でしょう。10年間右肩上がりでであれば過去の相場において10年間利益をあげてきたEA ということになりますのでそれだけ信頼度が上がります。

また1分足はデータが始値、終値、高値、安値の4つしかないので5分足にくらべて大幅にデータ量が少ないの再現性が低くなります。

②モデル

始値のみと全ティックではデータ量が雲泥の差があります。
当然全ティックは実際の相場の動きに近くなりますので信頼度は上がります
始値では右肩上がりでも全ティックでは右肩下がりになる場合もあるので注意が必要です。
特にスキャルピングEAは注意が必要です。

全ティック一択です。

ではなぜ始値のみとか全ティックがあるかというと、バックテストは結果が出るまで時間がかかります。ものによれば数時間かかることもあります。

ただ、EAによってはローソク足1本で1回だけエントリーするかを判断するEAも多くその場合、始値のみにすると一瞬で終わります。

開発者はひたすら検証しますのでEA開発では良く使われます。

③不整合チャート

こちらも以外は選択肢に入りません。


例えば10年以上のバックテストでエラー1とします。
そのエラー1が10年以内にあるかもしれません。
致命的なエラーであれば、それが資産に大きく影響するようなエラーなのかもしれません。

修正しないで出品するEA開発者はいないと思いますが、もし見落としであれば使う側とすれば何がエラーなのかエラーにならない限りわからないわけですからめちゃめちゃ怖いですよね?

なので購入するのは止めるか開発者に直してもらうように伝えるなりした方が良いですね?

④純益 

総利益-総損失
もちろん大きい方が良いですが、Lotを上げれば大きくなるため何Lotで運用しての結果なのかも見る必要があります。

⑤プロフィットファクタ

総利益 ÷総損

1以上で利益が出ていることになります。
過剰最適化すれば上がりますので大きければ良いというものでもないですね。

⑥総取引数

総数では10年で1000以上が最低ラインと考えます。
多ければ多いほど信憑性は高くなります。

1年で100以上で計算すれば良いと思います。但し期間も重要です。

例えば3年で1000回だけの表示であれば10年で1000回の方が個人的見解では良いです。
相場が大きく変わることがあるので数年単位のバックテストしか表示しないEAはあまり信用できません。

⑦最大ドローダウン

かなり重要と思っています。

バックテストの期間において最大でどこまで収益が下落したかということです。
資金管理の上で最大ドローダウンを基準としてLotを決めることが多いです。



⑧モデリング品質

100%と言いたいところですが、100%はありません。
最大で90%です。1分足の場合は25%まで一気に下落しますので、5分足以上のEAをお勧めします。

但しDTSを使ったバックテストであれば全ティックで99.9%ですので飛躍的に信頼度は上がります。

⑨スプレッド

 ここも重要です。その通貨ペアに見合ったスプレッドでバックテストをされているか?が問題です。たとえば「USDJPY」だと1.0pips前後のブローカーが多いです。

「GBPJPY」だと2.0pips~3.0pipsくらいです。例えば「GBPJPY」のEAでスプレッドを1.0にしていたとするとスプレッドで右肩上がりになっている可能性があります。

悪意があれば簡単に騙せてしまうので必ず確認ましょう。

自分が利用するブローカーのスプレッドを確認し開きがないか見てください。

因みに例のバックテストの画像は5桁の業者ですので1.0pipsであれば 10 で表示されなければいけません。

RF(リカバリーファクタ)

「RF」はバックテストでは表示されませんので計算して数値を出します。

「純益」÷「最大泥ドローダウン」

8以上が最低ラインされていることが多いとされていますが、私の見解では
10以上です。

大きいほど、上下のブレが少なく優秀なEAと言えます
「RF」はEA開発者にとって重要な要素ですので意識して開発している開発者は多いです。

コメント