Replace pure time-sequential expanding-window splits with stratified
splits that adjust fold boundaries to balance Trending/Ranging/Volatile
proportions. Slides boundaries up to 25% of validation window when
deviation exceeds 10pp from global average. Strictly temporal — no
data shuffling, only boundary adjustments.
This directly addresses the R²=1.0 finding: IS→OOS Sharpe gap was
entirely regime-driven because folds had wildly different regime mixes.
Stratification ensures each fold sees similar market conditions.
7 unit tests for regime classification, distribution, deviation, and
fold generation with both uniform and imbalanced data.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>