{
  "contract": "grizzly-bulls-backtest-validation-stack-v1",
  "publishedAt": "2026-09-16",
  "canonicalOwner": "/algorithmic-trading",
  "purpose": "Ordered validation checks plus reproducible evidence benchmarks for evaluating different failure modes in a systematic-trading backtest without treating any single metric as sufficient evidence.",
  "checks": [
    {"order":1,"id":"transaction-costs","route":"/backtest-transaction-costs","question":"Does the apparent edge survive plausible turnover and per-dollar trading costs?","failureMode":"Execution friction","boundary":"Does not establish statistical robustness or market capacity."},
    {"order":2,"id":"losing-streak-risk","route":"/trading-losing-streak-calculator","question":"How likely is a specified losing streak somewhere in the sample, and what fixed-fraction drawdown would it create?","failureMode":"Sequence risk","boundary":"Does not establish independence or a stable loss probability."},
    {"order":3,"id":"win-rate-confidence","route":"/backtest-win-rate-confidence","question":"How wide is the uncertainty around the observed win rate after a finite number of trades?","failureMode":"Finite-sample win-rate uncertainty","boundary":"Does not establish independent observations or process stability."},
    {"order":4,"id":"multiple-testing","route":"/backtest-multiple-testing","question":"How many chances did the research process have to discover a false positive?","failureMode":"Research search multiplicity","boundary":"Does not repair look-ahead bias, data leakage, regime instability, or undisclosed discarded trials."},
    {"order":5,"id":"autocorrelation","route":"/backtest-autocorrelation","question":"How much independent information remains when adjacent returns are serially correlated rather than IID?","failureMode":"Serial dependence","boundary":"AR(1) is a bounded model of temporal dependence and does not capture arbitrary higher-order dependence, volatility clustering, or regime changes."},
    {"order":6,"id":"probabilistic-sharpe-ratio","route":"/probabilistic-sharpe-ratio","question":"How much confidence sits behind the observed Sharpe after accounting for track-record length, skewness, and kurtosis?","failureMode":"Sharpe estimation uncertainty","boundary":"Does not correct for strategy selection from many trials, serial dependence, or guarantee stationarity."},
    {"order":7,"id":"deflated-sharpe-ratio","route":"/deflated-sharpe-ratio","question":"How much evidence remains behind the selected Sharpe after raising the benchmark for the broader research search and non-Normal returns?","failureMode":"Selection-adjusted Sharpe evidence","boundary":"Does not infer effective independent trial count from correlated or adaptive search, verify a complete research log, or repair data and execution bias."},
    {"order":8,"id":"probability-backtest-overfitting","route":"/probability-backtest-overfitting","question":"Across symmetric in-sample and out-of-sample splits, how often does the strategy selected as best in-sample fall at or below the median out of sample?","failureMode":"Selection-process overfitting","boundary":"Requires the full aligned strategy return matrix and does not replace genuinely new data or repair biased historical inputs."},
    {"order":9,"id":"purged-cross-validation","route":"/purged-cross-validation","question":"Which training observations must be removed when forward label windows overlap a validation fold, and how much additional embargo should separate nearby data?","failureMode":"Validation leakage control","boundary":"Does not repair point-in-time feature leakage, prove a universal embargo length, or replace genuinely unseen future data."},
    {"order":10,"id":"combinatorial-purged-cross-validation","route":"/combinatorial-purged-cross-validation","question":"How many leakage-aware train/test simulations and complete out-of-sample paths does a chosen CPCV group design generate?","failureMode":"Validation path coverage","boundary":"Reconstructed paths reuse the same market history and are not independent observations, a significance level, or proof that the chosen grouping is optimal."}
  ],
  "evidenceBenchmarks": [
    {"order":1,"id":"selection-bias-null","route":"/backtest-selection-bias","question":"How impressive can the best reported backtest look when every tested strategy has zero true expected return?","referenceFinding":"With 252 daily observations and 100 independent zero-edge trials, the median winning annualized Sharpe is about 2.48 and the chance that the winner reaches Sharpe 2 is about 90.52%.","boundary":"Independent Normal null benchmark; real strategy variants are usually correlated and real return distributions can violate the assumptions."},
    {"order":2,"id":"out-of-sample-null","route":"/backtest-out-of-sample-decay","question":"After selecting the luckiest zero-edge backtest, what should the chosen strategy look like on a genuinely independent holdout?","referenceFinding":"After selecting the best of 100 one-year zero-edge backtests, the selected strategy still has median Sharpe 0 on an independent one-year holdout; only about 0.69% of holdouts match or exceed the selected in-sample median Sharpe.","boundary":"The holdout must remain untouched; reuse for further model selection makes it part of the research search."},
    {"order":3,"id":"search-adjusted-sharpe-threshold","route":"/backtest-sharpe-significance-threshold","question":"How high must the winning Sharpe be for an entire independent strategy search to cross a chosen family-wise false-positive threshold?","referenceFinding":"At 5% family-wise error, 252 daily observations and 100 independent zero-edge trials require an annualized winning Sharpe of about 3.32, versus about 1.65 for one pre-specified strategy.","boundary":"The threshold assumes independent strategy trials and a Normal zero-edge return process; it does not infer effective trial count for correlated or adaptive research."},
    {"order":4,"id":"correlated-strategy-search","route":"/backtest-correlated-strategy-search","question":"How does dependence among zero-edge strategy trials change the null distribution of the selected winning Sharpe?","referenceFinding":"With 252 observations and 100 trials, the median winning Sharpe falls from about 2.48 under independence to about 1.78 at 0.50 latent dependence and about 0.79 at 0.90 latent dependence in the one-factor copula benchmark.","boundary":"The dependence parameter is a simplified Gaussian-copula input, not a direct estimate of live return correlation or a universal effective-trial-count conversion."}
  ]
}
