最適化よるカーブフィッティングのないEAとは
■ 初めに
・ストラテジテスタを使用して最適化したEAで、バックテストの結果が良いにも関わらず、
フォワードではバックテストのような性能が出ないEAがたくさんあります。
・いわゆる「カーブフィッティング」と言われている最適化のし過ぎです。
■ カーブフィッティングとは
・カーブフィッティングとなる最適化は下図のようにパラメータの値に対して、
利益のピークが鋭かったり、ピークが2つ存在するような時に起こりやすい現象です。
■ カーブフィッティングの傾向の強いEA
①トレード回数が少ない
・トレード回数が少ないと少ないトレードに合わせてパラメータの最適化をしますので、
カーブフィッティングになりやすくなります。
②バックテストの期間が短い
・期間が少なくても同様にカーブフィッティングなりやすくなります。
③マーチン、ナンピンを行っている
・マーチン、ナンピンでロット数を段々大きくして、勝率をかなり高くするやり方
ですが、特にバックテストの期間が数年と短い場合は大きなドローダウンが受け
ないパラメータの組み合わせが存在します。
・そのバックテスト結果をみますときれいな右肩あがりの資産曲線ができますので、
これはすごいとすぐ飛びつきたくなります。
・しかし、いくらナンピンの回数を増やしても勝てない場合が将来存在します。
その時大きなドローダウンが受け、今まで積み重ねていった資産を一気に失います。
④損切幅が利確幅よりかなり大きい。
・損切幅を大きく、利確幅を小さくすると勝率をかなり高くすることができ、
マーチン、ナンピン同様にバックテスト結果をみますときれいな右肩あがりの
資産曲線ができますので、これはすごいと飛びつきたくなります。
・しかし、損切が連続して行われる場合が将来存在します。
その時大きなドローダウンが受け、今まで積み重ねていった資産を一気に失います。
■ 疑似フォワードテスト
・疑似フォワードテストを行うことをカーブフィッティングかどうかを判定することが出来ます。
MT5で採用されている方法です。
・もうすぐリリース予定の私の開発したEA「千紫万紅」で行った例を紹介します。
・過去12年のうち最初の10年でストラテジテスタにより最適化を行った後、
同じパラメータであとの2年をストラテジテスタによりフォワードテストをし
性能確認する方法です。
<10年間のバックテスト>
・期間:2006.08.01 - 2016.08.01
・純益:96,342
・平均年収益率:96.3%
・最大ドローダウン:3,692
・プロフィットファクタ:2.04
・期待利得:34.51
・勝率:73.50%
・総取引数:2,792(273回/年)
<2年間のフォワードテスト>
・期間:2016.08.01 - 2018.08.01
・純益:13,014
・平均年収益率:65.1%
・最大ドローダウン:3,388
・プロフィットファクタ:1.77
・期待利得:25.42
・勝率:70.90%
・総取引数:512(256回/年)
・収益率や勝率、トレード回数はやや落ちていますが、利益は確実に
でることが確認できました。
以上。
Is it OK?