Backtest Lab
失敗したモデルを公開する理由
破棄されたバージョンがなぜドキュメントの一部であるべきか。そして公開されたバックテストを読むとき、読み手が何を確認すべきか。
PLACEHOLDERサンプル内容 — この説明は構成確認用のプレースホルダーであり、確定版のドキュメントに差し替えられます。
仮説
公開された結果は、そこへ至る過程で「何が棄却されたか」を読み手が知って初めて解釈可能になる。
方法
検証条件と棄却された前バージョンの有無で、同じ結果の読まれ方がどう変わるかを比較する。
結果
条件と棄却履歴を欠いた結果は、提示されているデータにフィットさせただけの曲線と区別がつかない。
結論
条件を公開し、失敗を公開し、読み手に判断させる。それ以下は、獲得していない信用を要求していることになる。
バックテストは測定である。そしてあらゆる測定と同じく、条件なしでは意味を持たない。同じ戦略でも、異なるティックデータ、異なるスプレッド前提、異なるモデリング方式で検証すれば、多くの人が想像する以上に食い違う結果が出る。
読み手が要求すべきもの
- 正確な検証期間。そのアイデアの着想元となった期間を含んでいるかどうか。
- 使用データとそのモデリング品質。
- スプレッドと手数料の前提。数値として明示されているか。
- この結果が提示されるまでに、いくつのパラメータ組み合わせが試されたか。
- ひとつ前のバージョンが何をしていて、なぜ破棄されたか。
なぜ失敗が最も重要なのか
10回の棄却を経て残ったモデルと、一発で機能したモデルは、別の object である。棄却の履歴こそが、そのバージョンが「良く見えるものが出るまで探した結果」ではなく「理由をもって選ばれた」ことの証拠になる。
本記事は方法論に関する記事であり、いかなる成績の主張も、TYOの特定システムの結果も含みません。