【開発録】カーブフィッティングとルックアヘッドバイアスの違い — 混同されがちな2つの過剰最適化
■ 両者を区別する意義
カーブフィッティングとルックアヘッドバイアスは、いずれもバックテストの成績を実態以上に良く見せてしまう要因として挙げられるが、発生のメカニズムは明確に異なる。両者を混同したまま対策を講じると、原因と対処がかみ合わず、問題の解消に至らないことが多い。
結論を先に述べると、カーブフィッティングは「過去データへのパラメータの過剰適合」であり、ルックアヘッドバイアスは「検証時点で入手不可能な未来情報の混入」である。前者は情報の選び方の問題、後者は情報そのものの性質の問題という点で区別される。
■ カーブフィッティングの構造
カーブフィッティングは、移動平均期間やストップロス幅などのパラメータを、特定の過去データに対して最も成績が良くなるまで調整し続けることで発生する。この過程で使用されるデータ自体は、いずれも検証時点において確定していた正当な情報である。問題は情報の正当性ではなく、特定のデータセットに過剰に適合させてしまうことで、未知のデータに対する汎化性能が失われる点にある。
■ ルックアヘッドバイアスの構造(前回の整理)
一方のルックアヘッドバイアスは、前回取り上げた通り、検証時点では本来確定していなかった情報を判定条件に組み込んでしまう誤りである。未確定足の参照、リペイント型インジケーターの使用、上位足の未確定値の参照などが代表例として挙げられる。この場合、問題は情報の選び方ではなく、情報そのものが時系列的に不正である点にある。
■ 混同されやすい理由
両者はいずれも、バックテストの成績が良好である一方、フォワードテストや実運用では成績が再現されないという共通の症状を引き起こす。症状が酷似しているため、原因の切り分けを誤ったまま対策を講じるケースが少なくない。カーブフィッティングが原因であるにもかかわらず情報の時系列のみを点検した場合、あるいはその逆の場合、いずれも問題の解消には至らない。
両者を見分ける着眼点は「使用している情報の時系列が妥当かどうか」である。情報自体は正当であるがパラメータの選定が過剰適合しているのであればカーブフィッティング、情報そのものが時系列的に不正であればルックアヘッドバイアスという整理が可能である。
■ 具体例による検証
仮に、過去一年分のデータに対して移動平均期間とストップロス幅を総当たりで探索し、かつ当日の確定済み高値・安値を日中の判定に使用するロジックを想定する。このロジックには、パラメータの総当たり探索によるカーブフィッティングと、確定前情報の参照によるルックアヘッドバイアスの双方が内在している可能性がある。バックテストの成績のみからは、いずれが主因であるかを判別することは困難であり、両軸を分けて検証する必要がある。
■ 対策の違い
カーブフィッティングへの対策は、主に検証設計の工夫に属する。パラメータ数を絞ること、ウォークフォワード検証によって区間ごとの頑健性を確認すること、インサンプル期間とアウトオブサンプル期間の成績乖離を点検することなどが挙げられる。
これに対し、ルックアヘッドバイアスへの対策は、情報の取り扱い方に関する実装レベルの点検が中心となる。参照する足が確定済みであるかの確認、リペイントしないインジケーターの選定、上位足の確定タイミングの管理などが該当する。
すなわち、カーブフィッティングは「選定方法」の問題であり、ルックアヘッドバイアスは「使用材料」の問題であると整理すると理解しやすい。
■ 検証における位置づけ
ロジックを検証する際は、論理そのものの健全性(ルックアヘッドバイアスなど情報の反則の有無)と、パラメータ選定の妥当性(カーブフィッティングの有無)とを、別個の評価軸として扱うことが望ましい。いずれか一方のみを解消しても、他方が残存していればバックテストと実運用の成績乖離は解消されない。
また、両者はしばしば同時に発生する点にも留意すべきである。パラメータの総当たり探索を行う検証環境では、未確定足を含む期間までも最適化対象に含めてしまうなど、カーブフィッティングとルックアヘッドバイアスが相互に関連しながら混入するケースも見られる。検証プロセスを設計する段階から、両軸を独立したチェック項目として組み込んでおくことが、後工程での原因特定を容易にする。
両者は性質も異なる。カーブフィッティングは特定の過去データ一式に対する統計的な過剰適合であるのに対し、ルックアヘッドバイアスは時間の流れという検証設計上の前提そのものが崩れている問題である。この違いを踏まえたうえで、両軸を分けて点検する姿勢が、検証プロセス全体の信頼性を高める上で重要となる。
なお、この整理はポートフォリオ運用の検証にも適用できる。複数のEAを組み合わせる際、個々のロジックがカーブフィッティングを免れていても、組み合わせの選定自体が過去の相性の良さに過剰適合していれば、広義のカーブフィッティングが発生し得る。同様に、組み合わせ評価の段階で確定前の情報を参照していれば、ルックアヘッドバイアスがポートフォリオ全体に波及する。単体のロジックだけでなく、組み合わせの検証段階においても、この2軸を意識することが望ましい。
ロジックの検証精度に不安がある場合は、この2軸に沿って検証プロセスを見直すことを推奨する。ご相談は下記よろず相談所まで。