EA開発者、運用者として、マニアックすぎる視点での情報発信にファンが多い林貴晴さんに、MT4の自動売買とは切っても切れない関係であるバックテストについて、縦横無尽に語っていただいた。
基本的なテスト結果の見方の解説は、自動売買ルーキーには必見! ところで、なぜ人気EAにはリスクがあるか、知っていた?
聞き手・本文◉鹿内武蔵
バックテストは基準となるピュアな試験
─今回は自動売買のバックテストを中心に、いろいろ教えていただければと思います。まず、バックテストとは、そもそも何なのでしょうか。
「バックテストを教科書的にいうと、ロジックを検証する試験のことです。同じようなテストに、フォワードテスト、ウォークフォワードテストといったものがありますが、バックテストが一番長い期間をテストできるので、この部分は強力なメリットだと思います。例えばある売買ロジックを最適化しようと思ったら、バックテストなら簡単にできますが、フォワードテストなら複数の設定を同時に稼働させるなど、非常に手間も時間もかかります。
またEAを作る人と、EAを使う人のバックテストは違います。EAを作る開発者側の目線でいうと、バックテストはものすごくピュアな試験です」
─ピュアですか。
「はい。なぜここで横文字を使ったのかという点はさておき、FXは相対取引が基本なので、使用しているFX会社によってレートは違いますよね。さらにスリッページは、投資家ごとにも違います。同じEAを、同じFX会社で別々の人が動かしていても、違うスベリ方をするのはごく当たり前のことです。VPSの環境が違ったり、そのFX会社内の板の問題もあります。で、バックテストは、一切こういう条件を考慮していません。これがバックテストがピュアだと思う由縁で、投資家や環境によって結果が異なってくるEAの運用にあたって、平均的な結果を得られるのがバックテストです」
─確かにバックテストでは、口座ごとのスリッページといった要素は考慮されません。
「スリッページの影響がどれくらいなのかを調べるには、フォワードテストをしてもいいんですが、僕ならスプレッドを広げて、過酷な条件でのテストをします。スリッページのようなネガティブな影響が出ている前提でのテスト結果を見ます。バックテストをする際に、MT4でスプレッドを指定できるんですが、運用するFX会社の平均スプレッドを使う人は多いです。あるFX会社のドル円平均スプレッドは0.8pipsだから、ちょっと多く見積もって1pipsだみたいな。でも僕は、ここからさらに、ちょっと多めのロットを回すのでスリッページしやすいリスクも考慮して、1.4pipsでテストしてみよう、のような負荷をかけます」
─経験者向けバックテストツールである、TDS(Tick Data Suite)を使うのはありでしょうか。
「TDSの場合、ティックデータを引っ張ってこられるところのデータを落として、それで正確なバックテストをするぞ、という流れになると思います。ですが、NYクローズ前のような参加者が薄い時間帯は、本当にレートはそれぞれです」
─いわゆる朝スキャの時間帯ですね。
「TDSからデータ取得できるので有名な存在としてデューカスコピーがありますが、実際にデューカスコピーの口座で取引するならTDSで得られるデータが参考になります。そうでなければ、TDSであってもそこまで過信はできないなかなと。それより、先ほども申し上げたように、スプレッドを広めにした負荷がかかっている状態で、それでも良い結果を出すかどうかに私は着目します」
─フォワードテストについても教えてください。
「やはり長期間のテストをすることが難しいです。僕が一番長くフォワードテストを継続しているものでも5年ほどです」
─当然ながら、5年分フォワードテストをするためには5年かかりますよね。
「ええ、かかります。で、フォワードテストとバックテストを見比べると、条件を揃えてもやっぱり結果には結構ズレがあるんですよね。誤差レベルの微差ならあまり影響はないんですが、短期売買のEAだとその差は結構な開きになります」
時間を意識し始めてから勝てるEAを作れるように
─林さんは、どういうきっかけで自動売買を始めたんですか?
「とあるFX会社のバイナリーオプションで、自動売買のシステムを組んだのが最初です。Excelを使って計算をするような。手法はナンピンマーチンゲールだったんですが、最終的には大負けしてやめました。
なぜそのやり方で失敗したのかと振り返ると、バックテストができなかったからです」
─バイナリーオプションの過去のデータはありませんもんね。
「頭の中でロジックができあがり、それを自動実行するようなシステムは組めても、そのやり方が過去の相場において勝てたかどうかは確かめようがなかったんです。だから、それができるMT4はすごいツールだと思います。初めてMT4と出会ってから半年間くらいは、寝る間も惜しんでひたすらバックテストをしました」
─ある戦略を、過去10年、20年の相場で運用したら、勝てたか、あるいは負けたかがばっちり分かりますもんね。
「そうなんですよ。革新的でした。もちろん最初のうちは勝てるロジックなんて全く作れませんでしたけど、だんだんコツがつかめてきて。逆にいえば、バックテストができるからこそ、勝てるロジックを見極められるわけです。だから僕はバックテスト自体が好きだし、感謝をしています」
─勝てるロジックを作るコツはどの辺りにありますか?
「最初はインジケーターをいろいろ組み合わせて、勝てるEAを作ろうと試みたんですが、ぜんぜんうまくいきませんでした。で、インジケーターの計算式を徹底的に洗ってみたんですが、値動きとボラティリティを数値化したものが多いんです。例えばボリンジャーバンドなら、2σに到達したら順張りするなり、逆張りするなりしますよね。
でも、為替相場は時間の経過で変化していく要素があるじゃないですか。例えば東京時間が終わってロンドン時間になると、値動きが活発になるとか、NY時間も後半になるとだんだん値動きが収束していくとか。こういった時間の変化は、インジケーターだけでは追い切れないんです。
これに気づきつつあったころ、バックテストの結果をExcelに書き出してまとめて分析してみたんですね。すると、結果に偏りがあることを見つけて、時間帯の影響があるんじゃないかと。それで、そのロジックの時間ごとの強弱を意識するようになり、勝てるEAを作れるようになってきました。
例えばMT4時間でいうところの15時30分、夏時間なら日本時間の21時30分は、米国の雇用統計が発表される時間帯です。であれば、この時間帯はボラティリティが上がりやすいですよね。これは分かりやすい例ですが、このように時間を重視しなければいけないなと気づかせてくれたのも、バックテストというわけです。ちなみに僕の経営する会社は『AMSER(アムサール)』という名前なんですが、これはケルトの言葉で時間を意味します」
人気があるEAには実はリスクもある
─最初の方に出てきた、EAを使う人にとってのバックテストとは何でしょうか。
「利用する人にとっては、EAってブラックボックスですよね。買ったりもらったりして手に入れても、中身がどうなっているかは分かりません。そんな得体の知れないものに、本当に実資金を投入していいかどうかを判断するのがバックテストだと思います。
ところで、どんなEAが売れやすい、ユーザーが増えやすいかという部分を僕なりに見ていったところ、やっぱり人気なんですよ。みんなが使っていて人気のあるEAを他のみんなも使います。
でも、使う前にちゃんとバックテストをして、月にどれくらい儲かりそうなのか、負けるときはどれくらい負けるのかくらいは確かめないといけません」
─それにしても、バックテストという客観的に測定できる仕組みがあるのに、なぜ人気といった曖昧な情報を重視する人が多いのでしょうか。
「はっきりした答えはまだないんですが、たくさんの人が使っているから安心だという心情はありそうです。ただ、FX会社から見ると、人気があるEAは板を食い尽くす存在です」
─ほぼ寸分違わず、全てのEAが同じタイミングで売買しますよね。
「普通の時間帯はそこまで問題にならないんですが、NYクローズ前後は別です。商いが薄い時間帯に、エントリーはないにしても、みんなが一斉にクローズして板が足りなくなり、スリッページしたりするわけです。なので、人気があることにはデメリットがあることも知ってほしいです。
そもそも、MT4の板は、一つのFX会社で、一つのレートに対して存在するのは10万通貨くらいしかないんじゃないかと」
─そんなに少ないんですか?
「私の感覚ではそれくらいです。ただ、30秒もあれば回復します。なので、同じタイミングで注文が集中すると、スリッページさせるか、拒否するしかなくなってしまいます。ただ、ほぼ全てのFX会社は拒否はしないので、スベるしかなくなるわけです」
実際のレポートを読み取っていく
─こういった現状であるからこそ、バックテストで良いEAを見つけるコツを教えていただきたいです。自作できれば別かもしれませんが、それができないなら性能が良くて誰も使っていないものを発掘するのが理想ですよね。
「なるほど、分かりました。それではバックテスト結果の見方を解説しますが、その前にそのバックテスト自体が信頼できるかどうかの基準がいくつかあります。まずはスプレッドです。1ポイント(0.1pips)のスプレッドで好成績であっても、そのテスト結果は信用に値しません。なぜなら、そんなスプレッドで運用できることはないからです」
─そんな低スプレッドは存在しませんよね。
「なので、平均スプレッドに0.4pipsくらいを足したものでテストをするのがベターだと思います。あとはテスト期間がある程度確保されているか。セルインメイみたいに、時期、月によって相場の傾向も違うので、3~4年くらいの期間はほしいところです。
それと、取引回数です。30回や50回程度では、ただの偶然でしかないので、最低でも100回くらいのトレードはしていてほしいです」
─これらの条件を満たしていなければ、テスト結果を見るに値しないということですね。
「そうなります。さてバックテスト結果を見ていくとき、数字の部分でいうなら、まず損益とドローダウンです。それと試験期間ですね」
─せっかくですから、実際にあるEAでバックテストをした結果で見ていきましょう。
「分かりました。このEAの場合、2003~2023年までの20年間のテストなので(図の①)、期間の長さは十分。またトレード回数も1451回なので足りています(図の②)。また、取引回数を期間で割ると、年間で70回くらいトレードをしていることが分かります。
次に最大ドローダウンを見ます。%の部分はいらないので、金額を見ると1081.78ドルです(図の③)。一番資産が減ったときには、1000ドル以上の落ち込みがあったわけです。で、純益が7259.66ドルなので(図の④)、年間で稼ぐのは360ドルくらい。となると、最大ドローダウンからの回復には、3年くらいかかるというように考えます。ただし、このEAは違いますけど、ナンピンマーチンのように大量にポジションを持つ場合は、パーセンテージの部分を見ましょう
あとは、初期証拠金に対して、ドローダウンが何%なのかという見方もします。このEAは取引ロットが1万通貨取引ですが、その資金設定で20年間のテストだと、全証拠金の1万ドルに対して、10%の1000ドルほどのドローダウンが発生したと考えます。もちろんロットが変わればドローダウンの割合も変わるため、自分が運用しようとしている条件と照らし合わせてください」
─いくつかのデータだけでも、見るべき情報は多いですね。
「はい。次にリスクとリターンの部分をもっと詳しく見ていきます。まずは勝率。誰もが気になる部分かもしれません。このEAだと35.22%(図の⑤)。3回に2回弱は負けます。ということは、勝つときには大きく利益を出すタイプのEAであるはずです。
初心者の方は、こういう低勝率型のEAの方が運用しやすいんじゃないかと思います。始めてすぐ、金額的な大負けをするとメンタルがきついですよね。小さく負けて大きく勝つEAの方が、そういうパターンにはなりにくいです。でも、イメージ的に高勝率のEAの方がとっつきやすい方が多いですが、勝率が高い=負けるときにドカンとやられるですからね。この辺りは、どっちが良いかという話ではないですが、EAの性質という意味で分かっていた方がいいです。そして、平均の勝トレードが65.61ドル(図の⑥)、敗トレードが27.95ドル(図の⑦)で、実際に損小利大型であることが確認できます」
─勝率と平均的な勝トレードは、基本的にトレードオフの関係にあるということですね。
「それと、平均勝トレードと敗トレードの金額差が、5倍や10倍のものもたまにあるんですよ。悪い例でいえば、勝率が70%程度、勝トレードが10ドル、敗トレードが100ドルとか」
─一撃の負けでまとめてもっていかれるタイプですね。
「調子よく稼いでいても、100ドルの負けが連続して発生したりすと、もう立て直せません。そういったタイプのEAであることを知るためにも、この部分は見た方がいいです。
あとはプロフィットファクター(PF・図の⑧)と期待利得(図の⑨)ですね。前者は有名で、総利益を総損失で割ったものです。1を超えていれば良いなんて、まことしやかにいわれていますが、計算式を見ればそれは当たり前ですよね(笑)。というか、EA開発者なら、PFを調整できるんですよ」
─え、そうなんですか?
「例えば、負けているときは決して損切りしないEAが、最後のトレードで損切りして大負けすると、PFが100近くになったりします。これは極端だとしても、ある程度コントロールできうる数値なので。いくつ以上だったら良い、悪いみたいなものでもないというのが私の考えです。1.1か1.2くらいあれば、それでいいのかと。
期待利得は、トレード1回に期待できる利益です。これが低すぎると、スプレッド負けしたり、スリッページでやられてしまいます」
─利用者から見ればEAはブラックボックスですから、このようにテスト結果からどういう性能のEAであるかを確かめていくわけですね。
「そうですね。開発者なら別ですが、利用者にとっては必要なことです。勝率はだいたいこれくらいだ、といった情報を把握しておくと、負けているときに気が楽です。本当は性能が良いEAであっても、一時的に負けているときにやめてしまうと、本当に負けが確定してしまいます。どんな動きをするのかを知っていれば続けられますし、長くEAを動かすほど、バックテストの成績に結果が近づいていく期待があります」
─この例にしているEAは、35%程度の勝率でも構わないわけですよね。約3回に1回勝てばOKと。
「ただ、10回に3〜5回勝つではなく、100回に35回勝つというイメージを持ってください。回数が少ないと結果は収束しづらいので」
─しかし、こういった確率や統計の基礎の概念って、あまり広まっていないように感じます。
「そうですね。自動売買なら全部勝つと思っている方もまだいるみたいですが、基本的にEAは勝ったり負けたりしながら利益を増やしていくものなので」
─QuantAnalyzerのような分析ツールを使わなくても、結構な情報を読み取れますね。
「そうですね。ただQuantAnalyzerを使うと、ポートフォリオを組んでの分析が簡単にできます。ですが、QuantAnalyzerにはレートの情報がないため、ドローダウンは確定ベースでしか出てきません。複数のポジションを持ち、損切りを引き延ばすようなタイプのEAなら、実際よりも低く見積もられたリスクとして表示されます」
─EAにはやめ時はありますか?
「僕は基本的に、ほとんどのEAに寿命はないと思っています。中にはあるものもありますけど。ただ、バックテスト上での最大DDを更新したら、稼働を停止するのはありです」
─このEAならドローダウンが1000ドルを超えたあたりですね。
「そうですね。あるいは、資金の30%以上負けたらストップというような考え方でもいいです。始める前に撤退ポイントを決めておくことが大事です。半年間は動かそうだとか、いくら勝ったらやめようでも構いません。そして、勝っているなら続けてもいいですし、負けているなら止めるなり、ロットを変更するなり、何らかの手を打った方がいいです」
─今日はたくさん教えていただき、ありがとうございました。
インタビュー日◎2023年3月22日
FX雑誌「外国為替」vol.13
発売:2024年10月22日(火)
定価:980円(本体891円)