【速攻使える】FXバックテストのやり方|基礎知識と過去検証の方法を徹底解説
トレードで利益を出したいあなたにおすすめのFX会社
マネーパートナーズ|当サイトで口座開設するとFX特別戦略がもらえる!!→24時間365日のサポートで初心者も安心|業界最狭水準のスプレッドで利益を最大化!
GMOクリック証券|100万口座突破!業界最安の手数料で始めよう
→高機能チャートとスマホアプリで快適トレード|新規口座開設で最大100万円キャッシュバック
FXTF|豊富な通貨ペアで多様な投資戦略を実現!
→独自の分析ツールで勝率アップ|取引量に応じた段階的キャッシュバックで利益の出しやすさ抜群
【FXツール】TradingView|次世代ツールを無料体験!
→TradingViewと連携してリアルトレードできる証券会社|高機能チャートで快適に取引
要するに、バックテストとは
- 過去のチャートにおいて、特定のトレード手法を検証すること
- 主要な目的は、その手法の優位性の確認や改善を行うこと
- 入念にバックテストを行って、トレード成績の向上を目指そう
目次
バックテストの概要
バックテストとは過去のチャートを使ってトレードのシミュレーションを行うことです。
トレーダーが継続的に安定した成績を残していく上で、この作業は非常に重要なステップと言えます。
バックテストを行う目的
バックテストを行う目的として、大きく以下の三つが挙げられます。
- 特定の手法の優位性や特徴を確認する
- より優位性の高い手法へと改善していく
- トレードの練習をする(裁量トレード限定)
トレードで利益をあげるためには、勝ったり負けたりしながらもトータルで利益があがっていく優位性のある手法が欠かせません。
自分の使おうとしている手法に優位性があるのか、あるいは、どういった相場環境に合っているのかといった特徴を把握する際には、実際の値動きに基づいて試す必要があるわけです。
バックテストで優位性を確かめながら、売買ルールに条件を追加、調整していく中で、その手法の精度を高めたり、新しい手法を考え出したりしていくこともできるでしょう。
また、自分で売買の判断をする裁量トレードでは、仮に優位性のある手法であったとしても、その手法通りにトレードができない可能性があります。
そのため、手法に則った売買を行えるようになるために、トレードの練習をするというのも、バックテストにおける重要な目的の一つと言えます。
これについては、手法の条件が複雑になったり、判断基準に裁量の余地が大きくなったりするほど、重要性は増していきます。
なお、あらかじめ設定したルール(以降、この記事では「ストラテジー」と表記)に基づいて自動で売買を行うシステムトレードに関しては、最後の目的について特に意識する必要はありません。
バックテストを行わないことの弊害
バックテストなしにリアルトレードを行った場合、以下のような弊害が生じると考えられます。
- 自分が採用しているトレード手法の優位性が確認できない
- そもそもトレード手法通りに売買が行えない(裁量トレード限定)
- メンタル面でのマイナス要因になる(裁量トレード限定)
バックテストを行わないでリアルトレードに入った場合、そこで採用した手法に優位性があるかどうかが分からないため、利益をあげられない可能性が高くなります。
システムトレードの場合は、どういったストラテジーを選ぶかが肝となりますが、バックテストを行わないで選んだストラテジーが機能するかどうかは、運の要素が大きくなってしまいます。
入念にバックテストを行って、そのストラテジーがどんな局面で優位性を発揮するのかを理解して、少しでも利益をあげられる可能性を高める工夫をすべきです。
裁量トレードに関しても、手法の優位性を確かめるのはシステムトレードと同様にとても重要です。
また、いきなりリアルトレードで手法通りに売買できるかというと、特に経験の少ないトレーダーにとってはハードルが非常に高いはずです。
さらにこれらの点に加えて、バックテストを行っていない場合、自分が採用している手法で利益があげられるか分からないため、自分のトレードに対して自信を持つことができません。
このことはメンタル面でも大きなマイナスで、ルールを逸脱したトレードをしてしまう可能性が高くなります。
こういった弊害を避けるためには、バックテストはしっかり行っておくべきです。
なお、経験の少ないトレーダーが手法通りに売買できない原因の1つに、プロスペクト理論が挙げられます。これについては以下の記事で詳細に解説しているので、一読しておくことをおすすめします。
バックテストの実施方法
バックテストの重要性について説明しましたが、いざバックテストを実践しようとする際に、具体的にどうやればいいのか迷う人もいるかもしれません。
ここでは、バックテストを実施する方法を大まかに三つに分けた上で、それぞれのメリットやデメリットについて紹介していきたいと思います。
- 普段使用しているチャートを見返す
- バックテストツールでストラテジーをシミュレーションする
- バックテストツールでデモトレードを行う
それでは、一つずつ詳細に解説していきます。
普段使用しているチャートを見返す
最初は、普段使用しているチャートをそのまま使って過去の相場推移を見返すという、最も手軽で簡単な方法です。
例えば、チャートでバックテストを行いたい期間まで遡り、そこで自分がどこで取引を行うのかを考えるという形です。
なお、普通に遡るだけでは、バックテストにおける現在時間後に、どう相場が推移していくかが見えてしまうという欠点があります。
この点については、アナログなやり方ですが、バックテストにおける相場の日時をチャート画面の一番右端に持っていき、その先の相場展開を見えなくすることで対応できるでしょう。
その上で1本ずつチャートを進めていけば、十分にトレードをシミュレーションすることができます。(ただし、一目均衡表など、現在時間以降にも表示があるインジケーターについては対応できません。)
この方法のメリットとしては、以下のような点が挙げられます。
一方、以下のようなデメリットもあります。
手軽にできるこの方法は、始めてバックテストを行う人や、軽くバックテストを試したいような場合に向いています。
本格的にバックテストを行う上では、デメリットで挙げた点が大きくなってくるため、他の方法にステップアップしていくことをおすすめします。
バックテストツールでストラテジーをシミュレーションする(主にシステムトレード)
次に、バックテストツールを使って、過去の相場推移のデータを使用してストラテジーをシミュレーションしてみる方法です。
なお、代表的なバックテストツールとしては、以下が挙げられます。
- TradingView
- MetaTrader(MT4、MT5)
- ForeTester(FT3、FT4、FT5)
ストラテジーのシミュレーションなので、基本的にはシステムトレードのバックテストに用いられますが、手法を研究するという意味では裁量トレードに生かせる側面もあります。
この方法は、システムトレードに対応しているツールであれば、基本的に実施できると考えておけばいいでしょう。
実際の流れは、(1)取引対象の過去のチャートデータ(ヒストリカルデータ)を用意して取り込む、(2)ストラテジーを設定する、(3)対象期間、時間足などの条件を設定する、(4)バックテストを実行する、というような形が一般的です。
これによってストラテジーのシミュレーションが行われ、結果が以下のような指標とともに出てきます。(指標については後述にて解説します。)
- プロフィットファクター
- 勝率
- リスクリワードレシオ
- 最大ドローダウン
なお、パラメータで動き方を調整できるストラテジーについて、シミュレーションの中で様々なパラメータを試すことで、最も利益が出る設定に最適化するような機能もあります。
この方法のメリットは、以下のような点です。
一方、いくつかデメリットもあります。
システムトレードがメインのこの方法にはプログラミングが関係することもあり、ストラテジーの設定などに対して苦手意識を持つ人もいるかもしれません。
少し難しいところもありますが、チャート分析を研究していく上で便利なところがあるので、ぜひ挑戦していただければと思います。
バックテストツールでデモトレードを行う(裁量トレード)
最後は、バックテストツールを使って過去のチャートの動きを実際に再現する中で、実際に裁量トレードを行っていく方法です。
基本となるのは過去の相場をリプレイする機能で、取引内容や成績が記録されるデモトレードの機能が加わっているものもあります。
こちらの流れは、(1)取引対象のヒストリカルデータを用意して取り込む、(2)対象期間、時間足などの条件を設定する、(3)取引を行う、というようなイメージです。
なお、リプレイ機能のみで取引機能がないものについては、自分で結果を記録していく必要があります。
上の画像は、デモトレードの機能がないバックテストツールを使って、トレードのシミュレーションを行う場合のイメージです。
1つ目のオレンジ丸のところでエントリーして、2つ目のオレンジ丸のところでエグジットしました。
この場合、例えば以下のような形でトレード内容を記録しておくといいでしょう。
項目 | 入力例 |
エントリー日時 | 1月7日 4:00 |
エントリー時資産額 | 1,000,000円 |
ポジション方向 | 買い |
エントリーレート | 103.153 |
通貨量 | 1万通貨 |
エントリー根拠 | 20SMAと50SMAのゴールデンクロス |
エグジット方針(利食い、損切り) | 終値ベースで50SMA下割れでエグジット |
エグジット日時 | 1月13日 2:00 |
エグジットレート | 104.091 |
損益(値幅ベース) | 93.8pips |
損益(金額ベース) | 9,380円(0.938%) |
エグジット時資産額 | 1,009,380円 |
Excelなどの表計算ソフトに記録しておけば、バックテスト終了後に手軽にトレード指標を計算することもできます。
この方法のメリットは、以下のような点です。
一方で、デメリットは以下のようなところです。
裁量トレードの検証は、この方法は有効です。トレードスキルを上げる上でメリットの多い方法と言えるでしょう。
安定して利益をあげる上での修行の場として考えれば、有料なツールもおすすめです。
ここで紹介した方法における具体的なバックテストツールについては、この記事の最後にいくつかピックアップしています。興味のある人は、そちらもぜひチェックしてくださいね。
バックテストで気をつけるべきポイント
それでは、実際にバックテストを行う上で、どのような点を意識して行った方がいいのでしょうか。
バックテストにおいて意識しておきたいポイントについて、ここでは以下の3点を説明していきます。
- 手法を明確にしてバックテストを行う
- 結果検証において重要な4つの指標
- 手法を改善していく考え方
それでは、それぞれ見ていきましょう。
手法を明確にしてバックテストを行う
裁量トレードのバックテストを行う際、手法を明確にしないまま何となくで取引をしていしまうことがあるかもしれません。
しかし、手法が曖昧なままのバックテストでは、本来の目的である手法の検証を行うことができません。
また、売買ルール通りにトレードを行うトレーニングにもなりません。
もちろん相場を体感してトレードの経験を積むことはできるので無駄ではありませんが、バックテストから期待できる効果が薄くなってしまうのは否めないでしょう。
最初は、有名なインジケーターを一つ使っただけのシンプルな手法で構いません。
本サイトでは、様々なインジケーターについて、考え方や使い方を丁寧に解説しています。最初はどれでも問題ないので、何か気になったものを試してみてください。
しっかりと手法を明確にした上で、1回1回のトレードにおいて根拠を持って売買を行いながら、少しずつ手法を自分なりにアレンジしていってください。
結果検証で確認したい指標
バックテストにおいて大切なのは、結果の検証を行って手法の優位性を確かめ、改善へとつなげていくことです。
ここでは、その際に最低限チェックしておきたい指標を紹介しておきたいと思います。
指標 | 内容 |
プロフィットファクター | プロフィットファクターとは、全取引において総利益と総損失の比率を示した値。 計算式:総利益÷総損失 |
勝率 | 勝率とは、全取引回数における利益があがった取引回数の割合を示した値。 計算式:勝ち回数÷全取引回数×100(%) |
リスクリワードレシオ | リスクリワードレシオとは、1回の勝ちトレードにおける平均利益と、1回の負けトレードのにおける平均損失の割合。 計算式:平均利益÷平均損失 |
最大ドローダウン | 最大ドローダウン、全取引の中で資産が最も減った際の下落率。 計算式:(初期資産額-最小資産額)÷初期資産額×100(%) |
では、それぞれ解説していきます。
プロフィットファクター
最初に押さえておきたい基本となる値が、プロフィットファクターです。
これは全取引における総利益と総損失の割合を示しており、プロフィットファクターが1以上であれば全体で利益が出たことになります。
この値は大きければ大きいほどいいですが、一つの目安としては2以上を達成できれば理想的と考えるといいでしょう。もう少し現実的なラインでいくと、1.5あたりを目指すといいかもしれません。
勝率、プロフィットファクター
プロフィットファクターをより細かく分析していく際に、有用なのが勝率とリスクリワードレシオです。
例えば、勝率が高くてもリスクリワードレシオが低い(平均利益が平均損失に比べて小さい)と、プロフィットファクターは1を切ってしまうかもしれません。
逆に、勝率が低くてもリスクリワードレシオが高い(平均利益が平均損失に比べて大きい)と、プロフィットファクターは1を超える可能性があります。
この勝率とリスクリワードレシオのバランスを見ることで、「利益確定を急がずに平均利益を伸ばすべき」「勝率を上げるべき」といった具合に、プロフィットファクターを目標に近づけるための改善ポイントを明確化しやすくなるわけです。
最大ドローダウン
最後に、最大ドローダウンについてです。
全体でいくら利益が出ていても、途中で大きく資産が目減りしている場合は、リスクの高いトレードになっていると言わざるを得ません。
どういったポイントでドローダウンが急増しているのかをチェックして、何かしらの対策を練った方がいいでしょう。
結果検証をする際の指標を紹介してきましたが、これに関しては以下の記事でも詳細に解説しています。興味のある人は、ぜひチェックしていただければと思います。
手法を改善していく考え方
手法を改善していく考え方には、大きく以下の二つがあると考えられます。
- 条件は維持したまま、パラメータを調整する
- 条件を追加・変更・削除する
一つ目のパラメータの調整は、手法の基本的な考え方は変えずに、パラメータを調整してインジケーターの動き方を変えることで、成績の改善を目指す方法です。
二つ目は、手法の考え方のところから修正する方法です。
例えば、手法の取引条件として使用しているインジケーターを変える、新しいインジケーターによる条件を追加するといったことを行います。
いずれにしても、バックテストにおいて、手法がうまく機能していない部分はどこか、問題点はないかを把握することが大切です。
そして、その問題を解決できるような修正ができないかを、上記のような形でいろいろ試していきます。
こういった改善は、もともとの手法の考え方やインジケーターの仕組みをしっかり理解しておくことで、スムーズに行えるようになります。
特に手法で使用しているインジケーターについては、しっかり勉強しておくことをおすすめします。
TradingViewを利用したバックテストのやり方
ここで、TradingViewでストラテジーのシミュレーションを行う手順とデモトレードを行う手順について、実際の画像を追いながら見ていきましょう。
ストラテジーテスターによるシミュレーション
まずは、TradingViewのチャートを開いて、上部にある「インジケーター&ストラテジー」(画像の①)をクリックします。
すると、インジケーターやストラテジーが出てきます。ちなみに、右側に「↑↓」のマークがあるのがストラテジーです。
今回は「内蔵」のところ(画像の②)から、「MovingAvg Cross(移動平均と価格の交差ストラテジー)」を選択します(画像の③)。
ちなみに、これはローソク足による移動平均線のブレイクアウトをサインにトレードを行う手法です。
すると、上の画像のようにすぐにバックテストの結果が表示されます。
上側のチャートにはトレードが行われるタイミングにマークが入っており、下側のグラフには結果が表示されています(画像の④)。ちなみに、純利益は-41.85円になっていますね。
これは、データとしてある1993年5月頃~現在までの日足全てに対して、ストラテジーが走った形です。(日足未満では、無料版だと5,000期間、有料版だと1万期間に対してテストが実行される仕様です。)
テスト対象期間については、Pineエディタのところ(画像の⑤)に所定のコードを入力することで絞ることもできます。
また、ストラテジーテスターの歯車のマーク(画像の⑥)からは、このストラテジーのパラメータの設定や、初期資金や取引数量といった取引条件の設定などが変更できます。
ここでは、初期資金を10万円→100万円、取引数量を1通貨→1万通貨、パラメータのConfirmBars(移動平均線ブレイク後、何期間目でトレードするかを調整する値)を1→2に変更してみましょう。
上の画像のように、すぐに変更が反映され結果のところ(画像の⑦)が約81万円のプラスに変わりました。
なお、青いグラフは保有資金の推移で、赤いグラフはドローダウン(保有資金の下落率)となっています。
その他の細かい指標についても、「パフォーマンスサマリー」のところ(画像の⑧)から確認できます。
リプレイ機能によるデモトレード
上の画像は、チャートをリプレイする機能の始め方を示したものです。
まずは、チャート上部にある「バーのリプレイボタン」(画像の⑨)をクリックします。
すると青いライン(画像の⑩)が出てくるので、これをリプレイを開始する時間に移動させてクリックすると、チャートがリプレイモードに切り替わります。
左上のメニューバー(画像の⑪)からは、自動再生、自動再生のスピード調整、ローソク足を一つ前に戻す、一つ前に進めるといった操作が可能です。
なお、現在のTradingViewでは、デモトレードの機能は用意されていません。
そのため、少し手間ですが、デモトレードは自分で記録する必要があります。今後のデモトレード機能の実装に期待したいところです。
また、無料版のリプレイ機能は日足以上にしか対応しおらず、日足未満の時間足でリプレイ機能を利用するには、有料版への加入が必要となっています。
機能面でやや不足感もありますが、手軽に過去のチャートを流すことができるこのリプレイ機能は、裁量トレードの練習において大いに役立つと言えるでしょう。
TradingViewのバックテストを学べるオススメ本
→『一流のトレードは、一流のツールから生まれる TradingView 入門 ──「使える情報」を中心にまとめた実戦的ガイドブック』のAmazon公式サイトはこちら
バックテストをはじめTradingViewの各機能について詳しく学びたいなら、『一流のトレードは、一流のツールから生まれる TradingView 入門 ──「使える情報」を中心にまとめた実戦的ガイドブック』がオススメです。
これはTradingView-Japanの監修を受けたガイドブックであり、TradingViewで何ができるのか、網羅的に解説されています。
TradingViewは多機能で便利なツールですが、それゆえに「やれることが多すぎて、どう使えばいいのか分からない」と感じる方もいるでしょう。
しかしこの本が手元にあれば、TradingViewを自分に合う形で最大限活用でき、快適なトレードを実現できるはずです。
TradingViewのバックテストに対するTwitter(X)の声
Twitter上では、TradingViewのリプレイ機能を使って練習しているトレーダーが多数見受けられました。
トレード戦略を立てるうえで、ストラテジーテスターを活用している人も多いようです。
バックテストの注意点、懸念点
トレード成績を向上させるためには、バックテストは非常に有効な手段であり、しっかり行っておくべきステップだと言えます。
しかし、バックテストもやり方を間違えると、期待通りの効果が出ない可能性があります。
ここで、バックテストを実行する上での注意点や懸念点についても触れておきたいと思います。
鍛えにくいメンタル管理
裁量トレードにおいて、手法と同じように重要なのがメンタル管理を適切に行えることです。
なぜなら、メンタルが崩れてしまうと売買ルールを逸脱した取引を行いやすくなり、いくら優れた手法を使っていても意味がなくなってしまうからです。
このメンタルを崩す大きな原因の一つが、トレードによってお金が増えたり減ったりすることです。
しかし、バックテストをいくら行っても、実際のお金が増えたり減ったりすることがなく、安心してトレードを進めることができます。
さらに、バックテストでは時間経過を早送りして行えるため、トレードにおいて「待つ」というメンタルに負担のかかるステップを飛ばすことが可能です。
例えば、トレードポイントがなかなか来ないような状況でも、バックテストであれば時間を進めてすぐにトレードに入ることができます。
一方、リアルトレードでは何もせずに長時間我慢しなければならず、ストレスがたまるような局面も少なくありません。
こういったことから、バックテストではメンタル管理が簡単で、冷静なトレードを行いやすい側面があるわけです。
そのため、バックテストで冷静にトレードできたからといって、リアルトレードでも冷静にトレードできるとは限らないということは、あらかじめ意識しておいた方がいいでしょう。
あくまで過去の結果にすぎない
入念にバックテストを行い、安定した好成績を出せる手法を考案できたとします。
リアルトレードにおいてもバックテストと同様の好成績を出すことを期待してしまいますが、必ずしもそうなるとは限りません。
なぜなら、その手法が好成績を出せたのは、あくまでも過去のチャートにおいての結果にすぎないからです。
リアルトレードは将来のチャートにおいて行うことになりますが、将来のチャートが過去のチャートと異なるタイプの動きになるということは、十分に起こりうる話です。
もちろんバックテストで安定した結果が出せることは、その手法が将来においても優位性を発揮する可能性があることを示しています。
しかしながら、その結果を過信し過ぎることなく、相場には変化が起こることも踏まえて、常に改善し続けるように心がけたいところです。
過剰最適化(カーブフィッティング)について
過剰最適化は主にシステムトレードにおいて使われる用語ですが、簡単に言うと、特定の相場に手法を合わせ過ぎてしまうことを言います。
特定の相場では大きな利益をあげられますが、それ以外の相場では全く機能しないというようなイメージです。
バックテストにおいて手法の改善をしていく中では、こういった過剰最適化を起こさないように注意しなければなりません。
過剰最適化は、例えば、短期間のバックテストしか行っていない、取引回数が少ない、極端な好成績になっている、といったケースに起こりやすいと考えられます。
つまり、この逆を意識して、長期間のバックテストを行う、取引回数を多くする、バランスの良い成績にする(勝率が偏る過ぎないなど)、といった工夫をするといいわけです。
この他、将来の相場に対して機能するかのテスト(フォワードテスト)も効果的と考えられます。
バックテストで優位性を確認できるのはあくまでも過去の期間においてのみであり、過去の期間に過剰最適化してしまっているかもしれません。
デモトレードで実際の相場でテストするなどして、バックテスト対象期間以降も有効に機能することが確認することによって、過剰最適化の可能性を減らしていくわけです。
この問題はバックテストでは多かれ少なかれ生じてしまうものですが、過剰最適化の影響を抑えるように意識することは、とても大切なポイントと言えるでしょう。
豆知識
裁量トレードとは、自分の判断で取引を行うトレード方法です。これに対してシステムトレードは、売買ルールがプログラムされたストラテジーに基づいて、自動でトレードが行われます。
つまり、システムトレードでは、稼働させるストラテジーを選んだ後は基本的に放置する形になり、ストラテジーを選ぶところで勝負が決まると言っても過言ではありません。
このストラテジーを選ぶ根拠となるのがバックテストであり、システムトレードにおいてバックテストは非常に重要となるわけです。
システムトレードを裁量トレードと比較した際のメリットは、以下のような点が挙げられます。
逆に、デメリットとしては、以下のような点が挙げられます。
裁量トレードとシステムトレードのどちらがいいかは、その人が何を優先するかによって変わっていくでしょう。
ただ、ストラテジーを理解するためには一定のチャート分析の知識があることが望ましいですが、その知識は裁量トレードを通じての方が身に付きやすいところがあります。
このことを踏まえると、システムトレードについては、ある程度裁量トレードで経験を積んでから挑戦するのが望ましい側面があるかもしれません。
用語
- 裁量トレード
- システムトレード
- バックテスト
- ストラテジー
- デモトレード
- インジケーター
- プロフィットファクター
- 勝率
- リスクリワードレシオ
- 最大ドローダウン
- 過剰最適化(カーブフィッティング)
- フォワードテスト
- メンタル管理
バックテストツールの紹介
最後に、代表的なバックテストツールをいくつか簡単に紹介しておきます。バックテストを行う際の参考にしていただければと思います。
TradingView
株式から為替、仮想通貨まで、様々な金融商品の相場を確認できるチャートツール。バックテストの機能も充実している。無料版では機能が一部制限されているが、利用する価値は十分にある。
MetaTrader(MT4、MT5)
主にFXをメインとするチャートツールだが、一部対応している仮想通貨取引所もある。パラメータ最適化など、バックテストの機能も充実している。有料だが裁量トレードをサポートする様々なソフトも販売されている。
ForexTester(FT3、FT4、FT5)
主にFXをメインとするバックテスト専用ツールで、バックテストに関する機能が非常に充実している。裁量トレードとシステムトレードの両方に対応している。高価なソフトだが、それ以上の効果が期待できる。