その他
サラリーマンや主婦にとって、ずっとチャートを見なくても利益の出る自動売買はとても魅力的です。ですが、自動売買システム(EA)を入手しても実際に稼働する前に本当に利益が出るかEAかどうかを自分で確かめなければいけません。MT4/MT5は、バックテストという作業でこれを行えます。
難しく思われがちなバックテストですが、実は簡単にできます。この記事では、バックテストのやり方や、良いEAを選ぶための結果の見極め方を分かりやすく解説します。
知りたい情報 TOP3(ここを読めば解る)
夢のトレード生活~FX自動売買のすすめ~
初心者でも利益を出せる自動売買トレード
自動売買とは、一定の売買ルールをプログラムした専用プログラム、EA(エキスパート・アドバイザー)が機械的にトレードする方法のことです。そして、自動売買トレードを別の言い方で「システムトレード」とも呼びます。
裁量トレードは、トレーダーがタイミングを見計らい1回ごとの売買判断をトレーダーが行いますね。しかし、利益を出し続けるのは簡単ではありません。その日の体調や心理状態に左右されますし、常に冷静な判断が求められ、トレードが終わると本当に疲れます。
さらに、FX市場は機関投資家や何年もプロトレーダーとして生計を立てている人が同じチャートを見ながらトレードをしています。プロトレーダーも初心者トレーダーも同じ「土俵」の上で勝負をしているのです。
FXは「ゼロサムゲーム」であると言われています。ゼロサムゲームとは、勝った人の金額=負けた人の金額になるゲームです。FX取引には必ず反対売買が伴いますので、利益を得ている人の裏側では損をしている人がいることになります。
「戻る、戻る!!」と考えて、トレードルールを守らず含み損がどんどん膨らんで涙の損切り...。
裁量トレードで大切なことの1つは、「売買ルールを守ること」といわれています。このように考えると、自動売買トレードは淡々と売買ルールどおりにトレードをするので、初心者の人でも利用しやすいのではないかと思います。
このようなわけで、注目されているのが「自動売買トレード」です。トレーダーの代わりにプログラムされた売買ルールに沿って、EAが24時間、相場を監視してくれます。チャートに張り付いている必要はないので、仕事で忙しいサラリーマンの人でもFX取引への参加が可能になるのです。
もちろん、EAは基本的にテクニカル分析のみでトレードを行い、ファンダメンタルズを考慮できないなど、裁量トレードと比較した欠点はありますが、このようにEAならではの長所もあります。
EAのもう一つの特徴は、良いEAを選ぶことができれば、初心者の人でも上級トレーダーと同じように利益を出せるということです。裁量トレードと違い、トレードの練習をする必要がない代わりに、良いEAを見極めることが最も重要になります。
このために必要なのが「バックテスト」です。
バックテストって何?
バックテストとは、「過去の相場でEAを稼働させたら、利益が出たのかどうかを確かめる作業」です。MT4/MT5の中に入っている過去のチャートデータを使用し、理想は10年間、最低2~3年のバックテストを行います。
バックテストでは、特に下記の3つのポイントに着目してEAの特徴を見極めておくことがおすすめです。
EAを稼働させる前に確認しておきたい3つのポイント
- EAのトレードスタイル
- EAのリスク許容度(ドローダウンや平均利幅/損切り幅)
- 過去の相場で実際にどんなタイミングでトレードをしているのか
裁量トレードと同じように、EAにもスキャルピング型やデイトレード型、スイング型などトレードスタイルがあります。また、それぞれ利確や損切りの幅も異なります。EAも常に勝てるわけではないため、調子が悪くなったときにどの程度の損失が出るのかを把握しておくと、損失が出ても慌てずにEAの稼働を継続するか判断できます。
バックテストの情報を基にEAの特徴を把握すれば、別のEAと組み合わせたり、設定を再調整したりして、自分のポートフォリオを完成させることもできます。
通常は株など金融商品の組み合わせのことを意味する。自動売買トレードでは、リスク分散のために性質の異なる複数のEAを組み合わせて運用することを指す。
バックテストは、結果の精度を上げるために細かく設定したり、ツールを使って分析したりすると手間がかかる面もありますが、基本の使い方は簡単です。この記事を参考にして実際にやってみましょう。
バックテストは難しくない!MT4でバックテストをやってみる
ここでは、MT4でのバックテストの基本的なやり方を解説します。MT5では若干やり方が異なりますので、MT5の場合は下記の記事を参考にしてください。
バックテストをやってみよう
バックテストをしたいEAをMT4にインストールします。インストールの方法については、当サイトで作成したMT4ご利用ガイドを参考にしてください。
上部の「表示」メニューから「ストラテジーテスター」を選択します。
チャートの下に以下の画面が出てきますので、ここでバックテストの設定ができます。
上記の画面では、以下の項目を設定していきます。
①エキスパートアドバイザー | バックテストするEAを選択 |
---|---|
②エキスパート設定 | パラメーターなどEAの詳細を設定 |
③通貨ペア | バックテストをしたい通貨ペアを選択 |
④モデル | 全ティック、コントロールポイント、始値のみから選択 |
⑤期間 | 時間足を指定 |
⑥期間を指定 | 開始日と終了日を設定 |
⑦スプレッド | 現在値もしくは既定の数値を選択 |
⑧ビジュアルモード | チャートにエントリーポイントなどを表示 |
「②エキスパート設定」、「③通貨ペア」、「⑤期間(時間足)」は、EA入手先の指示に従ってください。
他の項目については、好みに応じて細かく設定することもできますが、よく分からない人は下記のように設定してバックテストしてみましょう。
④モデル | 全ティックを選択 |
---|---|
⑥期間を指定 | 1年前の日付を指定 |
⑦スプレッド | 現在値を選択(※) |
⑧ビジュアルモード | チェックを入れない |
土日や朝方以外
「④モデル」については、最も正確な結果になりますので「全ティック」を選択しましょう。
「⑥期間を指定」については、本来は10年分結果を見た方が望ましいですが、デフォルト設定では10年のヒストリカルデータがMT4に入っていないため、ヒストリカルデータを別途インプットしてない場合は、1年分の期間を入力してください。ヒストリカルデータのインプットを行う方法は「【応用編】ヒストリカルデータでバックテストの精度を上げる」で解説しています。
「⑦スプレッド」は、現在値を選択すると、現在のスプレッドの数値でバックテストされます。通常は現在値でバックテストしても問題はありませんが、週末や朝方は通常の何倍も広いスプレッドになっていることがありますので、現在値ではなく、ご利用のブローカーの平均値を選択してください。
「⑧ビジュアルモード」は、チェックを入れると非常に時間がかかりますので、別途直近だけ見るなど、必要があるときだけ利用するのがおすすめです。
ここまでの設定が終わったら、「スタート」ボタンを押すと、バックテストが始まります。
これでバックテストは完了です。結果を確認してみましょう。「3.バックテストの見方をじっくり解説します」で結果の見方を詳しく解説します。
【応用編】ヒストリカルデータでバックテストの精度を上げる
バックテストは、過去のチャートデータを利用してEAの検証をするものです。検証に使われているチャートデータは「ヒストリカルデータ」と呼ばれます。このヒストリカルデータの精度によっても、バックテストの結果の正確性は変わります。
ダウンロードしたヒストリカルデータをMT4/MT5にインポートする方法は、以下のMT4/MT5ご利用ガイドで詳しく紹介しています。
ほとんどの海外FX業者が提供している取引プラットフォーム「MetaTrader」。MetaTraderのメリットの1つは、自動売買トレードができる点です。MetaTraderがリリースされる前は、自動売買トレードに個人投資家が参加するのは容易ではありませんでした。まず、システムトレードをするための取引プラットフォームがなかったからです。
自動売買をする取引プラットフォームの主流は、2020年現在でも「MetaTrader4(MT4)」です。後継取引ツールとして開発されたMT5でも自動売買トレードは可能なのですが、MT4とプログラム言語が異なるため、自動売買システム(EA)を作成・販売する開発者が少なく、なかなか普及していません。
バックテストの見方をじっくり解説します
バックテスト結果の基本的な見方
実際に、MT4に内蔵されているサンプルEA「Moving Average」のバックテストを試してみました。移動平均線を利用したEAです。
下部メニューバーから「グラフ」を選択すると、上記の画面が表示され、口座残高の増減がグラフで把握できます。できるだけ高低差がなく、ゆっくり右肩上がりになっているかどうかを確認しましょう。高低差が激しいEAは、実際に運用したときにも成績が乱降下する可能性があります。
上記の画面を見ると、結果的に利益が出ているのですが、移動平均線を利用しているEAのため、レンジ相場が続くとひたすら成績が悪くなります。
下部メニューバーから「レポート」を選択すると、詳細情報が分かります。この画面で必ず確認したいのは以下の4つです。
項目 | 意味 | 「移動平均線EA」 |
---|---|---|
①プロフィットファクタ | 総利益が総損失の何倍かを示す数値 | 1.40 |
②最大ドローダウン | 最大の口座残高からの下落率 | 19.33% |
③勝率 | 勝ちトレードの割合 | 36.99% |
④平均勝トレード / 平均敗トレード | 勝ちトレードの平均金額と負けトレードの平均金額 | 勝ち:263.82 負け:-110.45 |
(検証期間:2013年1月~2020年5月、通貨ペア:ドル/円)
このEAは、MT4の開発会社が用意したサンプルEAなので、仕組みが非常にシンプルです。実際の運用で利益を上げることは期待されていませんが、それでも右肩上がりのそこそこの成績となりました。
各項目について解説します。
1.プロフィットファクタ
「プロフィットファクタ(PF)」は、利益を上げられるEAかどうかを確認するために重要な数値です。「総利益額÷総損失額」で計算され、1を上回れば、トータルで利益が出ているという意味になります。
一般的には、PFが高ければいいEAと考えられます。しかし、あまりPFが高いものは、大きな含み損を抱えても利益になるまで決済しないタイプのEAなど、リスクの高いEAである可能性もありますので、PF以外の要素も確認することが必要です。
2.最大ドローダウン
「最大ドローダウン」は、最大の口座残高の下落率を指します。
このEAで言えば、検証期間の始めに一旦口座残高が増えて、その後減少し、再度増え始めるまでの期間が「最大ドローダウン」です。この数値が高いと、成績の波が激しくなりますので、バックテスト期間全体の成績がよくても、使い始めた時期によっては損失が膨らんでしまいます。
最大ドローダウンが20%以内になるEAを使うのがいいでしょう。
3.勝率
勝ちトレードの割合を示します。勝率がいくらかというのは、EAのタイプを把握するのに役立ちます。勝率が高いからといって一概にいいEAとは言えないため、PFや最大ドローダウンと合わせて評価しましょう。
勝率が高い場合、利確が早く損切りが遅い「損大利小」EAの可能性があり、逆に勝率が低いのにPFは高い場合、勝ちトレードのときに大きく取る「損小利大」EAです。
サンプルEAの場合、勝率が36.99%と低いのにトータルで利益は出ているため、「損小利大」EAと判断できます。
4.平均勝トレード・平均敗トレード
平均勝トレード・平均敗トレードも、勝率と同様EAのタイプを把握するのに役立ちます。サンプルEAの場合、平均勝トレードが263.82で、平均敗トレードが-110.45となっているため、勝つときに大きく勝つタイプのEAだということが分かります。
バックテストは過去のデータを利用して、EAを検証する作業のことです。もう一つEAの検証に大切な作業があります。それが「フォワードテスト」です。フォワードテストとは、実際にデモ口座やリアル口座でEAを稼働させてみることです。バックテストで運用した後に検証すると効果的です。
ビジュアルモードを活用しよう
バックテストでは数値で成績を確認できますが、チャートがどの形になっていたときにポジションをエントリー・クローズしたのかを確認する方法もあります。
「ビジュアルモード」を選択した場合、バックテストが終了すると、チャート画面が表示されます。
裁量トレードも行っている人なら、期待値が高い場面でエントリーしているか判断の参考にすることができます。
【応用編】バックテスト結果を詳細分析するツール、Quant Analyzer
ここまで、MT4でバックテストをする方法について紹介してきました。バックテストでもかなりの情報が分かるのですが、さらに詳細に分析する外部ツール「Quant Analyzer(クアントアナライザー)」が無料で利用できます。
中級トレーダーでも利用している人は少ないのですが、かなり深い部分まで分析できます。
様々な機能がありますが、例えば下記のようなことができます。
Quant Analyzerでできること
- 複数のEAの相関関係の分析
- 年別、月別、曜日別、時間帯別の分析
- ドローダウンのグラフ化
- 売り・買いごとの勝率
- 金額・Pips・パーセンテージでの損益表示の切り替え
特に人気が高いのが、複数のEAの相関関係の分析です。相関関係が低いEAを複数選んでポートフォリオを組めば、同時に複数のEAが負ける可能性が低くなり、リスク分散になります。
Quant Analyzerは、英語のサイトからダウンロードする必要があり、それが若干利用のハードルになっていますが、日本人の利用者も多いです。気になる方は下記リンク先からダウンロードしてみましょう。
「GET FREE」ボタンをクリックし、氏名・メールアドレスの入力などダウンロードするための手続きを始めます。
MT4について紹介してきましたが、MT5は実際どうなのか気になる人も多いと思います。実際に試してみたのですが、感じたのは「とにかくバックテストの動作がサクサク」です。EAにもよりますが、9年分のバックテストをわずか2分で終了させました。MT4で同じだけバックテストをしようと考えると...。
さらに、バックテスト結果の情報も異なっています。MT4ではQuant Analyzerを使わないとできなかった曜日別や時間別の成績が、MT5ではデフォルトで可能です。
バックテストは将来の成績を保証するのか?
これまではMT4でバックテストをする方法について解説してきました。ここでは、根幹部分つまり「バックテストで成績が良ければ、将来の相場でも利益が出るのか」という究極の質問に答えていきたいと思います。
結論から言うと、「バックテスト結果が良くても、将来の利益は分からない」という答えにたどり着くと思います。設定を過去の相場にピッタリ合うように調整し(過剰最適化)、バックテストを出しているEAもあります。
過去に何十個というEAを運用してきた経験があるのですが、バックテスト結果が良くてもなかなか利益が出ないEAが実際に存在しました。
ただ、「バックテスト結果が安定していれば、実際に運用しても利益が出る確率が高くなる」というのも実際に経験しています。バックテストを全くしていなければ、EAの強みも弱点も分かりませんし、入れ替えをすべきかどうかの判断もできません。
損失が続いていても、一時的なのかトレードロジックが間違っているのかの判断もできなくなります。基本的には、EAに任せておいて良いと思いますが、明らかにまずそうなEAは除外しなければいけません。
Quant Analyzerについても紹介しましたが、まずは基本的なバックテストに挑戦してポジションの保有時間やドローダウンなどのリスクを把握してみましょう。そして、バックテストが終わったら、デモ口座やリアル口座で実際に運用(フォワードテスト)してみましょう。EAの動作だけでなく、VPSやFX業者との相性を確認します。
できるだけEAのタイプを別にしてリスクを分散すると、ポートフォリオ全体で利益が出しやすくなります。ほとんどの海外FX業者はデモ口座を提供していますが、XMTrading(エックスエム)やTitan FX(タイタンFX)のデモ口座はすぐに登録できるので、ぜひ活用してみてください。