みなさん、EA(Expert Advisor)作り、捗ってますか?
ところで、EAを作ったら最適な設定を探すためにバックテストしますよね。
くれぐれもやりすぎないように注意しましょう。
やりすぎると、システムを過剰に最適化(カーブフィッティング)してしまいます。
今回はカーブフィッティングについて考えてみます。
カーブフィッティングとは
バックテストの結果に満足できないとき、私たちはシステムにあれこれと手を入れて最適化します。
例えば、システムに組み込んだMACDやRSIなどのテクニカルインジケーターのパラメーターを変更したり、他のテクニカルインジケーターを新たに組み込んだりします。
システムの最適化自体は必要な作業ですが、やりすぎるとカーブフィッティングされたシステムになってしまうのです。
カーブフィッティングされたシステムは、過去の相場の動きにだけ合うように出来てしまっているので、未来の相場にはまったく通用しません。
カーブフィッティングを回避する方法
では、最適化しつつカーブフィッティングを避けるためには、どうすればいいのでしょう?
バックテストはEA作りに必須の作業です。
過去の相場で通用するのかバックテストを行ってシステムを最適化しないと、有用なシステムを作ることはできません。
大事なことは、やりすぎないことです。
最適化をやりすぎてカーブフィッティングに陥らないようにするための方法としては、次のようなものが考えられます。
- シンプルな仕組みのシステムを作る。
- 多くの通貨ペアで通用するシステムを作る。
- 多くの時間足で通用するシステムを作る。
- できるだけ長い期間でバックテストを行う。
- 期間を分割してバックテストを行う。
- システムの最適化の作業中は、常にカーブフィッティングを意識する。
すなわち、恣意的に介入する要素が少なく、多くの通貨ペアや時間足に通用し、多くの期間に通用する、そんなシステムづくりを目指しましょう。
そして、システムの最適化作業にあたってはカーブフィッティングを常に意識しましょう。
まとめ
MT4でEAをバックテストする際には、カーブフィッティングに注意しましょう。
システムの最適化をやりすぎるとカーブフィッティングしてしまいます。
カーブフィッティングされたシステムは、過去の相場の動きにだけ合うように出来てしまっているので、未来の相場に対してまったく役に立ちません。