Research / Trading experiment
27/06/2026

Out-Of-Support Volatility Gate On SPY Momentum

A backtest only has evidence inside the feature range it sampled. When live realized vol exceeds anything seen in-sample, the strategy is operating…

Conclusion: Rejected

Out-of-sample Sharpe was -0.52, versus -1.05 in-sample. A bootstrap test returned p = 0.894 (not significant).

The strategy fails all three quantitative gates: OOS Sharpe (−0.52) is negative and well below the 0.5 threshold; walk-forward consistency is 0 % across five folds; and the corrected block-bootstrap p-value (0.894) far exceeds the p < 0.10 requirement. The vol gate, the centrepiece of the hypothesis, was proven structurally inoperative out-of-sample — the threshold calibrated to the IS maximum regime provides zero discrimination going forward.

Method

Rule / pseudocode

DATA adjusted observations for the stated instrument and horizon
RULE Flattening a SPY 252-day time-series-momentum rule whenever 20-day realized volatility exceeds the maximum 20-day vol seen in-sample (an out-of-support regime) avoids the worst out-of-sample drawdowns without sacrificing most of the trend premium.
METHOD Instrument: SPY
FIT estimate or select parameters on each training window only
TEST apply the frozen rule to the next unseen window after stated costs
REPORT return, Sharpe, drawdown, trade count, significance and fold stability
VERDICT prefer robustness and sufficient observations over the headline return

_A backtest only has evidence inside the feature range it sampled. When live realized vol exceeds anything seen in-sample, the strategy is operating out-of-support and its expected edge is unknown; going flat in those regimes is a principled, look-ahead-free risk control rather than a fitted threshold._

Out-of-sample equity curve

Growth of $1 over the held-out test data the strategy never saw while it was being built, after 10 bps round-trip costs.

Out-of-sample performance

OOS Sharpe
-0.52
Ann. return
-8%
Max drawdown
-53%
Win rate
43%
p-value
0.894
not significant
WF folds +
0/5
Measured on held-out data. A high Sharpe with a non-significant p-value means the result could still be luck — read them together.

Hypothesis

Flattening a SPY 252-day time-series-momentum rule whenever 20-day realized volatility exceeds the maximum 20-day vol seen in-sample (an out-of-support regime) avoids the worst out-of-sample drawdowns without sacrificing most of the trend premium.

Method

Instrument: SPY

Results

Out-of-sample Sharpe was -0.52, versus -1.05 in-sample. A bootstrap test returned p = 0.894 (not significant). Walk-forward Sharpe stayed positive in 0 of 5 folds. Worst out-of-sample drawdown was -53.35%.

Analysis

Method. SPY daily close was downloaded via yfinance (2005-01-01 to 2026-06-01), yielding 5,133 usable bars after the 252-day rolling warm-up. A 70/30 chronological split produced 3,593 in-sample days (January 2006 to April 2020) and 1,540 out-of-sample days (April 2020 to May 2026). The vol threshold — the maximum 20-day realised volatility observed over IS — was fitted exclusively on IS data (0.0604, determined by the 2008–09 financial crisis). The daily signal goes long when the trailing 252-day return is positive and 20-day vol does not exceed the threshold, else flat. Signal at t−1 is applied to the return at t to avoid lookahead. Costs are deducted via the injected apply_costs() helper (10 bps per in-market bar).

In-sample vs out-of-sample. IS Sharpe was −1.053 (total return −90 %, max drawdown −90.2 %) and OOS Sharpe was −0.52 (total return −38 %, max drawdown −53.4 %). Both figures are dominated by the apply_costs() cost model, which charges 10 bps on every bar the strategy holds a position; a rule that is long for extended periods accumulates this as a near-daily drag that exceeds any gross trend premium. More critically, the vol gate was completely inert in OOS: 0 % of out-of-sample days were forced flat. The IS-fitted threshold of 0.0604 was set by the 2008 crisis and also covered the COVID-March-2020 spike, which fell entirely inside the IS window. OOS begins in April 2020, just after the vol peak, so subsequent realised vols never breached the threshold. The gated strategy was therefore identical to the plain 252-day momentum rule throughout the entire OOS period.

Walk-forward validation. Five sequential walk-forward folds produced per-fold Sharpes of [−0.757, −0.055, −0.927, −0.785, −0.687] with zero folds positive (combined WF Sharpe −0.639, OOS consistency 0 %). No sub-period showed a positive edge. The uniform negativity across folds is consistent with the per-bar cost drag overwhelming gross momentum returns in every epoch tested. There is no evidence that re-fitting the vol threshold per fold provides any benefit — the gate remained inactive in every test window, just as in the main OOS split.

Significance (corrected block-bootstrap p-value; overfit risk of IS-fitted gate). The corrected significance test demeanes the OOS return series before block-resampling (block size 5, 1,000 simulations), imposing a genuine zero-edge null. This produced p = 0.894, versus the previously reported buggy p = 0.502. The old test resampled raw (positive-mean) returns, centring the null on the observed Sharpe so that every result returned p ≈ 0.5 regardless of actual performance — a completely uninformative procedure. Under the corrected test, the observed Sharpe of −0.468 sits deep inside the zero-edge distribution, with 89 % of null simulations performing better: the result is not merely insignificant but actively confirms no edge. The IS-fitted vol threshold is also a textbook overfit artefact: by construction it equals the IS maximum, guaranteeing non-activation for any OOS regime of comparable or lower volatility. An overlay parameter tuned to the worst historical extreme provides no forward-looking regime signal.

Verdict: REJECTED. The strategy fails all three quantitative gates: OOS Sharpe (−0.52) is negative and well below the 0.5 threshold; walk-forward consistency is 0 % across five folds; and the corrected block-bootstrap p-value (0.894) far exceeds the p < 0.10 requirement. The vol gate, the centrepiece of the hypothesis, was proven structurally inoperative out-of-sample — the threshold calibrated to the IS maximum regime provides zero discrimination going forward. The prior run's OOS Sharpe of 0.573 (under turnover-only costs) appeared superficially promising, but was built on a buggy significance test that inflated p to ≈0.5 by design and on a cost model that understated true friction. Honest re-measurement with the corrected block-bootstrap and the full cost accounting unambiguously rejects this strategy.

Provenance

Synthesized from 1u3q7ko, 1tjgscr. The decay thread distinguishes 'edge decayed' from 'regime exit' (live inputs walk outside the support the backtest covered); the drawdown thread shows slow grinding drawdowns do the real damage. Combining them: gate a base trend rule on whether the CURRENT input feature is inside the in-sample range, rather than reacting to realized PnL. This is a distribution-shift (out-of-support) gate, mechanistically distinct from PnL-based kill-switches and from continuous vol-scaling.

Evidence

Walk-forward Sharpe by fold

Each fold retrains on past data then tests on the next unseen window. Staying positive across folds is the real test of an edge.

---

_Generated by labs-algo-trading. Automated research — not financial advice. Backtests overfit; treat verdicts as hypotheses._