失敗モード

過学習 / カーブフィッティング

十分な数のパラメーターを調整すれば、どんな戦略でも、ノイズを含め、その履歴に完璧に適合する。それがカーブフィッティングであり、何の意味もない美しいバックテストを作り出す最も簡単な方法である。

十分な数のパラメーターを調整すれば、どんな戦略でも、繰り返されないランダムなノイズを含め、履歴に完璧に適合する。それがカーブフィッティングである。これは、すでに過ぎ去った過去に最適化されたシステムであり、発見として装われている。サンプル内では完璧に見えるが、一度も見たことのないデータに遭遇した瞬間に破綻する。

そのメカニズムは、あなたに不利に働く単純な数学である。最適化ツールに十分な自由パラメーターを与えれば、常に、あなたの単一サンプル内のノイズを説明する何らかの組み合わせを見つけるだろう。なぜなら、ノイズは運を除けば、実際のパターンと区別するものが何もないからだ。ここでストップロスを微調整し、あそこでルックバック期間を設定し、1年間で3つの良い取引を捉えるようにフィルターを調整すれば、資産曲線はすぐにまっすぐになる。それは市場がどのように振る舞うかを発見したわけではない。それは、その歴史の一片が一度だけどのように動いたかを発見しただけであり、二度とそうは動かないだろう。

その兆候は脆弱性である。設定を少し動かすだけで、例えば移動平均を20から22に、ストップを2%から2.2%に動かすだけで、美しい曲線は崩壊する。真の構造的な優位性を持つ戦略は、その優位性が単一の数値に依存しないため、小さな変更にも耐える。カーブフィットされた戦略は学習ではなく記憶であり、記憶された答えは、これまで見たことのない質問に対しては役に立たない。

我々は、最適化ツールが一度も触れていない期間や銘柄を、システムが良いスコアを不正に獲得できないように意図的に保持し、サンプル外でテストすることで、これを防ぐ。これはウォークフォワードテストの背後にあるロジックと同じである。また、我々が目にする前に何百ものパラメーターの組み合わせで実行された戦略は、そうでない戦略よりも高いハードルをクリアする必要がある。なぜなら、試行される設定が多いほど、純粋な偶然によってノイズに適合する可能性が高まるからである。これは、あらゆる最適化実行に内在する多重検定問題である。

純粋な過学習は、ほとんどの人が予想するよりも小さな却下対象となることが判明している。ほとんどのカーブフィットされたシステムは、その特定の罪で告発されることはない。なぜなら、それらはまずより早い段階のチェックで引っかかるからだ。同じルールをプラセボテスト、つまりスクランブルまたはシャッフルされたデータに対して実行すると、「優位性」は実際のデータ上と同じくらいよく生き残ることが多い。これは、過学習すべきシグナルが最初から存在せず、何もない上にうまく適合した蜃気楼があっただけであることの証明である。

14個の調整された入力を持つ戦略は、優位性を見つけたわけではない。それは、過去の再現不可能な一つの経路を詳細に記憶しているだけであり、過去は予定通りに繰り返されることはない。

そのテスト方法 →

この背後にある研究

外部研究であり、文脈とさらなる読書のためにリンクされている。FoxAlgoは独立しており、これらの著者や出版社とは提携していない。

これらはThe No Listの背後にある用語である。これは、すべての戦略とインジケーターを名指しし、その評価と、それが採用されたか却下されたかの正確な理由を記した完全な監査である。

The No Listを入手する →