バックテストから見る自動売買システム(EA)の選定ポイント

レシンソン
レシンソン

う~ん・・

エフ・X
エフ・X

いつもの初手唸りだね!どうしたのさレシンソン君?

レシンソン
レシンソン

いや、デモ口座、しかも無料とはいえ・・

下手な鉄砲数打ちゃあたる作戦でEAを落としまくるってのもどうかと思ってな・・

勉強になるにはなるんだが・・効率が悪いように見えて・・

エフ・X
エフ・X

まぁ知識が伴っていないとまず難しいよね、それは。

ちゃんとEAをダウンロートする前に提示されているバックテストのレポートとかチェックしている?

レシンソン
レシンソン

いや、まぁ勝率の高そうなの選んでいるつもりなんだがな

エフ・X
エフ・X

あぁ・・勝率だけ見ちゃうのも初心者にありがちな失敗だよ。

何も考えずにダウンロードするよりか幾分マシなんだけどね

レシンソン
レシンソン

えっ?なんでだよ、バックテストで何度も検証した結果、勝率高いってことは信頼度高いってことだろ?

エフ・X
エフ・X

言っていることはわかるけど、実はそうじゃないんだよねぇ。

まあレポートの詳細もそこまで詳しく触れてなかったしね!

レシンソン
レシンソン

え?えぇ・・?

エフ・X
エフ・X

そんなレシンソン君のために、EAの見極め方っていったら大げさになっちゃうけど、

レシンソン君みたいな初心者の人になるべくここを注意してねって項目を説明していくよ!

デモ口座開設とMT4のダウンロードはこちらから(詳しいやり方は参考記事「デモ口座開設とMT4をインストールしよう!」をご確認ください)
「XM Trading MT4ダウンロードページ」

目次

    自動売買システム(EA)のバックテストレポート

    エフ・X
    エフ・X

    まず、そのEAのバックテストが信頼性に足るものかどうか、ちゃんと確認することがポイントだよ!

    レシンソン
    レシンソン

    そういや、ストラテジーテスターウィンドウの「レポート」タブの結果と違ってるっていうか、

    グラフもまとめて表示されているよな?

    あれ、どうやってんの

    エフ・X
    エフ・X

    ああ、あれね。じゃあまずそこから説明しようか

    バックテストレポートの開き方

    エフ・X
    エフ・X

    簡単な見方は「MT4の使い方⑩ ストラテジーテスターウィンドウの基本操作」でも触れてるんだけど

    業者や作成者が普段提示している、あの視認性が良いレポートの開き方を説明していくね!

    今回はMACD Sampleのを使用して確認してみよう

    レシンソン
    レシンソン

    とりあえず適当に一か月分のデータ出しといたぞ

    エフ・X
    エフ・X

    本来は一か月とかだとデータとして全然足りないんだけどね・・

    いったんは説明のためにそこは置いといて・・

    エフ・X
    エフ・X

    「レポート」タブの任意の場所で右クリックして「レポートの保存」を選択してね!

    ファイルはHTML方式だよ。

    そうだなあ、今回はわかりやすくデスクトップに「バックテストレポート」ってフォルダを作成して保存しておこうか

    エフ・X
    エフ・X

    デフォルトだとファイル名は「Strategy Tester」になっているからわかりやすいように変えとくのがいいよ!、今回はMACD Sampleを追加しておこうか

    エフ・X
    エフ・X

    で、ブラウザのアイコンが付いてる方をクリックして画面を開くと例のレポート画像が出てくるよ!

    レシンソン
    レシンソン

    おっ、いつもの画面が出てきたな

    エフ・X
    エフ・X

    下にスライドしていくとまだ色んな情報が表示されているよ!

    エフ・X
    エフ・X

    いちいちブラウザで開くのが面倒な人はスクショしてエクセルに貼り付けたりするのもいいかもね!

    じゃあ次は、レポートに記されている用語の解説といこう

    バックテストレポートの詳細

    レシンソン
    レシンソン

    ちょっと項目が多すぎるな・・目移りしてしまうぜ

    エフ・X
    エフ・X

    確かにね、でもここを理解しておくことは重要なことだからしっかりと説明していくよ!

    バックテストレポートの用語

    通貨ペア:バックテストを行った通貨ペアが表示されます。

    期間:バックテストを行った期間が表示されます。

    モデル:バックテストに使用したティック種が表示されます。基本バックテストを行うときは全ティックがいいでしょう。

    パラメータ:バックテストの際に適用されたパラメータが表示されます。

    テストバー数:バックテストを行った期間(バー、ローソク足)が表示されます。

    モデルティック数:バックテストを行った際の総ティック数が表示されます。

    モデリング品質:90%以上ならば信頼度として高いですが、それ以下だと信頼性に欠けるといわれています。

    不整合チャートエラー:バックテストを行った際の条件とヒストリカルデータ等に齟齬がある場合にエラーが発生します。
               確認する場合は、0が前提条件として考えましょう。

    初期証拠金:バックテストを行った際の初期証拠金が表示されます。

    スプレッド:バックテストを行った際に設定したスプレッドが表示されます。単位はPointです。

    純益:バックテストの総利益から総損失を引いた数値が表示されます。

    総利益:バックテストの総利益が表示されます。

    総損失:バックテストの総損失が表示されます。

    プロフィットファクタ:バックテストの総利益から総損失を割った数値が表示されます。

    期待利得:純益から総取引数を割った数値が表示されます。つまり1トレード当たりの純益のことを指します。

    絶対ドローダウン:初期証拠金からどれだけ減ったかを示す数値(額)が表示されます。

    最大ドローダウン:資金が最も大きく下落したときの数値(額)が表示されます。

    相対ドローダウン:資金が最も大きく下落した時の割合を示す数値(%)が表示されます。

    総取引数:バックテストを行った際の総取引数が表示されます。

    売りポジション(勝率%):バックテストを行った際の総売りポジション数と勝率が表示されます。

    買いポジション(勝率%):バックテストを行った際の総売りポジション数と勝率が表示されます。

    勝率(%):バックテストを行った際の売り、買いポジションの総勝ち数と勝率が表示されます。

    負率(%):バックテストを行った際の売り、買いポジションの総負け数と勝率が表示されます。

    最大 勝トレード:バックテストを行った際の勝ちトレードの最大金額が表示されます。

    最大 敗トレード:バックテストを行った際の負けトレードの最大金額が表示されます。

    平均 勝トレード:バックテストを行った際の勝ちトレードの平均利益額が表示されます。

    平均 敗トレード:バックテストを行った際の負けトレードの平均利益額が表示されます。

    最大 連勝(金額):バックテストを行った際の最大連勝数と利益額が表示されます。

    最大 連敗(金額):バックテストを行った際の最大連敗数と損失額が表示されます。

    最大 連勝(トレード数):バックテストを行った際の最大連勝時の利益額と連勝回数が表示されます。

    最大 連敗(トレード数):バックテストを行った際の最大連敗時の損失額と連敗回数が表示されます。

    平均 連勝:バックテストを行った際の平均連勝回数が表示されます。

    平均 連敗:バックテストを行った際の平均連敗回数が表示されます。

    バックテストレポートのグラフの見方

    エフ・X
    エフ・X

    まず、横軸が取引数ね、そして縦軸が残高だよ!

    レシンソン
    レシンソン

    割とあっさりしてるな

    エフ・X
    エフ・X

    そうだね、でも検証するEAによって、表示形式が変わるというか項目が追加されたりするんだけど

    これが基本的な表示だから、それはまた今度にでも説明するよ!

    バックテストレポートの取引履歴

    レシンソン
    レシンソン

    うーん・・そこはかとなく理解できるようなできないような・・取引種別の意味がよくわからんな

    エフ・X
    エフ・X

    まあここも最初はわかんないよね・・ここは解析ツールとか使ってもっと細かな分析を行ったりするのに

    使われる上級者向けのとこなんだけど、念のため取引種別について説明しておこうか!

    buy:買いエントリーのことを指します。
    sell:売りエントリーのことを指します。
    modify:指値・逆指値変更のことを指します。
    close:成行決済のことを指します。
    t/p:指値決済のことを指します(利確)。
    s/l:逆指値決済のことを指します(損切)。

    エフ・X
    エフ・X

    ってところかな!

    レシンソン
    レシンソン

    なるほどなあ・・でも見る項目が多すぎて何を基準に考えればいいのか、今のところサッパリだな

    エフ・X
    エフ・X

    まぁそれはレシンソン君もいうて初心者だから仕方のないこどだよ、ただこれから説明することは

    初心者でも抑えておくべきポイントってことで捉えておいてね!

    バックテストレポートで重要視するべきポイント

    エフ・X
    エフ・X

    ここだけは初心者でもまず注意しておくってポイントを説明するね!

    バックテストレポートを公開しているか

    エフ・X
    エフ・X

    順序が逆になっちゃうけどこれは前提条件ね、バックテストに加えてフォワードテストを公開してなかったりするのはそのEAに対する信頼性を提示できてないってことだからね

    レシンソン
    レシンソン

    たしかに・・公開もせずに買ってくれっていうのもなんか怪しいな

    エフ・X
    エフ・X

    さらにEAを扱っている業者や作成者の中には、このレポートをいかにも優秀なデータとして見せる誇張的なやり方をしていたりするパターンがあるから注意してね!

    レシンソン
    レシンソン

    あ、俺みたいな勝率だけ見て騙されるパターンね・・

    エフ・X
    エフ・X

    そう、そういうのがあるから有料のEAは信頼性のある業者や作成者から購入するのがおススメする理由だよ!

    期間

    エフ・X
    エフ・X

    これはもう、長ければ長い方が良いって言われているんだけど、過去の相場で大きな高騰や下落があった時、そこも織り込んでしまうからあらかじめ調べて、そこを省いた期間で見る、とか色々と工夫が必要なんだよね。

    レシンソン
    レシンソン

    長ければいいってどのくらいだ?

    エフ・X
    エフ・X

    ここ最近だと10年くらいっていわれているよ。

    レシンソン
    レシンソン

    長っ!!!

    エフ・X
    エフ・X

    長期的バックテストでグラフが右肩上がりなのは信頼性があるといっていいからね!

    プロフィットファクタ

    エフ・X
    エフ・X

    これも大事だよね、1を切った時点で総損失の方が上回っていることになるから

    水準以下のなんて粗悪品もいいことだよ!

    レシンソン
    レシンソン

    たしかに。

    んで理想ってどのくらいなんだ?

    エフ・X
    エフ・X

    そうだねえ、プロフィットファクタの理想値は一般的には1.21.5、さらに深くいうと1.5以上くらいが最もいいって言われているよ

    レシンソン
    レシンソン

    ん?高ければ高いほどいいんじゃないのか?

    エフ・X
    エフ・X

    理想値を超えると、業者や作成者が過剰に最適化を行ってる可能性があるといわれているんだ。
    たとえばプロフィットファクタの値が3とか表示されていたら、逆に優秀すぎて過剰なんじゃないの?って思われるんだよね。

    こういうのを「カーブフィッティング」っていうんだけど。

    レシンソン
    レシンソン

    カーブフィッティング

    エフ・X
    エフ・X

    過去のある特定の相場の状況に合わせてパラメータを過剰に最適化することだよ!

    簡単にいってしまえばグラフが下がりそうなとこを意図的に上げるように操作するっていえばわかりやすいかな?

    これってレポート結果的にはよく見せることはできるけど、実際に使ったらそんなパフォーマンスがまず生み出せないからね・・

    レシンソン
    レシンソン

    ええ・・そんなのありなの・・?ヤバ杉内

    エフ・X
    エフ・X

    だからこそ、EAとして理想的な値が目安化されているんだ、だからレシンソン君も気を付けようね!

    最大ドローダウン

    エフ・X
    エフ・X

    これもバックテストレポートを見る上で重要な指標といわれているね!

    レシンソン
    レシンソン

    資金が最も大きく下落したときの数値(額)とパーセンテージで表したやつか、

    んでどれくらいが理想値なんだ?

    エフ・X
    エフ・X

    これは理想値は10%以下といわれているんだけど・・これも表示されている上で注意しなきゃいけない点があってね・・

    レシンソン
    レシンソン

    はあ・・また見せかけのトリックみたいのがあるんか・・?

    エフ・X
    エフ・X

    悪質なものは初期証拠金を吊り上げたりロット数を吊り下げることで、相対的に率を引き下げる手法だよ。

    つまり・・10,000USDでロット数が0.1で最大ドローダウンが1%だったとするよね?
    これを、100,000USDでロット数が0.1だったとしたら・・?

    レシンソン
    レシンソン

    あ・・最大ドローダウンが0.1%になるってことか!!

    エフ・X
    エフ・X

    そう、だから最大ドローダウンに着目することも、もちろん重要なんだけどそれに付随する条件もちゃんと確認しないと正確な数値を見誤るってわけ!

    レシンソン
    レシンソン

    でも数値としてちゃんと表示しているから「この値でバックテストしてるから当たり前の表示ですが?」ってなってツッコめなくなるのか・・よく考えるなあ!!

    モデリング品質

    エフ・X
    エフ・X

    これは用語説明のところでも書いているけど、90%以上が基本だね!

    レシンソン
    レシンソン

    これ、何のことを指してるんだ?

    エフ・X
    エフ・X

    簡単にいうと、バックテストがどれだけの正確性を持っているかだね!

    不整合チャートエラーもそうなんだけど、モデリング品質が90%以上、不整合チャートエラーが0でないと

    それは正確性に欠けているといえるんだ。

    ヒストリカルデータの品質にも関わってくるからここもちゃんとチェックしておかないとね!

    レシンソン
    レシンソン

    ヒストリカルデータ?なんだそれ

    エフ・X
    エフ・X

    過去の値動きのバックログ・・というよりかは過去の値動きを記録しているデータかな。

    主にバックテスト用として使われるんだけど海外FX業者によってそのデータは異なっていたりするからそのヒストリカルデータも重要っちゃ重要なんだけどね。

    レシンソン
    レシンソン

    へえ、また一つ賢くなってしまったな

    スプレッド

    エフ・X
    エフ・X

    これも重要な指標だね!

    レシンソン
    レシンソン

    取引手数料ってやつな、そのままでいいんじゃないのか?

    エフ・X
    エフ・X

    全然ダメだよ!

    レシンソン君が今使っているXM TradingのUSD/JPYの平均スプレッドは1.6pipsだから16が理想なんだけど

    基本的に業者によって異なるから10あれば基本的にOKとされているよ!

    で、これも悪質な手口があって・・

    レシンソン
    レシンソン

    まだあんのかよ!!!

    エフ・X
    エフ・X

    たとえば今、話したようにUSD/JPYの通貨ペアが1.6pipsに対して0,1pipsの最小設定にしてたりとかね!

    レシンソン
    レシンソン

    なんつうか・・ここまでくると詐欺やな

    エフ・X
    エフ・X

    そう!だからこそちゃんとこういう値に着眼しないと悪質な手口につかまってしまうよってこと!

    まとめ

    エフ・X
    エフ・X

    ということでレシンソン君、ざっと聞いてみてどうだった?

    レシンソン
    レシンソン

    たしかに・・勝率だけ見てりゃいいってレベルじゃねえな・・

    というかこれがまかり通ってる時点でとんでもないな

    エフ・X
    エフ・X

    そうだねえ、データを改ざんしているわけじゃなくて「ちゃんとこの値に対しての結果だから見逃す方が悪いんですよ」って言ってるようなもんだからね・・

    だからこそ、そこを見極める力をレシンソン君には身に着けてほしいんだ!

    レシンソン
    レシンソン

    フッ・・ありがとよ、X・・

    エフ・X
    エフ・X

    そうやって素直に感謝されると普段の言動からして気持ち悪いんだよなあ、なんだか(どう致しまして!これくらい大したことないさ!)

    レシンソン
    レシンソン

    心の声と逆になってんぞてめえ、もう感謝しねえわくそが

    エフ・X
    エフ・X

    じょ、冗談だよ冗談!

    でも本当に気をつけてね!バックテストの重要性も含めて説明してちょっと長くなっちゃったね!

    ということで今回はここまで!また次回会おうね!