← All Collections
🎯 7 parts

Backtesting Without Fooling Yourself

A step-by-step path from what your backtest really optimizes to proving an edge survives overfitting, multiple testing, and live execution. Read top to bottom — each part builds on the last.

  1. 01
    目的関数設計:最適化する指標が、密かにあなたの戦略を選んでいる
    Jul 2, 2026 #algotrading

    目的関数設計:最適化する指標が、密かにあなたの戦略を選んでいる

    「最良の」戦略を探すには、まず「最良」を定義しなければならない——そしてそのスカラーが密かに勝者を選んでいる。既知のエッジを仕込んだ合成データ(600シード、T=2000、閾値80通り)において、素朴な1トレードあたりシャープレシオは宝くじを王座に据える:56%のシードでエクスポージャー5%未満の勝者を選び、57%で退化する——最も極端なシードでは、8回のトレードがインサンプルでシャープレシオ21.09を記録し、アウトオブサンプルでは0.13まで崩壊する。誠実な修復はほとんど退屈なものだ:タイムライン全体で測定すればよく、これは決して退化しない(アウトオブサンプル1.71)。トレード数(conf_k)による縮小とエクスポージャーの下限は1トレードあたりの指標を事後的に補修できるが、完全に修復してもフルタイムラインのシャープレシオに追いつくだけで(1.70 対 1.71)、決してそれを上回ることはない。バックテストの中のグッドハートの法則、制御された既知の正解とともに。

  2. 02
    ウォークフォワード最適化:唯一の誠実な戦略テスト
    Mar 15, 2026 #algotrading

    ウォークフォワード最適化:唯一の誠実な戦略テスト

    単一のトレイン/テスト分割がオーバーフィッティングから保護しない理由、ウォークフォワード最適化がパラメータの堅牢性を体系的に検証する方法、そして21パラメータでPnL@ML +3342%の戦略がWFOなしでは時限爆弾である理由。

  3. 03
    プラトー分析:堅牢な最適解とオーバーフィッティングを見分ける方法
    Mar 12, 2026 #algotrading

    プラトー分析:堅牢な最適解とオーバーフィッティングを見分ける方法

    最適な戦略パラメータを見つけることは仕事の半分に過ぎない理由。安定したプラトーと脆弱なピークを視覚的・定量的に見分ける方法、そしてOptunaの等高線プロットが最適化された戦略を本番投入する前に必須のステップである理由。

  4. 04
    モンテカルロ・ブートストラップ:10行のコードでバックテストの信頼区間を得る方法
    Mar 6, 2026 #algotrading

    モンテカルロ・ブートストラップ:10行のコードでバックテストの信頼区間を得る方法

    バックテストの単一点推定がなぜ危険な錯覚なのか。モンテカルロ・ブートストラップが2秒の計算でPnLとMaxDDの95%信頼区間を提供する方法、そしてこれが本番環境で戦略を稼働させる前に必須のステップである理由。

  5. 05
    バックテスト過学習の確率:あなたのサーチはコイン投げに勝ったか?
    Jul 2, 2026 #algotrading

    バックテスト過学習の確率:あなたのサーチはコイン投げに勝ったか?

    デフレーテッド・シャープレシオは勝利した戦略の値段を付ける。PBOはその戦略を選んだサーチの値段を付ける。Combinatorially Symmetric Cross-Validationは1000x200のパフォーマンス行列に対してC(16,8) = 12,870通りの訓練/テスト分割を実行し、こう問う:インサンプルの勝者はアウトオブサンプルで下位半分に落ちるか?ほとんどの人が見逃す落とし穴——PBOの帰無仮説は1ではなく0.5だ。200個のゼロエッジ戦略において、インサンプルの最良年率シャープレシオ1.98はアウトオブサンプルで0.06まで崩壊し、PBO = 0.476:コイン投げであり、完全な過学習だ。本物のエッジ(年率シャープレシオ2.38)を仕込むとPBOは0.001まで下がり、インサンプルの3.73はアウトオブサンプルの2.34まで生き残る。純粋なランダムウォーク上の移動平均グリッドにもアウトオブサンプルのスキルはない——60個の行列にわたって平均したPBOは0.463で、統計的に帰無仮説と区別がつかない——そして1つの代表的な行列では、その蜃気楼が鮮やかに現れる:最良インサンプルシャープレシオ2.33は、アウトオブサンプルの中央値-0.22まで崩壊し、PBO 0.573、63%の確率で損失となる。

  6. 06
    デフレーテッド・シャープレシオ:バックテストの「勝者」のうち、多重検定を生き延びるのは何割か?
    Jul 2, 2026 #algotrading

    デフレーテッド・シャープレシオ:バックテストの「勝者」のうち、多重検定を生き延びるのは何割か?

    パラメータサーチは幸運を製造する機械である。純粋なノイズ——真のエッジがゼロの戦略1,000個——の上で、最良の年率シャープレシオは平均1.63に達し、素朴な有意性検定は100%の確率で「発見」を宣言する。私たちは制御された既知の正解を構築し、デフレーテッド・シャープレシオ、Harvey-Liuヘアカット、Whiteのリアリティチェックが誠実さを取り戻すことを示す:偽発見は1.000から0.001-0.057まで下がり、ノイズ天井を超える本物のエッジは検出力~1で維持される——そして生のDSRが過剰にデフレートし、判定を1つではなく有効試行数推定量の帯全体で読む必要がある、現実の落とし穴(相関したグリッド)が1つある。

  7. 07
    バックテストとライブの一致性:なぜあなたのボットはバックテストと異なる取引をするのか
    Mar 7, 2026 #algotrading

    バックテストとライブの一致性:なぜあなたのボットはバックテストと異なる取引をするのか

    バックテストとライブトレーディングの乖離に関する完全な分類体系:スリッページや部分約定からコードベースの非同期化まで。一致性を達成するためのアーキテクチャパターン、共有コアモジュールのPython例、本番環境向けモニタリングチェックリスト。