バックテストの結果について気になることがあったのでまとめてみた。ネットではカーブフィッティングのやり過ぎはあまり推奨されていない。過度な短期的なカーブフィッティングは問題あると思うが10年以上の長期でのカーブフィッティングであれば筆者は効果があると思っている。いくつかバックテストをしていると年毎にクセのようなものがありこのクセがEAの結果に大きく影響しているようだ。このクセに影響されないロジックやパラメーターをバックテストで見つけることができればいいのではないだろうか。さらにはクセごとに強いEAを組み合わせて運用することで低リスクで運用が可能となる。大きなマイナスを出さないEAを最適な組み合わせで運用するのがベストではないだろうか。
本記事はFXの自動売買に使用されるプログラムについて解説していますが内容を保証するものではありません。金銭にかかわる内容であるためご注意ください。参考にする場合は自己責任でお願いします。
カーブフィッティングとは
EAの開発をはじめてしばらくすると「過度なカーブフィッティングは良くない」と言った記事を目にするようになった。カーブフィッティングとはEAのバックテストで過剰にパラメータ調整すること。バックテストは後だしジャンケンなのでやろうと思ったら必ずプラスになるロジックを作り出せる。
カーブフィッティングとは?
カーブフィッティングとは、FXの自動売買等の売買戦略のバックテストなどを行う際に利益が最大に出るように過去の値動きにあわせ、設定を過剰に調整することをいいます。FX市場では過去の値動きと全く同じ動きとなることはあり得ないため、カーブフィッティングを行ってしまうとそれ以上の結果になる可能性は低く、逆に悪い結果となることが多くなります。販売されているFXの自動売買ソフトでバックテストの結果が良いにもかかわらず、フォワードテストでは結果が伴わない場合には、カーブフィッティングが行われていないかをしっかりとチェックする必要があります。
引用:カーブフィッティング – FX初心者向け用語解説 | OANDA FX/CFD Lab-education(オアンダ ラボ)
一般的にやり過ぎは推奨されない
ネットでカーブフィッティングについて調べていると「やり過ぎ注意」とよく言われている。これは過去データ用に過剰に最適化されてしまうから。過去のデータ傾向を踏まえてなら良いが過去データガチガチに調整すると汎用性がなくなってしまう。
具体例
筆者が作成した順張りEAのバックテストを例にカーブフィッティングでハマる例を紹介する。いくつかデータを取っている中である年だけマイナスになるパラメーターや条件が存在した。値は年間の獲得PIPS数。
2011~16年までは好調なのだが2017年に大きなマイナスが発生。もし筆者が2016年当時このEAを開発していたら翌年確実にマイナスを食らったと思う。EAの条件にもよるが「バックテスト大丈夫だったのに何でダメなの!?」が発生する。
カーブフィッティングに対する見解
パラメーター調整だけでかなり成績が良くなる。
カーブフィッティングはある程度意味がありそう
以下は筆者が開発中順張りEAのバックテスト結果である。順張り1~10のベースロジックはほぼ同じ。パラメーターを変えただけでこれだけの違いが出た。これを見ると順張り6と7がよさそうに見える。カーブフィッティングにより過去10年間で年単位マイナスが出にくい設定を見つけたわけであるがこれが無駄な作業とは思えない。実際順張り6と7は2021年のテストでいい成績を出している。カーブフィッティングはあまり良くないとされているが、無難なパラメーター調整として筆者は有効であると考える。
短期でのカーブフィッティングは危険!?
前述の表を見るとこのEAは2017、2018年との相性が悪い。何回か試したが相性の悪い2018年に合わせてパラメーター調整すると案の定他の年がマイナスになってしまう。上記の結果を見るとおおよそ年単でチャートのクセがありEAとの相性が存在する。なので過去1年のバックテストだけで本番運用はちょっと怖い。チャートの癖が切り替わる年に当たった場合大きなマイナスをくらってしまう。EAのロジックにもよると思うが10年以上のバックテストをまわして年毎のEAの相性をチェックした方が無難。短期でのパラメーター調整は危険と筆者は考える。
未来は過去の延長線上にある
過剰なカーブフィッティングはどうかと思うが10年以上の長期バックテストの成績はある程度意味があると思う。投機筋が使う為替システムのAI導入で値動きの傾向が変わっているとは思うが利益の出しやすいパラメーターは筆者が確認した限りありそうに思う。
ロットを上げるタイミング
過去10年以上年単位で負けなしのEAでもいつかマイナスが発生する可能性がある。それを考えると簡単にロットを上げることができない。万が一大負けする年にロットを上げたら目も当てられない。同じロジックのEAでもパラメーター変更で結果が大きくかわることがある。なので傾向の違うEAを組み合わせて使えば大きなマイナスを食らうことが無いのではないかと筆者は考える。年毎にEAロジックの相性とパラメーターの相性があるので性質の違うEAやパラメーターを複数組み合わせることでリスク分散できるのではないだろうか。
まとめ
ネットで調べるとカーブフィッティングについてあまりいい事は書かれていないが長期での検証なら意味があると筆者は考える。長期でのカーブフィッティングによるパラメーター調整は筆者のEAでは効果がありそうな結果がでた。ただし今後AIの導入などでチャートの傾向(クセ)が変わる可能性がありフォワードテストで成果がでない場合もありそうだ。
- 1年未満の短期でのカーブフィッティングは危険な気がする
- 10年以上の長期でのカーブフィッティングは意味がありそう
- チャートは年毎に傾向があるので性質の違うEAを複数組み合わせて運用するのが無難
苦手なチャートを補えるような組み合わせのEA運用が良さそうです。