ゆったり為替はバックテストをやりまくりました。
その結果、「バックテスト成績が良くても、実戦では勝てない場合が少なくない」と言えそうです。
バックテストと実戦は別物
これについて書いたブログがどこかにあるだろう…と探したところ、いい記事がありました。
「FX法人専業トレーダー」さんの記事です。リンク先の記事では「バックテスト成績は悪いけれど、実戦では好成績」というパターンです。
この記事のタイトルと逆ですが、同じ意図の話です。
そして、記事では、バックテストを痛烈に批判しています。この批判に反論するのは困難でしょう。バックテストには以下のデメリットがあります。
- いつでも、スリッページなく約定する
- いつでも、スプレッドは一定
- いつでも、目標値までポジションを引っ張れる
- いつでも、損切りポイントで確実に損切りできる
現実離れしているといえるでしょう。
さらに、こんなデメリットもあります。「売買する条件に合致する場合、どんな状況だろうと必ず取引する」です。
例えば、2015年1月のスイスショック、2016年6月の英国民投票、2016年11月の米大統領選挙、2017年の北朝鮮問題緊迫化…。
あらかじめプログラムした条件に合致すれば、このような大きな緊張を強いられる場合でも「必ず」取引します。
これがバックテストです。
バックテストを信用して取引するのは、リスクあり
バックテストをして、結果が良かったとしましょう。将来もその手法が同様に通用すると確信があるなら、MT4で自動売買すればOKです。
しかし、どこかで現実を知ることになります。結局、勝てません。
正確には、数か月程度なら勝ち続けるEA(自動売買プログラム)を探すことはできます。
しかし、10年以上勝ち続けるEAは存在しないでしょう(あるいは、存在するかもしれませんが、そのような超優秀なEAは公開されないでしょう)。
EAを販売しているサイトを見ると、バックテストで極めて優秀な成績を出しているEAに出会うことがあります。しかし、この種のバックテストを信用するのはNGです。
というのは、MT4には「最適化」というツールがあるからです。これは、バックテスト期間において最高の成績が出るように、パラメータを最適化する機能です。
「過去」に焦点を合わせて最適化しています。しばしば「過剰最適化(カーブフィッティング)」になりがちです。
そのパラメータを使って「将来」に向けて稼働すると、結果的に痛い目に遭う可能性があります。
実際のところ、最適化の機能を使えば、素晴らしいバックテスト結果になるトレード手法を見つけるのは、難しくありません。ということは…です。
結局、MT4で自動売買する場合も、どこかでユーザーがEAを入れ替えたりパラメーターを変更したりする必要があります。
なお、パラメーターを適宜修正してくれることまで視野に入れたEA販売ならば、期待できるかも(個別に検討することになります)。
-
過剰最適化(カーブフィッティング)を防ぐ方法
バックテストをしていて気になるのが、「過剰最適化(カーブフィッティング)」です。 そこで、過剰最適化を防ぐ方法を考察します。 過剰最適化(カーブフィッティング)とは カーブフィッティングとは、バックテ ...
続きを見る
バックテストの信頼度を上げるために
「では、バックテストは意味がないじゃないか」…とはならないです。少なくとも、ゆったり為替の場合は。なぜでしょうか。
それは、バックテストに加えて、以下の作業を追加しているからです。
日足の場合、1年間で250~260くらいの足ができます。ゆったり為替は10年以上のバックテスト期間が欲しいので、2,500本~2,600本以上の足になります。
足の一つ一つをチェックするわけではないですが、バックテストの内容を確認します。
すると、「ここでは取引できないな」だったり、「ここは取引していないことになっているけれど、実際は取引するだろうな」という点が出てきます。
バックテスト結果に対して、そのような修正を加えていきます。
時間がかかる作業ですが、この作業を経て得た結果は、信頼度が格段に上がります。
もっと簡単に、バックテストの信頼度を上げたい
ただ、この方法は一般的に困難です。ゆったり為替も、滅多にやりません。しかし、バックテスト結果をそのまま受け入れるのはリスクが高すぎます。
そこで、工夫しています。
簡単にできる方法の一つは、バックテスト結果を、年別に確認することです。それをみると、過去10年以上の合計で成績が良くても、ある年はひどい成績だったり、ある年は極めて良好だったりします。
これは、とても有用なデータです。
あるバックテストで、極めて優秀な例がありました。「お!やった!」という感じです。
しかし、年別で確認してみると、2008年と2009年に集中的に取引して、好成績を出していました。
すなわち、リーマンショックとその後の動乱時期限定で有効だったというわけです。これでは実際のトレードで使えません。
バックテストの取引をくまなく検証するのは、厳しいものがあります。しかし、日足のトレードだったら、年別成績を確認して検証するだけでも、バックテストの信頼度を上げることができるでしょう。
さらに、先ほど書きました、ビッグイベント(イギリス国民投票等)が発生したあたりでは取引しなかったという修正を加えますと、さらに信頼度が上がります。
年別の検証や個別イベントを考慮したバックテストでもちょっと辛いという場合は、もう少し視点を変えた検証もできます。次回の記事で検討しましょう。