「バックテストなんて難しそう!」とつい逃げたくなりますよね。
しかし、上級者の話を聞くと【トレードするにあたって必ず「テスト」をしている】といいます。
自動売買プログラムのテストだけではなく、裁量トレーダーもテストを繰り返し行って成績を上げています。
今回はMT4を使ったテストの意味と方法を詳しく解説します。
商品CFDもできる海外FX口座(ゲムフォレックス、XM、など)を持っていれば
FXだけでなく商品や株価指数のテストもできますよ!
「他で読んでもよく分からなかった」という方が知りたいことがすべてここにあります!
もくじ
テストの種類と必要な理由
裁量トレードで良いアイデアを思いついたら、テストをして検証すれば自信を持ってトレードすることができます。
トレードアイデアが利益を生むかどうかを検証することを「テスト」と呼びます。
- 方法で分ける→「手動テスト」「プログラムによるテスト」
- 期間で分ける→「バックテスト」「フォワードテスト」
※自動売買であるEAは見ていないときもトレードを続けるので、テストなしでは不安で使うことができないです。
最初に用語を知っておくと理解が早いので、次にまとめておきます。
混乱しやすいテストの種類と用語
「検証が済んで悪いところがあれば直す」ということを繰り返していくのがポイントです。
- バックテストとフォワードテストの違い→「検証する時期が過去か未来かの違い」
- 手動とプログラムによるテストの違い→「裁量トレードかシステムトレードか」
市場の未来は誰にもわからないので、どんなテストも完璧に利益に貢献してくれるとは限らないのは想像できると思います。
それでも、テストすらしないトレードは無謀なものになってしまい無駄に損失を重ねてしまいやすいです。
※もちろんすべて行ってもいいです。
※PDCAサイクルとは https://www.nri.com/jp/knowledge/glossary/lst/alphabet/pdca
では、それぞれについてデメリットも含めて解説します。
手動テストとプログラムによるテストのメリットデメリット
チャートに対して、「目で見て手でPCやスマホを操作し自分の判断でトレード」を続けます。
結果を集めていくという地道な行動です。
※バックテストではどうするのかという疑問がわきますが、手動テストができるインディケータも世の中にはあります。それがなくても、過去のチャートを見て「ここでエントリーしたなら?」とメモをとりながら進めることができます。
手動テストのメリットデメリット
(自動売買でなく、自分でPCやスマホを操作してトレードするのを「裁量トレード」といいます。)
メリット
- 目で確かめながらエントリーポイントを吟味できる。
- デメリットにもなりえるメンタル面については、メリットもあります。
テスト中に自分の感情がどう動くかをデモ口座で体験できるので、失敗しやすい感情がいつ出るのかを知ることができます。 - 裁量トレード中心のトレーダーにとっては、トレードの時間帯などの予定を組むためにもやっておくと良いテストです。
デメリット
- 感情や疲れなどの影響を受け精度が乱れやすい。
- 長期間のデータが欲しい場合、多くの時間と労力を使う。
プログラムによるテストのメリットデメリット
- メリット⇒計り知れないです
- デメリット⇒「必ずしもテスト通りになるわけではない」ということがあります
プログラムがテストをしてくれる→【自動でトレード結果の検証をしてレポートも出してくれる】
MT4でバックテストをするときは「ストラテジーテスター」という機能で行います。
※フォワードテストのときはデモ口座でEAを動しつづければできるのでもっと簡単です。
※EAを入手するときに提供元がバックテストの結果などを提示していることがほとんどです。
EAを使う前にはご自身でもテストをすることを強くおすすめします。
※EAの選び方と設定方法はここ
『キツネEAが話題!ゲムフォレックスのEAに挑戦しよう』
メリット
- EAはほったらかしでもトレードを自動でしてくれて利益を積み上げていってくれる便利なものです。
しかし新たにEAを使う前は不安がつきものです。
その不安を具体的な数値で確かめてくれるのはありがたいですよね。 - 今後のトレードの参考資料として、最新でしかも自分に合った検証結果が得られるのがプログラムによるテストの最大のメリットです。
デメリット
- 結果の過信は禁物で、いざ実際にEAを本口座で使っても、必ずしもテスト通りの成績になるとは限らない。
特にバックテストでは現実には起きてしまう約定拒否やスリッページまでは起きないので誤差が生じます。 - 過去のデータでテストするので未来を確約できない。
※ちなみに、EAを売ってくれる業者さんのバックテスト結果は「カーブフィッティング」といって成績を上げるような設定をしていることがあります。
こんなこともバックテストを過信するデメリットといえます。
「未来なんてわからないよね」とさえ意識していればデメリットの悪影響は受けにくくなります。
それよりも、バックテストなしの荒いトレードをするよりも断然良いです。
バックテストの前にヒストリカルデータを入手しよう
「私はフォワードテストしかしない」という人は不要ですが、それでもこの機会に入手方法だけでも読んでおいてください。
世界中のあらゆる銘柄の長期にわたる価格データを全部MT4に入れておくのは負担になるので、始めは最小限のデータしか入っていません。
そこで、自分がテストしたい銘柄と期間のデータを取ってくる必要があるのです。
ヒストリカルデータをくれるところ
MT4やMT5を作っている【メタクオーツ社】が提供しています。
他にもオアンダなどがありますが、今回は簡単なメタクオーツ社からもらいましょう。
ヒストリカルデータの取り方(ヒストリカルデータのダウンロード)
ヒストリカルデータをメタクオーツ社などからもらってきて自分のMT4に読み込ませること⇒「ヒストリカルデータのダウンロード」といいます。
メタクオーツ社のデータは、MT4の操作だけで簡単にダウンロードできるので説明します。
以下の手順で行います。
- 準備としてMT4のキャパシティを広げておく。
「ツール」「オプション」を開き「チャート」タブを選択、「ヒストリー内の最大バー数」「チャートの最大バー数」の双方に「99999……」と入力。
これでたくさんのヒストリカルデータを受け入れることができます。
- MT4にデータを読み込ませるために「ツール」「ヒストリーセンター」の順にクリックします。
- ヒストリーセンターのウィンドウに銘柄と時間足がざーっと並びます。
- もう入っている銘柄は変な四角が黄色と緑になっています。
まだ、MT4に取り込んでいない銘柄と時間足は四角はグレーになっています。
それが欲しい場合にダウンロードの必要があります。 - 欲しい銘柄の時間足ををクリックして青くし、「追加」をクリックして日付を確認します。
大抵その日の日付になっているので、それで進めます。
- 下の「ダウンロード」をクリック。
注意文が出ますが「OK」にするとダウンロードがはじまります。
- 数分かかることもあるので気長に待って、終わったら元の画面に戻るので「閉じる」で終了です。
※ダウンロードのときの注意文は、使っているFX業者のヒストリカルデータと違うかもしれないという意味です。
これもテスト結果のズレの原因にはなりますが、まずはメタクオーツ社のデータでやってみましょう。
秒足のヒストリカルデータはないの?
0.1秒足や1秒足の価格が保存されていて、まるでビデオを再生するように再生できればいいのです。
(調べたところ、そこまでの膨大なデータを保存することはどこもしていないようです。)
ヒストリカルデータが正しくダウンロードできているかどうか確認する
ヒストリカルデータが正しくダウンロードできているかどうかは、ストラテジーテスターの下のタブのうち「レポート」を開いて確認します。
右上の「モデリング品質」が90%になっていれば成功しています。
※この例はダウンロード前の様子です。
「モデリング品質」は「n/a」ですが、このままでもバックテストができます。
MT4のテスト方法【1.手動テスト】
では、テストの方法です。
MT4の機能はすべて無料で使えるので、もちろんバックテストも無料でできます。
最初は、裁量トレードの検証のための手動テストの方法と便利なインディケータの紹介です。
手動のバックテストの方法
MT4のストラテジーテスターを起動して検証したい過去の期間を指定、チャートを動かして自分でエントリーポイントをチェックしていくことになります。
※ちなみにこれがMT4上に架空の注文を入れられるインディケータ。
ブロガーの方が配布されているので感謝と共に自己責任で使ってください。
http://fx-dollaryen.seesaa.net/article/414172748.html
手順を解説します。
※ここでは、「2021年前半には、ゴールドの日足のトレードにドンチャンチャネルが有効だったのかどうかを検証する」を例にとります。
「Donchian.ex4」というインディケータは、あらかじめ無料サイトで入手して入れてあるものです。
※無料インディケータを探せるところの例「abysee」
https://www.abysse.co.jp/mt4/
細かい手順に分けますがとても簡単です。
- ヒストリカルデータを事前に準備しておく
- MT4を開く
- バックテストをしたいインディケータがMT4に入っているなら次に進む
- メニューバーから「表示」「ストラテジーテスター」をクリックしてストラテジーテスターを表示
- ストラテジーテスターの左から「インディケータ」「Donchian.ex4」「GOLD」「Daily」「コントロールポイント」「現在値」と選んでいく
- 一番下の列は「期間を指定」にチェックし「開始日」と「終了日」を入力
※例では、2021年の1月1日から6月1日にしてあります。 - 設定が終わったので、右下の「スタート」をクリックで6月1日からの値動きを再現
※このとき「スタート」が「ストップ」に変わります - 裁量トレードのルールを検証したいので、自分で「ここでエントリーしたい」と思ったら「ストップ」を押す
そして、「挿入」「矢印類」で矢印をつけるなど後でわかるようにしておく
損切りや利益確定の場所に来たら、また「ストップ」して印をして結果を手計算してどこかに記録しておく - 再び「スタート」をクリックして、値動きを進めて手順を繰り返す
※エントリーポイントに矢印が描けないときは、記録に価格と時間を書いておくかスクリーンショットをとってペイントなどで印をつけておき、後でわかるようにしておきます。
テスト結果の検証について
最後に8.のエントリーに対して検証します。
大体、以下のようなことを記録して今後に生かします。
用語の説明と使い方は下に書きますね。
- エントリーのルールは正しく守られたか?
- 損切りと利益確定のルールは正しく守られたか?
- 勝率
- プロフィットファクター(リスクリワード比と同じ使い方です)は良いか?
- 利益と損失のバランスはどうか?
- どんなときにどんな感情が起きたか?
- このルールは今後、利益を残せそうかどうか?
※「コントロールポイント」はざっくりした値動き、「全ティック」は微細な値動きを再現してくれるのでテストの精度を上げるには時間がかかるのを覚悟しつつ全ティックが良いです。
以上、地道な作業ですが意外と面白くてやりはじめると時間を忘れてしまったりして面白いですよ。
手動のフォワードテストの方法
検証の方法は同じです。
決めたルールで勝てるのかどうか実際に試すということで、やったことのある人は多いはずです。
資金に余裕のある場合は、本口座で小さなロットでフォワードテストをしてもいいでしょう。
このとき、感情に左右されてルールを守れないことが増えます。
その感情も記録しておくと、自分のメンタルの癖や特徴を知る手掛かりになります。
半年間のテストがしたいなら、本当に半年間続けなくてはならないので大変です。
しかし、ここで得るものも大きいので1日1時間ずつなど無理のない方法で行います。
「欧州時間の前後1時間の動きで勝てるかどうか?」といったテストも実りがあるものです。
フォワードテストが終わったら、バックテストのときと同じように検証し次に生かします。
MT4のテスト方法【2.プログラムによるテスト】
操作が簡単で多彩なテストができます。
EAのバックテストの方法
MT4には最初からインディケータのセットやEAがいくつか入っています。
そのなかの「Moving Average.ex4」でテストをしてみます。
これは“バー(ローソク足みたいなもの)が移動平均線を上抜けたらロング、下抜けたらショート”というとても単純なルールのEAです。
操作方法は、”手動のバックテストの方法”とほとんど同じです。
- ヒストリカルデータを事前に準備しておく。
- MT4を開く。
- バックテストをしたいEAがMT4に入っているのを確認。
- メニューバーから「表示」「ストラテジーテスター」をクリックしてストラテジーテスターを表示。
- 左から「エキスパートアドバイザ」「Moving Average.ex4」「USDJPY,US Dollar vs Japanese Yen」「Daily」「コントロールポイント」「現在値」と選んでいきます。
- 一番下の列で「期間を指定」にチェック、「開始日」と「終了日」を入力しましょう。
- 設定が終わり「スタート」をクリックすると、EAもチャートも自動で作動し始めます。
- 裁量トレードと違い、ほったらかしで終わるまで待ちます。
- 設定した期間まで動いたら終了、下にあるタブのうち「結果」「グラフ」「レポート」で結果の検証ができます。
待っていれば自動ですべて終わってしまい、勝率やプロフィットファクターなども出してくれるのでとても楽です。
これでEAの成績がよければそのEAを本口座で運用すればいいのです。
(必ずしもテスト結果と同じ未来になるとは限りませんが)成績の詳細がレポートで出るので、使い方も下のほうに書いておきます。
EAのフォワードテストの方法
裁量トレードのための手動フォワードテストと考え方は同じです。
海外FXは大体デモ口座が用意されているので、デモ口座でEAを運用し結果を待ちます。
その後、MT4のレポートを検証します。
ファンダメンタルもチェックしつつリアルタイムで見守りながらなので、テスト記録に書き込むことも多いし最新のテスト結果が得られます。
MT4のレポートの見方
バックテストとフォワードテストが終わったら、レポートを見て検証します。
バックテストとフォワードテストのレポートは少し違いますが、重要なところは同じです。
(手動のバックテストで、注文などをメモしていた場合は自分で計算しないと勝率などは出せません。)
レポートの出し方
レポートの出し方 | どこで見る? | |
---|---|---|
バックテスト | ストラテジーテスターの下のタブの「グラフ」と「レポート」を開けば見られるし、右クリックで保存もできる | ストラテジーテスターのタブの「レポート」で見られる 「グラフ」は成績グラフ 保存するとブラウザなどで見る |
フォワードテスト | ターミナルの下のタブの「口座履歴」を開き、適当なところで右クリックして「詳細レポートの保存」を選択、ブラウザが立ち上がって自動で表示される | ブラウザなどで開く |
下の図で見た目を比べてあります。
MT4のレポートの用語
重要な用語を先にまとめておきましょう。
用語はすべてのテストに共通です。
用語 | 意味 | 使い方 |
---|---|---|
純益 | 総利益-総損失 です | これがプラスじゃないと意味がない( ;∀;) |
プロフィットファクタ(PF) | 総利益÷総損失 です | 1より大きいのが良いです |
総取引数 | 期間中、取引が成功した数 | 自分の想定した数と少なすぎても多すぎても良くないことが多い |
テストバー数 | テストで使ったローソク足の本数 | 変な数値でなければテストが正常だったということ |
モデルティック数 | テストで使ったティック数 | 〃 |
不整合チャートエラー | エラーのあった数 | 多すぎればなにかあるので、設定やルールを変えてやり直したほうがいいです |
総利益 | 期間中の利益 | これだけではトレードの良しあしはわからない |
総損失 | 期間中の損失 | 〃 |
期待利得 | 総利益÷トレード数 (よくいう期待値と同じ) | これがトレードの成績をみるうえで重要。1回のトレードでどのくらいの利益が期待できるかなので、大きいほうがいい。マイナスのときは、トレードの見直しが必要。EAなら使わない。 |
最大ドローダウン | 損益グラフが下がったときの幅のうち、最大のもの 下がる前の残高-下がった後の残高 | あまり大きくないほうがいい |
相対ドローダウン | 最大ドローダウンのときの口座残高の比較。 最大ドローダウンのときの残高÷ピークのときの残高 | 一概にいえないが50%を超えるEAは不安 |
絶対ドローダウン | 初期投資額-期間中の口座最低金額 | 下がりすぎ(大きすぎ)は口座残高が減り危険 |
売りポジション 買いポジション | 期間中、売りポジション、買いポジションをいくつ取ったか。その勝率も出ます。 | 「その銘柄のその期間は買いで勝てたのかどうか?」などがわかります。ファンダメンタルと付き合わせてみましょう。 |
平均勝トレード 平均負トレード | 1トレードあたりの損益の平均です。 | 平均負けトレードのほうが大きければトレードルールの見直しが必要 |
最大勝トレード 最大負トレード | みたとおりの意味で、それぞれ回数と金額が出ます。 | 最大負トレードが大きすぎるのは見直しが必要 |
※この一覧ではローソク足としましたが、バーも同じです。
テスト結果とトレード改善方法まとめ
レポートで出たテスト結果を改善するにはどうしたらいいのでしょうか?
→テストは一度だけでなく設定を変えながら何度か試すものです。
ほとんどの市場が休みの土日などに、PDCFを意識しながらやってみましょう。
(MT5のレポートの使い方もほぼ同じです)
その他のテストプログラム
有料のテストプログラムも販売されています。
無料で優れたモノもあるので少し紹介しましょう。
- 有名な「フォレックステスター」は今も使う人が多いソフトですが、高額です。
- Trade Interceptor(トレード・インターセプター)はダウンロード型のプログラムなので雰囲気はMT4と似ていますが見た目やメニュー、内蔵インディケータが違います。
インディケータはこちらのほうが豊富ですし、トレード練習が無料でできます。
裁量トレーダーにおすすめですが、表記はすべて英語です。 - トレーディングビューはリプレイモードがあります。
過去のチャートの動きを再生し、巻き戻し、早送りもできる優れモノです。
無料でも一部の機能が使えます。
思いついたらまずテスト!
テクニカル分析を一つでも知ると「それならボリンジャーバンドをこう使ったらどうだろう?」と思いついたりします。
一度やってみるとやみつきになってしまうかも・・
それにアノマリーの話を聞いてもテストしてみたくなります。
「4月にドル/円が3%下がる」みたいなアノマリーがあれば、数年間でいいので適当なインディケータでロングのテストをしてみるといいかもしれません。
バックテストの期間ですが、政治的な理由のアノマリーを何十年も前にさかのぼってするのはあまり意味がありません。
金融政策もガラッと変わっています。
そして、形にしてトレード成績という結果に残しましょう!