Research / Trading experiment
26/06/2026

Underwater-Duration Stop On SPY Momentum

If trend rules fail in long grinding drawdowns rather than sharp ones, capping permitted underwater duration should excise the worst regime-mismatch…

Method

Rule / pseudocode

DATA adjusted observations for the stated instrument and horizon
RULE Adding an underwater-duration stop (flat once a 252-day SPY time-series-momentum rule sits below its prior equity peak longer than the in-sample 95th-percentile underwater spell, re-enter on a fresh equity high) raises out-of-sample Sharpe versus the un-overlaid rule.
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

_If trend rules fail in long grinding drawdowns rather than sharp ones, capping permitted underwater duration should excise the worst regime-mismatch stretches while leaving most trend capture intact. Any edge is risk-adjusted (Sharpe/Calmar), not raw return._

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.71
Ann. return
-5%
Max drawdown
-33%
Win rate
2%
p-value
0.953
not significant
WF folds +
2/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

Adding an underwater-duration stop (flat once a 252-day SPY time-series-momentum rule sits below its prior equity peak longer than the in-sample 95th-percentile underwater spell, re-enter on a fresh equity high) raises out-of-sample Sharpe versus the un-overlaid rule.

Method

Instrument: SPY

Results

Out-of-sample Sharpe was -0.71, versus -0.40 in-sample. A bootstrap test returned p = 0.953 (not significant). Walk-forward Sharpe stayed positive in 2 of 5 folds. Worst out-of-sample drawdown was -32.96%.

Analysis

Method. This re-run corrects the significance test used in the original backtest, which returned p ≈ 0.498 because it bootstrapped non-demeaned returns — centring the null on the observed Sharpe and making the test meaningless. The corrected approach uses a block-bootstrap (block = 5 days) against a zero-mean null, demeaning returns before resampling so the null genuinely represents no edge. Everything else is faithful to the original design: 252-day time-series momentum (long/flat, signal shifted one day to avoid lookahead), 70/30 chronological IS/OOS split, and the apply_costs() helper (10 bps per active trading day) for all headline metrics.

In-sample vs out-of-sample. The IS-fitted underwater cap, computed as the 95th percentile of all base-strategy underwater spell lengths on the IS period, returned 62 days — not the 489-day figure reported previously. That earlier figure was almost certainly artefact of computing the percentile on the strategy-with-stop rather than the base strategy, or of a different percentile definition. With a 62-day cap, the stop fires quickly in any drawdown and the strategy spends only ~4% of IS days long (IS Sharpe -0.399 via apply_costs). OOS is worse: the cap triggers on the COVID drawdown in early 2020, the strategy never achieves a new equity high thereafter, and the equity curve plateaus at about $0.70 on the dollar for the remainder of the OOS window — a Sharpe of -0.711 and a maximum drawdown of -32.96%.

Walk-forward. Across five chronological folds, fold Sharpes are [-1.2, 1.6, -0.1, 1.9, -1.5], yielding OOS consistency of 40% (2 of 5 folds positive). The combined walk-forward Sharpe is 0.479, but this masks a bimodal pattern: two folds produce strong results because the dynamically refitted cap happens to match the market regime in those sub-periods; the other three are negative. This is the fingerprint of a fragile parameter, not a robust signal.

Significance. The corrected block-bootstrap returns p = 0.953 — the observed OOS Sharpe of -0.559 sits near the upper end of the null distribution. There is zero statistical evidence of an edge. The previous p ≈ 0.498 was an artefact: bootstrapping the raw (positive-mean or negative-mean) series centred the null on whatever Sharpe the strategy happened to produce, so the test was vacuous by construction. The corrected null is genuinely zero-edge and reveals that this strategy offers nothing beyond noise.

Verdict. REJECTED on all three gates: OOS Sharpe -0.711 (gate: > 0.5), corrected p = 0.953 (gate: < 0.10), and WF consistency 40% (gate: ≥ 60%). The 62-day underwater cap is also a textbook overfit hazard — it was fitted on a single IS sample, has no theoretical basis, and as the WF analysis shows, its optimal value varies dramatically across sub-periods. The stop does not protect capital; it merely eliminates exposure during recoveries. The base 252-day momentum rule on SPY already underperforms buy-and-hold after realistic costs, and adding an IS-tuned stop makes things worse.

Provenance

Synthesized from 1tjgscr, 1u3q7ko. Two of today's threads converge on the same overlooked variable. 1tjgscr argues drawdown DURATION (time spent underwater), not depth, is what actually breaks live traders; 1u3q7ko's comment section proposes statistical triggers (95th-percentile underwater bands) to separate decay from normal drawdown. Combining them gives a concrete, falsifiable overlay testable end-to-end on free SPY data: cap the permitted time-underwater at the in-sample 95th percentile and re-enter only on a new equity high.

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._