「カーブフィッティング」の落とし穴 ーシストレ学ー 

 こんにちは。KING-株です。
 今日はシステムトレードに使用する売買ルールを作成する上で気を付けなければならない「カーブフィッティング」について考えて行きましょう。
 「カーブフィッティング」は他に「オーバーフィッティング」や「過剰最適化」とも呼ばれ、システムトレーダーには馴染みのある言葉かと思います。
 売買ルールを作るにあたり、バックテストの成績が良くなるようにパラメーターを最適化することは当たり前の行為でありますが、条件を追加しすぎたり、自分の都合の良いように最適化してしまう行為は「過剰最適化」。つまり「カーブフィッティング」に値する可能性が大きくなります。
 例えば、バックテストの結果の中で極端に成績の悪かったトレードがありました。あなたはこれを見てこの成績の悪かったトレードが行われないよう改良する事が「カーブフィッティング」につながってしまいます。これはバックテスト結果の成績を都合よく見せる行為といえます。
 成績の良い売買ルールを作るために条件式やフィルター等を追加しすぎたり、数値を調整しすぎる事が「カーブフィッティング」につながります。
 
 「カーブフィッティング」に十分注意していても結果的にそうなってしまうことが多々あります。ここからは「カーブフィッティング」を見抜く方法や避けるためのポイントを紹介したいと思います。


 「カーブフィッティング」を見抜く方法

 ① フォワードテスト

 「カーブフィッティング」を見抜くにはフォワードテストが有効です。売買ルールが完成してもすぐに実運用をおこなわず一定期間様子を見る事で「カーブフィッティング」を見抜くことが出来ます。バックテスト結果と誤差がないか確認しましょう。どうしても実運用したいという方には少額で運用する事をお勧めします。
 
 使用している株価データを使ってフォワードテストを行うことも可能です。例えば、2000年から現在までの株価データを持っている場合、2000年~2018年のデータを使い売買ルールを作成し、2018年~現在までの株価データを使いフォワードテストを行う方法もあります。

 ② 資金量を変えてのバックテスト

 2つ目の方法は資金量を変えてバックテストを行う方法です。自分が実際に使用する資金量でのバックテスト結果と、資金量を極端に多くしての(実際に使用する資金量の10倍以上)バックテスト結果を比べて成績に大きく差が出る場合は「カーブフィッティング」を疑う必要がありますね。


「カーブフィッティング」を防ぐ方法

 ① なるべく長期間で検証する

 なるべく長期間で検証し売買ルールを作りましょう。長期間、有効に機能しているルールは普遍的であり、「カーブフィッティング」の可能性は低くなります。サンプル数も多くなるため売買ルールの信用性も高くなります。

 ② 条件式やフィルターは最小限に

 売買ルールに使う条件式やフィルターの数が多くなるほど「カーブフィッティング」のリスクが高くなります。条件式はなるべく少なく、シンプルに作ることで「カーブフィッティング」を防ぐことが出来ます。

 ③ 有効性のある条件式(フィルター)

 そもそも論ですが、売買ルールの条件式に有効性がなければいけません。売買ルール作りになれてきますと、条件式を上手く組合すだけで見た目の良い売買ルールを作ることが可能です。使っている条件式1つ1つに有効性があることを確認しましょう。


 今回は「カーブフィッティング」の防止について考えてみました。皆様の投資戦略、売買ルール作りの参考にしていただければ嬉しく思います。

Follow me!