カーブフィッティングとは?
カーブフィッティングとは「バックテストの際に特定の期間に合わせてインジケーターなどのパラメータを最適化する」事を言います。
例えばF1などのモータースポーツではコースごとにマシンのタイヤの種類やサスペンションの硬さ、ウィングの調整などを行いコースごとにマシンを最適化します。
しかしそれはあくまでコースが事前にわかっているからできることであって、FXやバイナリーオプションの世界では事前に相場の動きはわかりません。
カーブフィッティングはいわば過去に走ったコースコンディションに合わせてマシンのセッティングを最適化して、これから初めて走るコースに飛び出すようなものです。直線ばかりのコースにパラメータを最適化していたらカーブが曲がりきれず事故だらけです。
これは自覚がないかもしれませんが、自動売買の世界では皆さん良くやってしまうことなのです。
カーブフィッティングが起こる原因① 検証期間
カーブフィッティングが起こる原因は様々ですが、まず多いのが検証期間が短いことです。
検証期間は短いよりも長いものを使ったほうが実践でも通用しやすいと言われていますが、この理由として長い期間には相場の変化がより多く含まれているからです。
例えばアベノミクス前と後の相場、トランプ就任前と後の相場、コロナ前と後の相場などを比べてみますと各国の通貨の関係は大きく変わっています。
アベノミクスの真っ最中はトレンド系のEAが一斉を風靡しており、逆張りナンピン系のインジケーターはほぼ壊滅状態でした。
2017年以降はボラティリティが少なくなり、大きく利確するインジケーターよりもこまめに利確するインジケーターのほうがトータルの成績は高くなる傾向がありました。
このように相場の動きはその時々で変わりますので、EA開発の際には「長期期間のバックテスト」と「短い期間をたくさんピックアップしてのバックテスト」をクリアするべきで、これらで対応できるEAが作れたのならば、カーブフィッティングは起こっていないと言えます。
カーブフィッティングが起こる原因② ロジックが複雑
一見複雑なロジックのほうが勝てる気がしますが、長い期間に適応できるのは間違いなくシンプルなロジックです。
ロジックが複雑なものは結果を良くするために過剰にフィッティングしている可能性があります。条件を多く重ねれば信頼度は上がるようにも見えますが、一定期間の動きに最適化するということは、その分他の期間の値動きに対応しづらくなるということですからね。
2016~2017年のビットコインの相場などを見ていると、1時間足のMACDのダイバージェンスだけで1年以上も勝率70%以上をだしていたりしますので、勝つためには複雑さよりも、気付けるかどうかという事ですね。