EAのバックテストはどこまで信じていい?結果の見方を整理しよう
「バックテストでは、あんなにきれいな右肩上がりだったのに、実際に動かしたら、まったく違う結果になった」。
EAに関わっていると、そんな話を耳にすることがありますよね。実は、私にもそういう経験があります。
バックテストは、EAを作るときにも、選ぶときにも、頼りになる道具です。でも、使い方をまちがえると、「結果を見ただけで安心してしまう」落とし穴にもなります。
今回は、私の失敗も交えながら、バックテストの結果をどう読めばいいのか、PF(プロフィットファクター)などの数字の見方も含めて、じっくり整理してみますね。
少し長めのコラムになりますが、よかったらおつきあいください。
1. バックテストが教えてくれること、教えてくれないこと
バックテストは、過去の価格データを使って、「このルールで動いていたら、どうなっていたか」を試すものです。
EAの動きや設定を比べたり、極端に不自然な結果が出ていないかを見たりするのに、とても役立ちます。
ただ、これはあくまで、過去の条件を使った試算です。実際の口座で得た運用成績とは、分けて考えてくださいね。
そして、バックテストが教えてくれないこともあります。未来の相場はどうなるのか。自分が実際に使う口座で、同じように注文が通るのか。こういったことは、テストの画面を見ているだけでは、わかりません。
ポイント
- EAが想定どおりに売買するか、動きの傾向をつかむ
- 設定を変えたときに、結果がどう変わるかを見る
- 苦手そうな相場や、資金が大きく落ち込む場面がないか探す
- 結果を見て、「将来も同じになる」と決めつけない
- テスト結果と実運用の成績を、同じものとして扱わない
2. まず目に入る数字:PF(プロフィットファクター)の見方
テスト結果の画面を開くと、まず目に入りやすいのが、PF(プロフィットファクター)ではないでしょうか。
PFは、「総利益 ÷ 総損失」で出る数字です。利益が損失の何倍あったか、という見方ですね。
計算のイメージ
- 総利益が200、総損失が100なら、PFは2.0
- 総利益と総損失が同じなら、PFは1.0(プラスマイナスゼロ)
- 総損失のほうが大きければ、PFは1.0を下回る
これは、計算のイメージをつかむための例で、実際の成績ではありません。
ざっくり言うと、PFが1.0を超えていれば、テストの期間中は、利益のほうが大きかった、ということになります。
ただ、PFの数字だけを見て安心するのは、ちょっと待ってくださいね。
PFを見るときの注意
- 取引の回数が少ないと、たまたまの結果で、PFが大きく上下しやすい
- 一部の大きな利益だけで、PFが高く見えていないか
- PFがとても高いときは、設定を過去に合わせすぎていないか、いったん疑ってみる
- 売買コストを変えたとき、PFがどれくらい下がるか(1.0に近いほど、コストの影響を受けやすい)
- PFだけでは、資金がどれくらい落ち込んだのか(ドローダウン)はわからない
PFは、とてもわかりやすい数字です。でも、それだけで「このEAはよさそう」と決めてしまうと、ほかの大事な部分を見落としてしまいます。
3. PFのほかに、見ておきたい数字
テスト結果の画面には、たくさんの数字が並んでいますよね。全部を完璧に理解しなくても大丈夫です。まずは、次のあたりを押さえておくと、結果が立体的に見えてきます。
(表示の名前は、使うツールや環境によって、少し違うことがあります)
見ておきたい数字
- 最大ドローダウン:資金が、いちばん高いところから、どこまで落ち込んだか。「この落ち込みに、自分は耐えられるか」を考えるための数字です。金額と割合(%)の、両方で見るのがおすすめです。ただ、この数字が大きいからといって、よくないEAとは限りません(このあと、くわしく)
- 期待値(期待利得):1回の取引あたりの、平均的な損益。この数字が小さいと、コストが少し変わっただけで、マイナスに傾きやすくなります
- 総取引数:少ないと、結果が偶然に左右されやすくなります
- 勝率と、利益・損失の大きさのバランス:勝率が高くても、1回の損失が大きければ、トータルでは負けることもあります。勝率だけで判断しないようにしたいですね
- 最大連敗(連続した損失):負けが続いたとき、どれくらい続く可能性があるか。心の準備にもなります
- リカバリーファクター(回復係数):利益が、最大ドローダウンの何倍あるか。落ち込みに対して、どれくらい取り戻せているかの目安です
- 損益のグラフの形:なめらかに伸びているか、一部の期間だけ急に動いていないか。数字では見えにくいクセが、グラフだと見えることがあります
大事なのは、ひとつの数字で判断しないで、いくつかを組み合わせて見ることです。
たとえば、PFが高くても、ドローダウンが大きかったり、取引回数が少なかったりすると、印象はだいぶ変わりますよね。
ドローダウンを見るときは、「複利」にも気をつけたいところです。
複利で運用する(資金が増えたら、取引量も増やしていく)口座では、残高が増えるほど、同じ割合の落ち込みでも、金額は大きくなっていきます。つまり、資金が増えれば増えるほど、ドローダウンの金額も、必然的に大きくなるんです。
ですから、ドローダウンが大きい=よくないEA、とは、一概には言えません。
また、テスト結果の「最大ドローダウンの金額」だけを見ると、後半の大きな金額に引っ張られてしまうことがあります。割合(%)でも確認して、「資金が増えたときの、落ち込みの金額にも耐えられるか」を考えておくと、安心です。
さらに、取引量を固定したテストと、複利のテストとでは、ドローダウンの見え方が変わります。どちらの条件で出した結果なのかも、確認しておきたいですね。
ドローダウンの見方
- 金額だけじゃなくて、割合(%)でも見る
- テストが、ロットを固定した設定か、資金に応じてロットが増える(複利の)設定かを確認する
- 資金が小さかった時期と、増えたあとの時期を、分けて見る
- 同じ期間の利益とあわせて見る(リカバリーファクターも、目安のひとつ)
- その落ち込みに、自分の資金や気持ちが耐えられるかを考える
4. 価格データとテスト条件を確かめる
同じEAでも、使う価格データやテスト条件が違うと、結果が変わることがあります。
たとえば、細かな値動きの再現のしかたや、売買コストの設定が実際の環境に近いかどうかは、確認しておきたいところです。
テストの条件がわからないまま成績だけを見ても、どんな場面を再現した結果なのか、判断しにくいですよね。
具体的に確認すること
- どの通貨ペアや銘柄、時間足を使ったテストか
- どの期間の価格データを使っているか
- ティック(細かな価格の動き)の再現方法は何か
- スプレッドや手数料などの売買コストを含めているか
- 使ったデータや設定に、抜けや不自然な点がないか
5. 私の失敗談:テストした環境と、実際に使う環境の違い
ここで、私の失敗談をお話ししますね。
私は、スプレッドがとても低いFX会社の環境で、バックテストをしていました。
そして実際に運用するときに、スプレッドの条件が少し違うFX会社を使ったところ、テストとはまったく違う結果が出たんです。
EAのロジックは同じなのに、です。
1回あたりのスプレッドの差は、小さく見えるかもしれません。でも、取引が重なるほど、その差は積み重なっていきます。とくに、取引の回数が多いタイプや、1回あたりの利益が小さいタイプのEAは、影響を受けやすいと考えられます。
テストの結果は、あくまで「テストした環境の中での結果」なんですよね。この経験で、そのことを痛感しました。
スプレッドのほかにも、手数料の有無や、注文が希望した価格からずれて通ること(スリッページ)、FX会社ごとの価格の違いなどで、結果は変わり得ます。
テストの前に確認したいこと
- 実際に使う口座のスプレッド(ふだんの幅と、広がりやすい時間帯)
- 手数料がかかるかどうか
- テストで使ったスプレッドの設定が、どんな条件か
- 指標発表時など、値動きが急なときの注文条件
- テストに使ったFX会社と、実際に使うFX会社が違うとき、価格や時間の設定にずれがないか
- スプレッドを実際より少し広めに設定して試しても、結果が極端に崩れないか
6. 設定を合わせすぎていないか見る
過去の結果がよくなるように、設定を何度も調整していると、その期間の値動きにはぴったり合っていても、別の期間ではうまくいかないことがあります。
過去のデータに合わせすぎてしまう状態、ということですね。
PFがやけに高く出たときは、とくに注意したいところです。成績の数字だけじゃなくて、設定を少し変えたときにも、極端に崩れないかを見ておくと、結果を落ち着いて判断しやすくなります。
具体的に確認すること
- その設定を選んだ理由を、説明できるか
- 特定の短い期間だけが、全体の結果を大きく押し上げていないか
- 設定値を少し変えたとき、結果が急に悪くならないか
- 利益だけじゃなくて、損失が続く期間や資金の落ち込みも見ているか
- たくさんの設定を試したあとで、いちばんよい結果だけを選んでいないか
7. テストの外でも、段階的に確かめる
バックテストだけで判断を終わらせないで、テストに使っていない期間のデータでも確認すると、過去の一部に合わせすぎていないかを考える助けになります。
さらに、デモ口座などで動かしてみれば、注文や停止の動きも確かめられます。
それでも、将来の成績はわかりませんし、実口座では、相場や取引環境の違いによって損失が出る可能性があります。
ポイント
- 設定を決めるために使った期間と、確認用の期間を分ける
- 確認用の期間でも、同じような傾向が続くかを見る
- デモ環境で、注文や決済が想定どおりか確かめる
- 実口座で使うときは、損失が出る可能性を前提に、資金を考える
- テスト条件や確認した内容を記録して、あとから見直せるようにする
まとめ:バックテストは「手がかり」のひとつ
バックテストは、EAの過去の動きを調べるための手がかりです。
PFのような、わかりやすい数字だけで決めないで、ドローダウン(金額と割合の両方)や取引回数なども組み合わせて見ましょう。
そして、データやコスト、実際に使う環境との違い、設定の合わせすぎも確認して、テスト以外の期間やデモ環境でも、段階的に見ていきましょう。
結果がよく見えても、将来の利益や安全を約束するものではありません。EAを使うかどうかは、損失の可能性も含めて、ご自身の判断で決めてくださいね。
注意書き
本記事は情報提供を目的としたもので、投資助言ではありません。EAの運用には元本割れのリスクがあります。過去の結果は将来の成果を保証しません。ご自身の判断と責任で行ってください。