Strategies
QQQ Risk-On / Defensive-Rotation Trend Regime, Long-Only (QQQ.USEQ growth leg <-> GLD/TLT defensive legs, 1-DAY bars, SMA + hysteresis band, 2-parameter)
Outcome: Abandoned
QqqRiskOnDefensiveSplitRotationGldTltHysteresis
Outcome Summary
This strategy was a deliberate pivot away from the dying crypto momentum family toward equity index-ETF regime rotation, extending a surviving SPY<->TLT sibling onto higher-beta QQQ with a split GLD+TLT defensive book. Its full-history backtest passed the pre-optimization gate and the analyst approved it for optimization, but the 3-phase run exposed severe overfitting: in-sample Sharpe reversed out-of-sample, PBO hit 0.65, deflated Sharpe was 0.115, and the optimizer suppressed drawdown only by cutting exposure to ~13%. After one iteration the analyst abandoned it, noting the mechanism loses money in the stressed vol tercile and across 2022 rate-shock windows, and that four near-identical siblings had already died overfit or risk-rejected.
Hypothesis
Implementation
Long-only US ETF regime rotation on 1-DAY USEQ bars. One ~95%-notional sleeve is held in QQQ while QQQ is in a confirmed uptrend (close above its sma_days SMA by more than hysteresis_pct, staying 'up' until it falls the same distance below the SMA). When the growth regime breaks, the book rotates into an equal-weight defensive split of GLD and TLT, each leg admitted only while it passes the identical SMA+hysteresis filter; if neither defensive leg trends up (the 2022 stocks-and-bonds-together case) the strategy sits in cash. Whole-share sizing, no leverage, commission-free venue, a handful of round trips per year.
Verification Results
Leave as-is if the base template calls min_bars_required(); otherwise the extra history is only guarded by the internal len(closes) < sma_days checks (which are present), so behaviour is still safe.
min_bars_required() overrides a framework method (Layer-1 base_shadow warning). This appears deliberate — the override returns sma_days+2 so the base warm-up gate scales with the trend length. No functional problem, but confirm the base class actually consults this override for the primary-instrument warm-up rather than its own default.
Sandbox looks strong (Sharpe 1.00, total_return 143%, PF 96, avg_trade_return_pct 12.75%) and there is no profitability doubt, but the smoke window is only ~8 trades over 1650 bars, so the edge estimate is low-N; the real full-history backtest (decades of daily QQQ/GLD/TLT) is where regime behaviour and 2022-style stocks+bonds-down periods should be judged. The stress_windows in the report are crypto-labelled (covid/luna/ftx) and irrelevant to a USEQ strategy — report-template artifact, not a code issue.
Backtest Review
- Sharpe
- 0.60
- Total return
- 672.12%
- Max drawdown
- 26.90%
- Trades
- 61
- Win rate
- 52.5%
- Profit factor
- 5.34
USEQ equity ETF regime-rotation — the ONE family currently surviving the live pipeline (sibling UsRiskOnRiskOffRegimeRotationSpyTltHysteresis and several USEQ rotation strategies advanced to optimizing this week). This is a genuine breadth extension (QQQ growth leg, split GLD+TLT defensive book), not a re-skin of a dead crypto momentum clone.
avg_trade_return_pct 4.25% is ~85x the USEQ ~0.05% fee floor; commission $0 and impact only 0.37% of gross — cost drag is structurally negligible exactly as the slow-turnover (61 trades / 27 years) design intends. This is the opposite failure mode from the fee_edge graveyard.
profit_factor 5.34, MTM-basis Sharpe 0.596 with CI [0.23, 1.01] that does NOT straddle zero, PSR 0.9959, positive alpha +2.35%/yr (beta 0.60), max_drawdown 26.9% (<60%).
Trades implement the hypothesis: 61 long trades, 0 shorts (long-only cash account), and the 2022 rate-shock window (QA's specific stocks+bonds-down concern) shows defensive rotation rather than a blow-up — QA's low-N concern is not borne out on full history.
information_ratio ~0.004 — the rotation barely beats a passive equal-weight QQQ/GLD/TLT basket; the actual active edge over the naive book is thin.
Loses in the stressed vol tercile (return -9.7%, Sharpe -0.01) and max_drawdown_duration ~1407 days (~3.8 yr) is long.
Sparse close-date daily_returns are lumpy realized-PnL attributions of long-held positions (e.g. 2022-01-24 +63.6% on one close date); the honest risk-adjusted number is the modest MTM Sharpe 0.596, not the eye-catching annual/daily prints.
Modest headline Sharpe means the deflated-Sharpe / holdout gates in the 3-phase run will be the decisive test.
Analysis
USEQ commission-free daily rotation — fee/impact drag is structurally negligible (impact 0.18% of gross), so this is not a fee_edge death.
Sensitivity is clean (0 cliffs) and per-trade return clears the venue floor by a wide margin.
Low nominal drawdown on the optimized config (4.2%) — but see weaknesses, it is an artifact of collapsed exposure.
OVERFIT: walk-forward IS 0.374 -> OOS -0.178 (is_overfitted=true), 2 of 3 windows non-positive. The edge does not generalize out-of-sample — it reverses.
OOS Sharpe -0.178 <= 0 and PBO 0.65 > 0.5 (HARD gates) — promotion is impossible and the parameter selection is more likely than not overfitting.
Optimizer collapsed notional_pct 0.95 -> 0.134: it found no edge and minimized market exposure to suppress drawdown. The headline PF 11.6 / DD 4.2% is an artifact of near-flat exposure, not a captured edge.
Deflated Sharpe 0.115 (<< 0.95), is_significant=false, fails programme-level FDR (candidate_p 0.88, keeps 4 of 280) — the selected Sharpe is indistinguishable from best-of-N noise over 150 trials.
Holdout carries only 3 trades — statistically empty; the nominal 0.71 holdout Sharpe is meaningless at that sample.
Loses money in the stressed vol tercile (Sharpe -0.17) and in every 2022 rate-shock window — the defensive rotation does not actually hedge when it matters.
This is the recurring USEQ index/defensive regime-rotation family: four near-identical siblings (similarity 0.63-0.77) all abandoned overfit/risk_reject, including the very SPY<->TLT hysteresis structure this claims to extend.
Benjamini-Hochberg at q=0.10 over 280 programme candidates keeps 4. A candidate that does not survive here is not distinguishable from the programme's own noise, however good its individual statistics look.
Outcome Summary
Pointing the same absolute-trend regime-rotation mechanism at a new growth index re-overfits rather than fixing a premise flaw — this USEQ index/defensive rotation family repeatedly dies overfit, and a strategy this slow simply lacks the trade count for statistical validation.
The post-optimization analyst issued an abandon verdict: the edge failed to generalize out-of-sample (OOS Sharpe <= 0, PBO > 0.5, fails programme FDR), and the optimizer collapsed notional_pct from 0.95 to 0.134 — minimizing exposure rather than capturing an edge — so the flattering optimized PF 11.6 / 4.2% drawdown was an artifact of a near-flat book.
A long-only, commission-free USEQ daily rotation that holds QQQ while it is in a confirmed SMA-plus-hysteresis uptrend and rotates into an equal-weight split defensive book of GLD and TLT (or cash) when the growth regime breaks, using just two searchable parameters (sma_days, hysteresis_pct).
The initial backtest over ~27 years looked strong (Sharpe 0.596, profit factor 5.34, avg_trade_return_pct 4.25%, +2.35%/yr alpha, 26.9% max drawdown, 61 trades), but the 3-phase optimization broke down: walk-forward IS Sharpe 0.374 flipped to OOS -0.178 (is_overfitted=true), PBO 0.65, deflated Sharpe 0.115, and the holdout carried only 3 trades.
Backtest and paper results are hypothetical. Trading involves risk of loss.