Files
fxhnt/tests/unit
jgrusewski b4275fba30 feat: López de Prado validation suite ported (DSR + PBO + permutation + FDR) — the honesty backbone
domain/validation: faithful Python port of Rust ml-validation/statistical.rs + ml-data-validation/fdr.rs.
normal_cdf (A&S) + normal_ppf (Acklam) bit-exact; deflated_sharpe_ratio with the skew/kurtosis-ADJUSTED
standard error (richer than fxhnt's prior basic DSR); probability_of_backtest_overfitting (CSCV);
permutation_test; fdr_correct (Benjamini-Hochberg + Yekutieli). 13 TDD tests (PPF/CDF vs known quantiles,
DSR multiple-testing + skew-widens-SE, PBO degenerate/ties, FDR BH-collapse + BY-conservative). 48/48.

FINDING (flagged, like the Stoikov one): the Rust permutation_test is DEGENERATE — it shuffles the
returns and recomputes Sharpe=mean/std, which is order-invariant, so every permutation gives the same
Sharpe (null_std~1e-16, pvalue~1). Faithful-ported for SSOT, but a meaningful version must permute the
POSITION SIGNAL against fixed returns. Next: wire the richer DSR+PBO+FDR into the gauntlet's evaluate().

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 02:24:41 +02:00
..