backtest-validationlisted
Install: claude install-skill howard-lynn-ye/fin-skills
# Backtest validation
A backtest reports the maximum of a search. The question is never "what was the Sharpe" but
**"what was the Sharpe, given how many things were tried, and how much of the sample was
independent."** This skill answers both.
## 1. The 2026 stack
```bash
pip install purgedcv # purged/combinatorial CV + PSR/DSR. MIT. py>=3.10
pip install skfolio # CPCV composed with sklearn GridSearchCV. BSD-3
pip install arch # SPA / Reality Check / StepM / MCS. THE significance toolkit
pip install RiskLabAI # broadest AFML reimplementation. BSD-3. py>=3.12
pip install ml4t-diagnostic # DSR, PBO, CPCV, feature importance. MIT. py>=3.12
pip install jsharpe # PSR, MinTRL + FWER/FDR corrections. MIT. py>=3.11
```
🚨 **Do not plan around `mlfinlab`.** Not installable from PyPI; the GitHub source is stubbed
(**every function body is `pass`**); licence is proprietary all-rights-reserved; silent since 2023.
🚨 **`fracdiff` is archived** (2023-12) and `requires_python <3.10` — unusable on modern Python.
⚠️ **`pypbo`** is the reference PBO/CSCV implementation but is **not on PyPI** and is **AGPL-3.0**.
⚠️ **`sharpebench`** (v0.17.1, 2026-09-02) covers this whole surface but declares **no repository
URL on PyPI** — provenance unverifiable. New and unvetted; do not default to it.
## 2. Cross-validation that does not leak
**Any CV that shuffles is catastrophic here.** `train_test_split`, `KFold(shuffle=True)`, default
`cross_val_sc