バックテストの結果は実現しない!痛い目を見た実例・・・!【芳賀浩一】
バックテストの結果は実現しない!痛い目を見た実例・・・!
?
前回、デモトレードを活用しようという趣旨の記事で『バックテストの結果が良いシステムが必ずしも将来に渡って良い成績を残す訳ではない』ということを書きました。
今回はその実例として、著者が盛大に損失を出したケースを紹介したいと思います。
?
■失敗例はMT4の自作EA
今回盛大に損失を出したのは、MT4で自作したEAです。
※MT4:MetaTrader4。FXの取引プラットフォーム。
※EA:ExpertAdvisor。MT4上で動く自動売買プログラム
?
具体的な設定内容は伏せますが、『勝率は低い(20〜30%)が素早く損切りし、損小利大を狙う!』をモットーとして、バックテスト上は華々しい成績を収めていました。
10年間の平均リターン:+40%/年
最低リターン:+15%/年
最大リターン:+75%/年
単利で回して10年で5倍、複利なら30倍弱にまでなる脅威のパフォーマンスです。
・・・バックテスト上は。
月単位での負けはありましたが、年単位ならば負けなしという安定感もあり、『これなら行ける!』と思い運用を開始しました。
?
★☆★ シストレちゃんねる から お得なお知らせ! ★☆★
■スタートは順調、しかし・・・
このEA、実際の運用を開始したのは2018年の1月のことです。
最初の2,3か月は順調でした。それぞれ+5%程度の利益を出し、このまま行けば年間で+60%ペースか〜なんて思っていました。
?
異変が起きたのは4月のこと。
初めて月間で5%程のマイナスになりました。
まあこんな月もあるか〜と思っていると、あれよあれよと損失が膨らみ・・・5月、6月と負け込み、7月はトントン。
8月には若干取り返したものの・・・8月末の時点でおよそ-18%という状況です。
一番負け込んだ時で、およそ-22%。
このままでは年間+40%どころか、-30%のペース・・・。
?
『これは確率のブレで、バックテスト上もこの程度のドローダウンはあった』・・・と思いたいのですが、心のどこかでは諦めています・・・。
?
■何故負けたか?
この結果について、自分の中ではいくつかの仮説を立てています。
・バックテストの期間が不足していた
・一時的なドローダウンであり、この後取り戻す
・バックテストの足によるもの
それぞれについて詳しく記載していきます。
?
・バックテスト期間が不足していた
今回、バックテストを行った期間は2008年〜2017年までの10年間です。
リーマンショックを挟んではいるのですが、この期間では充分に検証しきれなかったか・・・?という説。
『イレギュラーな事態』と一言で片づけてしまうこともできますが、2018年が特筆して異常な動きをしたとも思えません。
よって、これは一先ず可能性から除外。
?
・一時的なドローダウンであり、この後取り戻す。
10年のバックテスト上、これ以上のドローダウンもあったのでこれは許容範囲、という説。
開始早々これほど落ちるのは正直予想外だけど、スタートのタイミングとドローダウンのタイミングが重なってしまったと考えればあり得ない話ではない。
というか、正直これだと思っておきたい・・・・。
?
・バックテストの足によるもの
これはバックテストにありがちな罠で、MT4におけるバックテストは4本値(始値-安値-高値-終値)に基づいて値動きを再現したものなので、実際の値動き(Tickデータ)とは順番が異なる場合があります。
再現したもの・・・と言ってしまえば聞こえはいいけど、『適当』と言ってしまえばそれまで。
実際の値動きと微妙に異なり、テスト結果に影響を与える可能性もあります。
(MT4における・・と書きましたが、バックテストにTickデータを使うシストレは非常に稀。特にサービス開始以前の期間について『運用していたとしたら』と載せているものはほぼ再現データだと考えた方が良いかと。)
?
これについては、MT4上で『モデリング品質』としてスコア化されます。
運用開始前のバックテストにおいては極力正確なデータとなるよう1分足データを使いましたが、それでも品質90%が限界値。
あくまでも『それっぽく作られたデータ』なので、現実と乖離した・・・という説。
今回試したEAはかなり頻繁に取引を行うものなので、小さな誤差が積みあがって大きな差となった・・・とも考えられます。
正直、一番考えたくない説。
?
■フォワード期間を再度バックテストしてみる。
どれだろう・・・と悩むのであれば、手っ取り早い答え合わせがコレ。
1月から8月までの期間に対してバックテストを行い、実際の運用と同じ結果になるか照らし合わせる。
?
その結果・・・!
検証バックテスト:-13%
実際の運用:-18%
・・・何とも歯切れの悪い感じに。
?
結論を無理矢理まとめれば、『何が原因』という訳ではなく、それぞれの要因が少しずつ積み重なって負けた・・・と考えるのが自然ですね。
?
10年バックテストの結果を半年ちょっとで判断するのは流石に早計かなと。
ちょっと損しただけでビビってすぐ辞めるのは典型的な負けパターン、そう思ってせめて1年くらい運用を続けてから判断をしたいと思います。
大勝したら、ロジック公開しますよ・・・!
?
■まとめ
・バックテストは正確に過去のデータを再現できる訳ではない
・小ロットでフォワードテストすることは非常に重要
・とはいえ、ちょっと負けたからすぐ止めるのもナンセンス
・フォワード期間を遡ってバックテストすることで答え合わせを
?
バックテストを鵜呑みにすると、僕のように痛い目を見る場合があります。
特に、大きな金額を運用する場合にはフォワードテストと組み合わせてしっかりテスト通りに動くか確認を怠らないようにしましょう。
大損すること考えたら、数ヶ月の機会損失なんて微々たるものですよ!
?
??
<著者運営ブログをチェック>
?
<著者のバックナンバー>
★☆★ シストレちゃんねる から お得なお知らせ! ★☆★
【注意事項】
・本レポートは筆者の主観及び経験に基づき執筆されており、内容の正確性や完全性を保証するものではありません。両建ては株式会社アイネット証券が推奨するものではありません。筆者及び株式会社アイネット証券は、本レポートの利用あるいは取引により生ずるいかなる損害の責任を負うものではありません。
・本レポートはあくまでも参考情報であり、筆者及び株式会社アイネット証券は、為替やいかなる金融商品の売買を勧めるものではありません。取引を行う際はリスクを熟知した上、完全なる自己責任において行ってください。
・筆者及び株式会社アイネット証券の許可無く当レポートの全部もしくは一部の転送、複製、転用、検索可能システムへの保存はご遠慮ください。