バイナリーオプション

バイナリーオプションのバックテストのやり方は?検証方法の手順やツールも徹底解説!

バイナリーオプションは「バックテスト」を実施することで勝てるようになると聞いたことがあるでしょうか。

ここで初めて名前を聞いたという人もいるかもしれませんが、勝率の高いトレードをできるようにするにはバックテストをするのが有効です。継続的にバイナリーオプションに取り組むなら、ぜひ理解しておいた方が良いでしょう。

バックテストにも様々な種類があるので、この記事ではそれぞれのやり方の概要とバックテストで重要なポイントを解説します。

バイナリーオプションのバックテストとは?

バイナリーオプションにおけるバックテストとは、エントリーのルールを決めたときにそのルールで取引をするのが有効かどうかを過去のデータに基づいて検証することです。特にシステムトレードでは、有効なルールを運用しなければ利益を生み出せません。

勝率がどのくらいなのかは、過去の為替相場を使えばシミュレーションによって算出できます。自分なりに決めたルールが有効かどうかを実際にトレードせずに判断するのがバックテストの目的です。

バックテストを行うメリット・デメリット

バックテストにはメリット・デメリットどちらもあります。

まず、最も大きなメリットとして「自分で考えたルールが有効なものかどうかを正しく見極めることができる」という点が挙げられます。検証結果に基づいて改善も行えるため、勝率アップにつながります。

勝てるルールだとわかっていれば精神面も安定しやすく、仮に負けても一時的なものだと考えることができるため、冷静さを欠いて無謀な賭けに出るようなこともなくなるでしょう。

しかし、バックテストをするには時間も手間もかかります。やり方によっては専門的な知識も求められるため、初心者には敷居が高いのもデメリットです。

ただ、勝率を上げるためには、これも必要な努力の一つだと言えます。最初は面倒に感じるかもしれませんが、勝率アップを目指して前向きに取り組みましょう。

取引をしない土日にやろう

バックテストの最大のデメリットは実施するのに時間がかかることですが、これは土日を狙って行うことでカバーできます。

土日は為替市場が動いていないので、バイナリーオプションの取引はできません。しかしバックテストは過去のデータを利用するため、土日でも問題なく実施できます

取引ができない時間を有効に活用して「次の取引で成功するためのエントリー手法を見つけ出そう」という気持ちでバックテストに取り組みましょう。

バイナリーオプションのバックテストの取り方

バックテストの取り方はいくつかありますが、やり方によって求められる知識やスキルが異なるため、自分に合った方法を選ぶのが大切です。

ここでは代表的なバックテストの取り方と概要を紹介します。

自分で取る方法

バックテストは自分で取ることが可能です。

ここでは4つの方法を紹介するので、必要な知識や時間、労力などを確認してみましょう。

手動で行う

まず最初は、手動でバックテストを取る方法です。

MT4などチャートを過去に遡って表示できるソフトを使い、自分の定めたルールに当てはまる場面を探して検証を行うというもので、これが最もシンプルな方法と言えます。

1つずつ検証することになるため時間も手間もかかりますが、特別な知識やスキルは必要ありません。自分のルールに合うチャートパターンを探す練習になるのもメリットです。

ただし、見落としのリスクがあるので他の方法に比べて正確性に欠けるのは難点と言えるでしょう。

プログラムを組む

自分でプログラムを組んでバックテストを行う方法もあります。

MT4を使えば過去のチャートデータに対する検証を行えます。自分の手法の条件をプログラミングして実行するだけでバックテストが可能です。

機械によって網羅的な検証を行えるため正確性も信頼性も高い方法ですが、プログラミングスキルがなければできません。システムを組めるくらいの専門的な知識やスキルが求められることから、ハードルが高い方法です。

MT4のストラテジーテスターを使う

MT4に搭載されているバックテスト機能を使う方法も選べます。

MT4には「ストラテジーテスター」という機能があり、自分の手法を入力して実行すればバックテストの結果を表示できます。

プログラミングに近い考え方は必要ですが、基本的にはマニュアル的なものを読みながら作業をするだけなので、予備知識がなくてもできます。手動でやるよりは正確性も高いため、初めてバックテストをするときにはストラテジーテスターを使ってみましょう。

エクセルを使う

エクセルを使ってバックテストを取る方法もあります。エクセルにチャートデータを読み込み、計算式を手動入力するというやり方です。

インジケーターの計算式やロジックの判定式などを入力して検証していくことになりますが、エクセルの操作ができる人なら自分で学びながらバックテストを取れるでしょう。

複雑な計算にも対応でき、どんな手法にも活用できるという点で優れている方法です。

外注する・ツールを使う方法

自分でやらずに代行業者に依頼したり、バックテストツールを使ったりして検証することも可能です。いずれも費用がかかりますが、時間も手間も省くことができます

知識やスキルもなく、手間がかかることはやりたくないけれどバックテストをしたいという人にも適している方法です。お金に余裕があるのなら、こうした方法を検討してみるのも良いでしょう。

ただ、何度も行うとそれだけ費用がかかるので注意が必要です。

バイナリーオプションのバックテストを取るために必要なもの

バイナリーオプションのバックテストを取る場合は、最初に必要なものをすべて揃えておきましょう。

ここでは自分でバックテストを取る際に準備しておくべきものをご紹介します。

EAまたはインジケーター

バックテストの取り方に応じて、EAまたはインジケーターを用意します。

EAとは「エキスパートアドバイザー」の略で、自動売買ツールと同じ意味を持ちます。MT4で検証するなら、ツール製作業者などに依頼して自分の手法をEAとして作成しておくというやり方もあります。

エクセルを使う場合はテストしたいインジケーターや自分の手法の判断方法を数式化したものを準備しておきましょう。詳しくは後述します。

ヒストリカルデータ

バックテストは過去のチャートデータを使って手法の有効性を検証するものです。過去のチャートデータのことを「ヒストリカルデータ」といい、これも先に準備しておく必要があります。

具体的には以下のような方法で入手可能ですが、データの精度や期間などによってバックテストの正確性も変わるということは頭に入れておきましょう。

入手方法①MT4からダウンロード

普段からMT4を使ってチャート分析を行っているなら、MT4に内蔵されているヒストリカルデータをダウンロードして使うという方法があります。

ただ、MT4の内臓データは精度が高いとは決して言えません。利用できるチャートの期間も限られてしまっています。

とはいえ、準備に手間がかからないという点はメリットなので、初めてバックテストに挑戦するならまず利用してみると良いでしょう。

MT4からダウンロードする方法は以下の通りです。

ダウンロード手順
MT4を開き「ツール」→「ヒストリーセンター」をクリック
テストする通貨ペアの「1 Minute(M1)」→「ダウンロード」をクリック

入手方法②FX業者が提供するデータをダウンロード

また、FX業者の中にもヒストリカルデータを提供しているところがあります。FX業者のヒストリカルデータはMT4よりも精度が高く、正確なバックテストを行えるでしょう。

ヒストリカルデータを取得できるFX業者としては「FXDD」や「FXTF」などが知られています。いずれも口座開設するとデータをダウンロードできる仕組みになっているため、まずは口座開設手続きから始めましょう。

口座開設後は自由にダウンロード可能なので、バックテストをしたいと思った時点ですぐに手に入れられます。

ヒストリカルデータを提供しているFX業者例
FXDD:https://www.fxddtrading.com/bm/jp
FXTF:https://www.fxtrade.co.jp/sp/

バイナリーオプションのバックテストの取り方【MT4編】

では、バックテストはどのような手順で取ることになるのでしょうか。

先述したとおり、MT4を使うときにはバックテスト機能の「ストラテジーテスター」を使用します。ストラテジーテスターは、EAに基づいて過去のチャートデータに基づくパフォーマンスをシミュレーションすることが可能です。

なお、EAを作成して検証するときには、事前にEAをMT4に入れておく必要があります。

①ヒストリカルデータをインポートする

FX業者が提供するヒストリカルデータを使用する場合には、MT4へのインポートが必要です。データはCSV形式で取得し、以下の手順でインポートします。

ヒストリカルデータのインポート方法
MT4を開き「ツール」→「ヒストリーセンター」を開く。
検証する通貨ペアの「1分足(M1)」をクリックして「インポート」。
(グレーアウトしている場合はダブルクリック)
ファイル名の横の「参照」→ヒストリカルデータを選んで「OK」。
(ファイルが見つからない場合はすべての拡張子を表示)
データベースのレコード数が増えていることを確認して「閉じる」

②MT4のバックテストの環境設定を行う

続いては、バックテストの環境設定を行います。

MT4にログインしたら、メニューから「表示」を選択して「ストラジーテスター」を開きましょう。そして、以下の項目の設定を行います。

EA:バックテストしたいEAまたはインジケーターを選択
通貨ペア:通貨ペアを選択
モデル:使用する価格の種類を選択
期間:時間軸を設定
日付と時間を使用:検証期間を指定
ビジュアルモード:テスト状況を可視化したい場合はチェック
エキスパート設定:バックテストの詳細やパラメーターを設定
通貨ペアのプロパティー:通貨ペアの詳細情報を表示
チャートを開く:選択した通貨ペアのチャートを表示
エキスパート編集:メタエディターを起動し、選択したEAを編集

なお、③のモデルは「全ティック」を選択しましょう。全ティックを選択した場合は、最短期間のレートを使用します。シミュレーションに時間はかかりますが、高精度の検証を行うことが可能です。

すべての設定が完了したら、画面右下にある「スタート」を押すと検証が始まります。

③バックテストの結果を見る

バックテストを実施した結果は「結果」「グラフ」「レポート」のタブから確認することができます。

ここではバイナリーオプションのバックテストで重要な指標について解説するので、結果を考察するときの参考にしてください。

勝率

「勝率」は入力した条件で勝ったトレード数を全体の取引数で割ることで求めた値です。勝利が50%になっているなら、2回に1回はトレードで勝っていることを示します。

ただ、バイナリーオプションの場合は勝率50%では利益になりません。ペイアウト率が2倍よりも低いのが普通だからです。

勝率の考え方

例えば資金を100万円用意して、ペイアウト率1.9倍の業者で取引を行うとすると、勝率50%の場合は50万円分は負けて失い、50万円分は勝って98万円のリターンを得られます。勝率60%になると40万円は失いますが、60万円分は勝って114万円を手に入れることが可能です。

このようにして勝率とペイアウト率を同時に考えると、利益を得られるトレード方法かどうかを見極めることができます。

連勝数・連敗数

「連勝数」はデータに基づいて判定したときに連続して勝ちトレードになった最大回数を指します。反対に「連敗数」は連続して負けトレードになった最大回数です。

連勝数や連敗数はそのトレード方法がどのような相場での取引で有効かを見極めるのに役立ちます。

連勝率・連敗率の考え方

例えば、トレンド相場とレンジ相場で個々にバックテストを取ってみて「トレンド相場では連勝数が大きくて連敗数が小さかったけれど、レンジ相場では連敗数が大きくて連勝数が小さかった」という結果が出たとしましょう。この場合には「トレンド相場に強く、レンジ相場には弱い手法」だと考えることができます。

最大ドローダウン

「最大ドローダウン」はシミュレーションした期間内で「資産から最大でいくらの損失が生じたのか」を計算した値です。

連敗が続くと資金がだんだんと減っていってしまいますが、勝率が高いトレード方法なら長期間で見ると利益が生まれます。相場動向によらず安定した勝率を保つ手法の場合はあまり連敗が続かないので、損失が蓄積して資産が大きく減ってしまうことがありません。

最大ドローダウンが大きい場合には「資金の上下動が大きい」と考えると良いでしょう。特に最大ドローダウンが重要なのは、手持ち資金が少ないときです。最大ドローダウンが資金よりも大きな値になっている場合は、利益を生み出す前に資金が尽きるリスクが高いと考えましょう。

プロフィットファクター

「プロフィットファクター」は純利益を純損失で割った値です。純利益はトレードに勝って得られた利益額、純損失はトレードに負けて失った損失額を指します。

バイナリーオプションで勝って10万円の利益を出し、負けて出た損失が5万円だったという場合には、プロフィットファクターは2.0になります。大きな値のときほど損失を抑えつつ、利益を生み出していることを示す指標です。

しかし、バイナリーオプションではFXのように利益確定と損切りを自分で行うわけではなく、判定時間になったら勝敗によって一定の利益額を受け取れるか全額を失うかが決まるため、このプロフィットファクターはそれほど重要ではありません。

勝率の方がずっと大事な指標になるので、プロフィットファクターが高ければ良いと考えないようにしましょう。

バイナリーオプションのバックテストのやり方【エクセル編】

続いては、エクセルを使ったバックテストのやり方を確認していきましょう。

エクセルを使って行うバックテストはMT4よりもやや手間がかかりますが、関数の意味や入力方法、インジケーターの計算式がわかっている人ならそれほど難しくありません。

①ヒストリカルデータを開く

まずはFX業者やMT4からダウンロードしたヒストリカルデータをエクセルで開きます。

エクセルでヒストリカルデータを使うときにもCSV形式が良いでしょう。関連付けされているなら、アイコンをダブルクリックするだけで開けます。

②計算式を入力

次に、検証したいインジケーターや判断基準を計算式として入力していくことで条件を満たすかどうかを判定することができます。

IF関数を用いて以下のように入力すると、条件式を満たすときには真の値、条件を満たさない場合には偽の値が表示されます。

IF(条件式,真,偽)

条件式の中にはテクニカル指標の計算式と条件判断の式を入れます。必要な計算式はインターネットでも簡単に検索が可能です。

ここでは代表的なインジケーターの計算式と入力方法を紹介します。

ボリンジャーバンド

ボリンジャーバンドは移動平均に対して標準偏差σの2倍のラインを加算したのが上側のバンド、減算したのが下側のバンドとして用いられています。

この2σラインを使うとすると、以下の関数を使って計算できます。

AVERAGE(数値1,数値2,…):移動平均
STDEV(数値1,数値2,…):標準偏差
+2σライン=AVERAGE(数値1,数値2,…)+STDEV(数値1,数値2,…)*2
-2σライン=AVERAGE(数値1,数値2,…)-STDEV(数値1,数値2,…)*2

仮にE4から縦に「終値」が並んでいるとしたら「OFFSET」関数を使って以下のように記入することが可能です。

+2σライン
=AVERAGE(OFFSET(E4,0,0,-期間,1))+STDEV(OFFSET(E4,0,0,-期間,1))*2
-2σライン
=AVERAGE(OFFSET(E4,0,0,-期間,1))-STDEV(OFFSET(E4,0,0,-期間,1))*2

MACD

MACDは短期指数平滑移動平均と長期指数平滑移動平均の差として計算され、シグナル線はその指数平滑移動平均として導き出されます。

それぞれの期間を「期間1」「期間2」「期間3」として、E4に「終値の最初の値」を入力、I列を「短期指数平滑移動平均」、J列を「長期短期指数平滑移動平均」、K列を「MACD線」、L列を「シグナル線」とする場合の計算式は以下のとおりです。

短期指数平滑移動平均(I4)
=AVERAGE(OFFSET($E4,0,0,-期間1,1))-I3+(E4-I3)*2/(期間1+1)
長期指数平滑移動平均(J4)
=AVERAGE(OFFSET($E4,0,0,-期間2,1))-J3+(E4-J3)*2/(期間2+1)
MACD線(K4)
=I4-J4
シグナル線(L4)
=AVERAGE(OFFSET(K4,0,0,-期間3,1))-L3+(K4-L3)*2/(期間3+1)

RSI

RSIは一定期間の値上がり幅の合計を、同じ期間の値上がりと値下がりの幅の和で割り算して100倍することにより求めます。

2つの関数を用いて、仮にE4に「終値の最初の値」、I列に「前日比(E4-E3)」、J列に「値上がり幅合計」、K列に「値下がり幅合計」を計算して、RSIをL列に表示する場合は以下のようになります。

SUMIF(判断範囲,検索条件,合計範囲)
判断範囲の中で条件を満たすものの和を合計範囲で示した中から計算

値上がり幅合計(J5)
=SUMIF(OFFSET($I5,0,0,-期間,1),”>0″,OFFSET($I5,0,0,-期間,1))
値下がり幅合計(K5)
=SUMIF(OFFSET($I5,0,0,-期間,1),”<0″,OFFSET($I5,0,0,-期間,1))
RSI(L5)
=J5/(J5-K5)*100

バックテストに関するQ&A

実際にバックテストを取ってみると、色々な疑問が生まれてくるでしょう。ここではプロトレーダーの視点からよくある悩みにお答えします。

Q.バックテストでは勝っているのに実戦では負けてしまいます

バックテストをして高勝率のトレード方法を見出したとしても、あくまでその勝率は過去のデータによって計算されたものです。

今後の相場が同じように動くとは限りませんし、使用したヒストリカルデータの精度によっても違いがあるため、必ずしも実戦で同様の結果になるとは限りません。

また、バックテストでは実際の取引時に起こる「遅延」や「約定拒否」による影響なども想定されていないので、実戦の結果と乖離が起こることもあり得ます。

とはいえ、バックテストが無意味というわけでは決してありません。トレード方法の良し悪しや自分の得意不得意を見極めるのに役に立つので、前向きに活用しましょう。

結果の数字をそのまま鵜呑みにせず、自己成長のために使うのが大切です。

Q.バックテストに必要なプログラミング言語は独学で覚えられますか

バックテストに使うプログラミングの知識を一から独学で覚えようとすると大変ですが、知識やスキルがあるとより正確なバックテストを行うことができます。

バックテストを取ることだけが目的ならば、最初からプログラミングの勉強をするよりも「バックテストをしながらプログラミングを覚えよう」と考えると良いでしょう。

一般的なインジケーターのコードならインターネットで検索をすればすぐに見つかります。それを切り貼りして使っているうちに、少しずつ意味がわかってきて使いこなせるようになるはずです。

まずは簡単に使えるコードをうまく活用して全体像を把握してから、だんだんと深入りしていくのが賢い方法です。

Q.バックテストをもとに勝率を上げるにはどうしたらいいですか

バックテストを取って結果を見ているだけでは、バイナリーオプションの勝率は上がっていきません。バックテストの結果をよく分析して、トレードの条件を見直しましょう

どういった条件を追加すればいいのか
どんな相場のときに使えばいいのか
どの時間帯なら勝率が高いのか

といったように、多角的な視点で見てみるのが大切です。

使用するデータを変更してシミュレーションし直す必要も出てくるので大変になりますが、仮説検証を繰り返していくうちに勝率の高い手法にブラッシュアップされていきます。

ただ、自分だけでPDCAサイクルを回して精度の高い手法を確立するのは決して簡単なことではありません。効率を上げるには、バックテストを繰り返し行って高確率で勝てる手法をいくつも編み出してきたプロトレーダーからそのコツを学ぶのが近道です。

私、西条もこれまで幾度となくバックテストを実施して、自分の手法を確かなものにしてきましたので、きっと役立つ情報をご提供できるでしょう。

以下の画像をクリックしていただくと、LINEで私とつながることができます。

LINEで友だち登録をしていただいた方々には、ブログのようなオープンスペースでは公開していない限定情報を配信していますので、この機会にぜひご活用ください。

あなたからのご連絡をお待ちしています。

まとめ

バイナリーオプションのバックテストは高勝率のトレード手法を作り上げていくために有用です。過去のデータに基づいたものなので、将来の値動きに100%通用するわけではありませんが、自分の手法の精度を高めるのに役立ちます。

正確性の高いエントリー条件を見つけて成熟させていくためにバックテストを実施して、その結果をうまく活用できるようになりましょう。

ハイローオーストラリアの口座開設はこちら