投資をする上でバックテストの重要性をご存知でしょうか?
賭事をするには、まずその確率を知らなければいけません。
そしてMT4を使う投資においては、その確率と言うのを計算することができます。
しかし、ほとんどの方はバックテストを取っていません。
自分が使用している手法、ノウハウの確率を知らずにその手法を信じて取引をしている人が殆どです。
それでは本当にそもそもが勝てるノウハウ、手法なのかどうかも定かではありません。
しっかりご自身の手法、ノウハウが確率的にいいものなのか検証してからトレードすることをオススメします。
なのでここではバックテストの取り方を知らない方から、している方まで再度その重要性を認識し、しっかりとバックテストを取れるようになることを目的としてお話ししていきたいと思います。
この記事の目次
バックテストの意味とは?
バックテストというのはその言葉の通り、過去の勝率を計算するものです。
例えばサインツールなどを使う場合、そのサインが次のローソク足で反転する確率はどのくらいあるかなどを調べます。
100回中60回反転していたら勝率は60パーセントです。
そのように勝率が数字として見えるようになることがバックテストになります。
投資をやるには避けては通れない作業になります。
バックテストを取るべき理由とその重要性とは?
勝率向上とリスク管理の改善
例えばサインツール中で直近2ヶ月の勝率が80パーだったとしても、5年間のバックテストを撮ってたら勝率が50パーセントだったということもありえます。
こういうことは直近だけしかみていないとわからず、しっかりと過去まで遡らないとわからないデータになります。
実は自分がエントリーしていたサインツールが2分の1しか勝てないものだとしたら、とてもじゃないですが怖くてエントリーできませんよね。
しかし5年間で70パーセントもの勝率があるとわかれば、毎回のエントリーをかなり自信をもって行うことができます。
そういった意味でバックテストを取るというのは非常に重要な事なのです。
長期的な収益性の予測
上の画像を見ていただけるとわかりますが、勝率が1%変わるだけでも資金というのはかなり変わります。
ましてや55%と60%なんて「たった5%」と数字上は思うかもしれませんが、金額でいうと100万円近くも変わってくるぐらい異なるのです。
上のツールは自社開発のツールですが、3年間の数字でこれなので5年間にするともう少し下がる可能性があります。
なので平均55%程度になってしまったら、自動売買運用にするとしてもあまり期待値は高くなさそうなツール、ということがわかりますよね。
よく「期待値が高い」と聞くこともあるかもしれませんが、抽象的な期待値を言っているのではなくこういった具体的な数字からのちゃんとした根拠のある期待値を出すことが重要です。
このシステムも直近3ヶ月とかであれば70〜80%を出すこともあります。
巷のツールはそういった直近のデータしか公開しないところが多いので、見た目上はよく見えてしまいます。
これはプログラムができない人にとってはわかりようがないので騙された〜〜なんてことになってしまうんです。
しかし、バックテストをしっかりとることができれば、いいのは直近だけで3〜5年間テストをとったら実際は全然クソツールだった、ということはよくあります。
実際の数字として見ると少しはイメージも湧くのではないでしょうか?
改めてバックテストの重要性も再認識していただければと思います。
バックテストやり方の手順を解説
では実際にどのような方法でバックテストが取れるのかを見ていきましょう。
手順①バックテストを取りたいノウハウをサインツール化する
バックテストを取るにはロジック、ノウハウ、手法と呼ばれるものをサインツールとして形にしなければいけません。
これがまずはすごく時間がかかってしまうのですが、今はサインツールというのが数多く出回っています。
なのですでにロジックが用意されているケースも多いのでここは省略できる場合もあります。
まだロジックがサイン化できていない場合のみこの作業が必要になってきます。
もし、あなたがノウハウをインジケーター化できないのであれば、YouTubeでも学ぶことができます^^
手順②サインインジケータを元にバックテストプログラムを組む
バックテストとして検証すべき項目にはさまざまな項目があります。
・勝数
・負数
・総損益
・勝率
・最大連勝数(シグナルツールの場合のみ
・最大連敗数(シグナルツールの場合のみ
・プロフィットファクター
・最大ドローダウン
このような項目は最低限押さえておくべきでしょう。
これらの計算式を全てプログラムで組む必要があります。
言葉では簡単なのですが、それぞれに複雑な計算式を入れ込まないといけないので、初心者の方にはかなりハードルが高いかもしれません。
例えば、どのようにしてバックテストをとるのか?をコードを交えて少し公開したいと思います。
[1]まずはどのインジケーターでバックテストを取るか?をプラグラム上で決めてあげます。
「sign1」というものを今回テストするとして、そのsign1で出るサインと同じ箇所に再度サインを表示させてあげます。
そして、money-betとして残高からBET額を擬似的に引くことで実際にエントリーした時のような損益変化を行うことができます。
[2]次にそこで表示させたサインの勝敗判定をします。
ロジックによってエントリーから何本後の判定なのか?は変わりますのでそれをここでプログラミングします。
ここで勝っていたら資金を勝った時のペイアウトで増やしてあげ、負けたら資金は戻ってこない、というようにします。
もちろん勝ち・負けともにカウントして最終的に勝敗も出せるようにしておきます。
[3]最後に諸々の計算値をテキストとして表示することで視覚的に結果を一瞬でわかるようにする。
上記の計算項目は一例ですが、他のテスト項目の計算式も入れることでいろんな項目を一気にテストすることが可能です。
それを下記のようにわかりやすくテキスト表示してあげることで結果が一目瞭然となります。
[4]適用範囲などもパラメーターから設定できるようにして、指定期間のテストを取って擬似的に資金増減がわかるようにする。
プログラムしているときは細々としていて本当にこれでできているのか?
と不安になるかもしれませんが、結果としてチャート上で見てみると、すっきりと表示ができました。
このように木になるツールもテストを行うことで、そのツールが実際にどのような勝率なのか?
そして、ドローダウン(資金が減ってしまう量)は最大でどのぐらいしたのか?
(これが残高を超えている場合タイミングにもよりますが破産している可能性もあります。)
ということも確認できます。
勝率はまあまあ良くても途中で破産してしまっていたら意味がないですよね?
なので、結果だけではなく過程も見ることができるのが自分でバックテストを取れることの強みの1つだと思います。
ポイントとしては、過去から現在へすすんでいく過程でしっかりと損益計算を行ってくれることです。
またいつからいつまでをテストするといった指定も必要なのでこの部分も非常に重要です。
手順③1つの通貨が終われば問題がないかをチェックし複数の通貨でテストをする
バックテストの最大のメリットは、短時間で数年分の検証を行えることです。
1つの通貨でテストができたら、そのテスト結果に間違いがないかどうかを確認しましょう。
まずはテストで数時間分のテストをして、サイン結果と勝率に間違いがないかをみましょう。
問題がなさそうであればその結果を保存し、他の通貨でもバックテストを行います。
目視では1通貨1年分を行うのにかなりの時間がかかりますが、プログラムでバックテストを行うと、18通貨5年分が数時間でテストをとることができます。
このバックテストを取るか取らないかは、投資で稼いでいけるかの大きなポイントになります。
ただ、これは自分でプログラミングを勉強して、バックテストを取るやり方です。
少し敷居が高く感じた方は、有料ツールを使用してバックテストを取る方法がオススメです。
バックテストツールのご紹介
バックテストを行うことができる有料ツールというのも存在します。
例えば下記のものが有名です。
BOAnalyzer
今はバージョン2が出ているようです。
上記のツールでは先ほど紹介したような項目も全てテストすることができます。
価格は大体3万円ほどだったかと思います。
これで誰でもテストは取れるのですが、設定などは自分ですべて行う必要があります。
どのサインインジケーターが対応しているのか?どのようにバックテストができるのか?も調べながら進めなければいけません。
もしシステムの操作などに詳しく自分でできそうな方は、こういった有料ツールでバックテストを行うのもいいかもしれません。
僕自身もいちど使ってみましたが、設定が少しややこしくて自分のバックテストツールのほうが使いやすかったので、僕は自分でバックテストを取るようにしています。
あなたの手法をバックテスト代行します
もし僕と同じようにシステムの使い方がいまいちよくわからない、という方は僕のプログラムチームでバックテストを代行することも可能です。
もちろん守秘義務のもと情報を管理し、テストデータもエクセルにまとめてすべてお渡しします。
下記が僕たちのチームで行っているバックテスト代行の内容になります。
サービ内容
・勝数
・負数
・総損益
・勝率
・最大連勝数(シグナルツールの場合のみ
・最大連敗数(シグナルツールの場合のみ
・プロフィットファクター
・最大ドローダウン
上記の項目に対して指定期間でのデータを取得します。
ただしロジックやサインツールは用意していただく必要があります。
また中には対応できないサインツールもあるため、事前に使用したいサインツールに関してお問い合わせいただければと思います。
料金体系
ご依頼の際の料金についてですが、1通貨1年分で2,160円となります。
この料金を元にご希望の通貨ペア数・年数で指定いただくことが可能です。
ただし年数が増えればそれに応じて割引があります。
1年〜→¥2,160円
〜3年分→¥5,400円
〜5年分→¥7,560円
〜10年分→¥10,800円
これにテストを取りたい通貨ペア数分となります。
※ただしGOLDだけ5年間分のチャートデータしかないのでその点だけご了承ください。
最初にもお伝えした通り、あなたはサインインジケーターを用意するだけで大丈夫です。
あとは何の手間もいらず待っているだけでバックテスト結果が届きます。
そして投資で勝っていくにはバックテストが何よりも重要です。
ここに関しては変なシステムを買ったり無茶なベットをするよりも、まず第一に考えるべきかと思いますのでよろしければぜひご検討下さい。
もしバックテスト代行をご希望の方がいましたら、トレード部屋公式LINEまでお問い合わせください^^
・バックテストを取りたい通貨ペア
・バックテストを取りたい年数
・バックテストを取りたいサインインジケーター
をお送りください。
また、もし検証したいロジックはあるがサインインジケーターにはなっていないという場合は、当プログラムチームでインジケータの作成代行も行っておりますので、お気軽にご相談ください。