特殊なツールをお使いの方向けにバックテスト代行もございます
バックテストでインジケーターを検証しよう
上記は無料のバックテストツールハイローオートアナライザーのグラフ
バイナリーオプションに豊富に用意されているMT4のインジケーターの中には、自動売買で運用ができるように矢印をだしてくれるものが数多くあります。
そしてこのインジケーターにはそれぞれ個性があり、逆張り型やトレンド型、RSIやボリンジャーバンドを使ったものなどたくさんの種類があるのですが、これらインジケーターにはそれぞれ得意な相場や、得意な通貨などがあり、適切な設定で稼働して勝率をあげていくという作業が必要です。
しかし多くのトレーダーさんが2~3日程度利用しただけで「勝てる・負ける」を感覚的に決めてしまい、実は勝てる可能性のあるインジケーターなのにたまたま負けたから使わない、又はその逆などで安定しない運用を続け、結局トータルで勝てないということが頻繁に起こっています。
そこで、感覚的な判断を除外するために、自動売買をおこなうトレーダーさんは「バックテスト」を行う必要があります。
バックテストとは?
バックテストとは、過去のエントリーした位置を分析して、勝率を計算するテストです。
主なチェックポイントに、取引回数、勝数、負け数、引き分け数、連勝数、連敗数などがあり、期間ごとの計算も可能です。
連勝数、連敗数からインジケーターの苦手な相場がわかりますし、勝率が低ければ相性の良い通貨や時間足などを見つけるために色々と設定を変えてテストをします。
また、勝率が高かったところはどこか別の市場と相関がなかったかなどのチェックもバックテストを行う上で有効です。
こちらはバックテスト代行サービスでお渡しする市場相関データ
バックテストで検証するメリット
バックテストをすると、「短時間でインジケーターのロジックの傾向がわかる」という大きなメリットがあります。
例えばインジケーターの無料配布サイトなどでダウンロードしたツールをそのままデモトレードで動かしてしまうトレーダーさんは多いですが、デモトレードで何日かぽちぽちとテストしただけでは検証時間としては短すぎて正確な数値がわかりません。
バックテストでしたら長期の分析が早く行えますし検証期間も自由です。
例えばコロナ前後では相場が違うので、その期間を比較してどの通貨やどの時間軸なら勝てるのかの目安を知っておくことは非常に大切です。
また、最大連敗数などをバックテストで目安としてだしておけば、3~4連敗したところで想定通りなのでメンタルはゆらぎません。
テクニカル的にもメンタル的にもバックテストはプラスの要素が非常に多いのです。
バックテストのデメリット
バックテストですが、まったくやったことがない人が初めてやる場合は、少々勉強が必要です。
バックテスト用のマニュアルが用意されていればまだよいですが、マニュアルがまったくなツールもたくさん存在しますし、設定にコードを書く必要があるものも少なくありません。
また、準備としてヒストリカルデータ(MT4の価格のデータ)をダウンロードしなければいけなかったり、もし10年などの長期間で1分足を検証をやるとなると、検証するデータをダウンロードするだけでもかなりの時間がかかったりもします。
あと重要なこととして、あくまで「過去のデータから傾向を分析する」ものがバックテストであって、これからの結果を保証するものではないということも重要です。
色々と地味な作業、理解が必要ですが、この手順の先に「稼ぐ」ということがありますのでそこは我慢です。
バックテストツールを使ったバイナリーオプション検証のコツ
バイナリーオプションのバックテストをおこなう、ほとんどの方はMT4を利用されているかと思います。
そして、MT4にストラテジーテスターというバックテスト機能が実装されているのはご存じの方も多いかと思います。
しかしストラテジーテスターは、FXのEA(エキスパートアドバイザ)用に作られているためそのままでは使えず、バイナリーオプションでバックテストをおこなう場合はプログラミングの知識が必要になります。
プログラミングよりも敷居の低いエクセルを利用する方法も多く紹介されているのですが、MT4の価格データ(ヒストリカルデータ)を分析していく際には、やはり関数などを入力する必要があり、一般の人にとっては簡単とは言えません。
そこで今回は、ハイローオートに実装されている無料バックテストツールである「ハイローオートアナライザー」を利用してバックテストを行うコツをご紹介していきます。
バックテスト無料ツール 「ハイローオートアナライザー」
「ハイローオートアナライザー」はMT4のストラテジーテスター機能を介して分析ができるツールです。
①MT4を使って勝率データをバイナリーオプション仕様で出力する
②出力したデータをアナライザーで読み取りグラフに変換する
通常、ストラテジーテスターでバックテストをおこなう場合には、MQLというプログラミング言語の知識が必要ですが、ハイローオートアナライザーを使えばコードを使わなくても分析が可能になります。
巷で3~5万円で販売されているツールと変わらない機能もそなえており、ハイローオートにユーザー登録していなくても無料ですべての機能がご利用いただけます。(無料版は一部広告あり)
詳しい操作方法に関してはマニュアルがありますのでそちらをご覧ください。
ここではバックテストのコツをご紹介していきます。
バックテストではなにを見ればよいのか?
ファイル名 | 現在選択中のファイル名です |
エントリー/判定表示時間 | 分析結果の時間を【MT4時間】で表示していることを表しています。 |
バックテストに使用した時間足 | データ出力時に設定した時間足がここにでます |
購入数 | 取引のあった回数です |
勝数 | 勝った回数です |
負数 | 負けた回数です |
引分数 | 引き分けの数です (業者によりますが、ハイローオーストラリアは引き分けは負けです) |
勝率 | 勝ちトレード数を全体の取引数で割った数値です |
最大連勝数 | 連勝数です |
最大連敗数 | 連敗数です |
プロフィットファクター | 総利益÷総損失の値です。FXの場合ですと理想は1.3~1.6あたりに収まりたいです |
最大ドローダウン | 期間中に、資産から最大どれぐらいの損失が出たかの値です。 |
総損益 | 最終損益の数字です |
勝率の考え方
Twitterでバイナリーオプションというと、勝率80%、90%をうたったインジケータが溢れていますね。しかしそんな美味しい話なんてあるはずもなく、1年を通して稼げているインジというものは56~62%前後に収まるものが多いのではないでしょうか。
そしてバイナリーオプションの場合、勝率に絡めて利益を考える時に、ここにペイアウト率が関わってきます。ペイアウト率が1.8倍としますと、1000円を賭けた場合に勝った時の配当は1800円となります。もちろん負けた時は-1000円。
それを踏まえて、ペイアウト率1.8倍、1回1000円賭けで1000回取引をした時に勝率50%ではどうなるでしょうか?
購入金額は1000円×1000回で100万円です。50%の勝率なので総利益は500回×1000円×1.8(ペイアウト率)で90万円となります。
購入金額が100万円だったので10万円の赤字になってしまいましたね。
では同じ条件で勝率が60%の場合を計算しますと、総利益は600回×1000円×1.8(ペイアウト率)で108万円で、8万円の黒字です。
なるほど、取引を1000回取引するとなるとだいたい1年くらいかかるでしょうかね。1000円の賭け金で100万円が108万円ってことは年率8%、もし5000円の賭け金にすれば年率40%!それはすごい!
・・とはならないんです。上記はあくまでバックテストの結果でして、実際に稼働するとなると、ここにMT4の業者とHighLow.comの価格の差、同値による負け判定、さらには「ハイロー.comからの不利な約定」の可能性を加味しなければいけません。
どういうことかと言いますと、ハイロー.comは我々に賭ける場所を提供している業者ですが、お客さんの負けた分はそのままハイロー.comの利益となります。
ですので実際にハイロー.comでエントリーすると数秒のタイムラグの後、なんか思っていたよりも悪い位置ではいってしまった経験をお持ちの方は多いかと思いますが、あれは純粋に通信速度の遅延以外にハイロー.comの操作がはいっていると考えるべきなのです。
これはFXの世界では当たり前のようにあることなのですが、バイナリーオプションはそのお手軽さから、顧客の殆どは投資を始めたばかりの方が多く、この実情を知らない方も多いんです。
それを踏まえますと、実際にロジックを走らせてみると勝率が1~2%程度バックテストよりも下がると考えたほうが現実的です。ですので、バックテストで勝率60%をだしていても、厳し目に見積もって現実的には58%程度のパフォーマンスに収まると考え、先程の計算式に当てはめますと・・・
総利益=580回(勝率58%)×1000円×1.8(ペイアウト率)で104万4000円で、4万4000円の黒字です。
連勝数&連敗数の考え方
連勝数&連敗数ですが、こちらはそのロジックがどのような相場が得意なのかを見つけ出すのに使用します。勝率も大切ですが、実際に運用成績に差が出るのはこちらの使い方です。
ハイローオートのアナライザの取引履歴(Resultデータ)は3連勝以上しますとその部分の色が変わりますので、連勝部分が目視で見つけやすいように設定されています。(現在この機能を一時停止しています、次回アップデートで復活します)
その部分の取引時間を見まして、そこが日本時間だったのか、欧州時間だったのか、仲値やロンドンフィックスの時間は絡んでいなかったか?
日足でフィボナッチの50%や61.8%などのもみ合う部分だったのか?
パーフェクトオーダー中だったり、バンドウォークが発生中ではなかったか?
などなど、裁量での分析と絡めて、お使いのロジックの得意な相場というものを見つけ出すのに使用します。ここに関しては個人のチャートを読み解く技術と大きく関わる部分ですので、当然差が出ます。そしてここはしっかり勉強するべきところです。
FX-EAラボではオリジナルのロジックを10つ程度稼働させていますが、ロジックの特性に合わせてあらかじめ設定した条件が発生するとロジックを自動停止や自動起動するように作り込んであります。
単体で勝率65%以上のロジックはそうそう無いのですが、上記のような運用でそのような数字をだすことも可能になります。
最大ドローダウンの考え方
最大ドローダウンは、最大資産から最も大きい下落率のことを指します。つまり口座資金はこの最大ドローダウン分は考慮していれておいてくださいねということです。
しかしバックテストで見える最大ドローダウンですが、実際にロジックを稼働させますと簡単に超えてくるものでもあります。
ですので本当に安全に運用したいのであれば、この最大ドローダウンの3倍程度の余裕資金は欲しいところです。
その他のバックテスト分析方法
プロフィットファクター
プロフィットファクター(PF)は総利益÷総損失で計算します。
例えば総利益が100万円で、総損失が50万円ならPFは2.0となります。負けていれば1.0以下になりますし、勝ていれば。1.0以上になります。
このプロフィットファクターはFXでとても重要視されるのですが、それは「いかに損失を押さえて大きな利益をだせているか」の指標となっているからです。
純利益を重要視する方は多いかと思いますが、純利益と純損失はレバレッジで大きく変化するので、システムの能力を測る指標としては向いていません。
リスク・リターンの双方がふくまれているPFのほうがFXのロジックでは重要視されます。
それを踏まえてのバイナリーオプションでのPFの考え方ですが、実はFXほどPFは重要ではありません。バイナリーはリスクとリターンが一定ですので、PFよりも勝率のほうが大切なのです。
しかし巷ではPF2倍!3倍!なんて意味の良くわからないことを全面にだしているバイナリーオプションのロジックがあったりしますので解説しておきました。
というわけでPFは参考程度に収めておきましょう。
ATRフィルターを利用する
ハイローオートアナライザーにはATRフィルター機能がついています。
これは主に1分や5分などの短い取引で負けやすい、相場のボラティリティがない時のエントリーを避けるためのものです。
バックテストデータをMT4で作る際に、アナライザーの設定でこのATRを加味したデータの出力も可能です。
特に深夜帯や日本時間のお昼以降からボラティリティが下がりますが、その時間帯で自動売買の「稼働停止」したほうが良いのか、ATRをつかって「エントリー数を減らす」ほうが良いのかの、バックテスト検証はやったほうが良いですね。
損益グラフとチャートは必ず照らし合わせる
こちらはハイローオートアナライザの月別損益グラフ
同じ期間をチャートでだして、お好みのインジを表示させます
ハイローオートのバックテストで出せる損益グラフは、それだけを見て満足して終わってしまう人が大半かと思いますが、これから長く自動売買に関わっていくのでしたら、必ずチャートと照らし合わせて分析を行う必要があります。
まず青い枠ですが、損益グラフをみますと利益をあげていることがわかります。
そしてチャートの同じ期間である青い枠の期間をみますと、まず2本の移動平均線が近い位置で行ったり来たりを繰り返しもみ合っている事がわかります。そしてATRが比較的高い数値を示しています。
次に損益グラフでマイナスをだしている赤い枠の期間を見ると、移動平均線の乖離が大きく、トレンドがでていることがわかります。そしてボラティリティに関してはそこまで大きくありませんね。
つまりこのバックテストをおこなったロジックは、ある程度ボラティリティがあるレンジが得意で、だらだらとトレンドを形成されるのが苦手なロジックということが推測できます。
この特性を理解した上で、ロジックの停止などの判断をもう少し早く反応させるために5分足や15分足を使って、ボラティリティの変化やトレンドの発生を見てロジックを停止したり稼働させたりの判断をおこないます。
もちろん上記の例はあくまで一例でありますが、アナライザーの活用方法として役に立てていただければ幸いでございます。
バックテストと実際の取引の結果がずれる理由
ここまでバックテストのやり方をご説明してきましたが、バックテストを行った後に実際に稼働させてみると、バックテスト通りの成績にはなりません。
むしろバックテストよりも成績が悪くなることがほとんどかと思います。
理由としては、バックテストは実際にハイローオーストラリアを使って検証するわけではなく、MT4のヒストリカルデータ内で完結するので、スリッページやリクオート(約定拒否)などが考慮されておりません。
そこで、より正確なテストを求める方はフォワードテストをあわせておこなう事です。
スリッページやリクオートの影響があることを勘案しますと、基本的に取引回数の多い短い時間のゲームほど長い時間のゲームに比べてバックテストと実際の成績の乖離が大きくなります。
また、1分足のテストに関してはTDSというティック単位のヒストリカルデータを使わないと精度が落ちますのでその点もご注意くださいね。
リペイントするツールのバックテスト
過去に出した矢印を強制表示させてみると削除(リペイント)した矢印がでてきました
インジケーターの中にはリペイントという「確定した矢印を後から書き換える」機能をもったものがあります。
このリペイントするインジケーターは実際に稼働させてチャートをチェックするとかなりの勝率が見込まれるためについついのめり込んで稼働させてしまう方がいらっしゃいます。
しかしハイローアナライザーでバックテストにかけてみますと思ったよりも勝率が低いということが起こります。
これは、ハイローアナライザーはリペイントする前の勝率を出力するからです。ですので、チャートの矢印の雰囲気だけに惑わされず、一度バックテストにかけてみればお使いのインジケーターがリペイントしていたとしても本来の勝率を割り出すことができます。
ただしリペイントツールは自動売買で動かしても勝てる見込みは少ないです。裁量トレードで好んで使う方がはいらっしゃいますが優位性があるかは不明です。
リペイントするかどうかのチェックはFX-EAラボの姉妹サイトでもおこなっております
【無料ツール】バイナリーオプションのバックテストのコツ まとめ