【FX用語】カーブフィッティングとは?意味をわかりやすく解説してみた!

curve-fitting

カーブフィッティングとは、主にシステムトレードの分野で使われる言葉で、システムを過去の相場に過剰に最適化させることをいいます。

「最適化の何がいけないの」と思う方もいるかもしれませんが、ある一定の期間の値動きに最適化させるということは、その分柔軟性が下がる(他の期間の値動きに対応しづらくなる)ということにつながります。これが過度になれば、ある一定の期間では高いパフォーマンスを出すけれどその期間でしか使えない、汎用性の低いシステムができてしまいます。

FXトレードのシステムはバックテストを行いながら作っていきますが、相場はずっと同じ動きをしているわけではありません。バックテストで高いパフォーマンスを出すシステムを作っても、それが未来の相場で役に立つとは限らないのです。

バックテストで高いパフォーマンスを出すシステムを作ることに固執し過ぎると、カーブフィッティングが起こりやすくなります。

unfitting

カーブフィッティングを回避する方法

システム最適化とカーブフィッティングの境界は曖昧です。どこまで最適化するとカーブフィッティングになるという明確な定義があるわけではないので、最終的には自分で判断することになります。

ただ、明確な定義がなくても、以下のような方法でカーブフィッティングを回避することができます。

1. なるべく長い期間でバックテストを行う

カーブフィッティングが行われていないかを確認するためにも、バックテストはなるべく長い期間で行った方が良いでしょう。

2. 間隔を空けていくつかの箇所でバックテストを行ってみる

1と合わせて、長い期間でのバックテストをいくつかの箇所で行えれば理想的ですね。

3. システムの売買ルールは可能な限りにシンプルに

システムトレードに限らず、FXの世界では、しばしば「手法(売買ルール)はできるだけシンプルな方がいい」と言われます。勝率を高めるためにMACDのパラメータをいじったり、RSIのパーセンテージを変更したり、ダマシを回避するためにフィルター(ルールの限定条件)を追加したりする行為は売買ルールを複雑にし、カーブフィッティングになる可能性を高めます。

まとめ

トレードで勝つためには、あらゆる物事を長期的に考える必要があります。

カーブフィッティングは、短期的に見ればシステムのパフォーマンスを高めてくれますが、長期的に見ればシステムをダメにします。「なら、短期的に高いパフォーマンス出してくれるシステムを作り続ければいいじゃん」と思う方もいるかもしれませんが、それだけ手作業が増えてしまえばシステムトレードをしているとは言えなくなってしまいます。本末転倒です。

それに、上でも書いた通り、ある期間のバックテストで好成績を叩き出せたとしてもそれが未来のチャートで役立つとは限らないのです。

売買ルールはあくまでシンプルに。

皆さんもシステムを作るときは、カーブフィッティングに気をつけ、長く使える普遍的なシステムを考案してみてください。