Returns are a near-random walk daily. Volatility has long memory: ACF +0.27, variance ratio 1.8 at 252 days. Vol is structurally easier to predict than direction. Build feature hierarchies around it.
Lifetime Sharpe is regime-weighted, not favorable-year. Each strategy has a vol regime where it lives and one where it dies. Gate at deployment, calibrate against the full distribution.
Most OOS failures get blamed on overfitting. Often it is regime change between IS and OOS. Run the diagnostic flow: permutation, pipeline audit, sample size, regime overlap test, in order.
A trading system never dies without warning. Eight diagnostic metrics flash months before the equity curve. Read the metrics. Hard kill switches written at deployment, automatic at threshold.
Every strategy has a finite life. Four decay mechanisms: crowding, regime drift, microstructure, capacity. Size against half-life. Run a shadow book. Write the decommission policy at deployment.
Slow drift is harder to detect than abrupt breaks because standard tests have weak power against it. CUSUM and long-vs-short divergence catch what ADF misses. Trust the alarm when it triggers.
Every trading rule assumes stationarity. Markets violate it constantly. Strategies do not break because the rule fails; they break because the regime moves. Rolling stats first, then ADF and KPSS.
Market cycles exist but are evanescent: period drifts, amplitude decays, phase loses coherence. SPX cycle ranged 8 to 28 bars across six regimes in seven years. Gate cycle-mode strategies by regime.
The dominant cycle is measurable. Autocorrelation periodogram gives a number with known precision. Elliott Wave, Gann, Bradley dates produce no falsifiable measurement. Numbers feed adaptive logic.
Indicators inherit the input's amplitude. BPF on SPX swings ±0.4% in 2017 and ±3.1% in March 2020. AGC rescales continuously so thresholds become regime-independent. The fix is one pipeline stage.
Linear filters integrate every bar including outliers. Median filters select the typical value. For volume, true range, and tick data, median (or Hampel) is the default; linear smoothers come after.
Every linear indicator has known lag. Sum cascades, compare to time-to-half-move. EMA+RSI on 5-bar mean reversion: 17-bar lag, structurally broken. Audit lag before backtesting, not after deployment.