NH-NL Breadth Risk-Off Sleeve — SMA50(HIGN-LOWN)<0 (qm-4bx.16)
Rejected qm-4bx.16 · 2026-08-12
Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commit: 7aee6c37 · Date: 2026-08-12 · Payload: research/findings/nhnl-breadth-qm-4bx.16.json · Repro: python -m research.scripts.auditnhnlbreadth --write
TL;DR Net new highs minus new lows (NH-NL) breadth SMA50<0 as SPY risk-off (cash/SH) was tested as daily nextclose +10bps sleeve. After maximal TV ingest (INDEX:HIGN/INDEX:LOWN 2001-06-05→2026-08-11, 6331/6312 rows) plus synthetic 52-week high/low reconstruction from 9 sector SPDRs (1999-12-21→2026-08-04, daily corr 0.65 to native — fails 0.90 gate, frozen NO-GO), the anchor SMA50(net)<0
Provenance
Equity vs S&P (aligned, rebased to 1.0)
Aligned window, both rebased to 1.0 at start — Aligned window, both rebased to 1.0 at start for fair comparison · S&P dashed, experiment solid. X = Date, Y = Equity (rebased to 1.0).
Signal driver & thresholds (x-aligned)
Parameter grid: ensemble_grid
Threshold / holding window grid — see payload for full grid.
Signal timeline (sparse triggers)
Triggers when overlay takes over base strategy
Stats
| CAGR | 6.39% | Sharpe | 54.70% |
|---|---|---|---|
| Sortino | 88.93% | maxDD | -19.01% |
Disposition
# NH-NL Breadth Risk-Off Sleeve — SMA50(HIGN-LOWN)<0 (qm-4bx.16) **Decision:** `NO-SHIP frozen` — investigate-only; do not admit to catalog/Meta. **Commit:** `7aee6c37` · **Date:** 2026-08-12 · **Payload:** `research/findings/nhnl-breadth-qm-4bx.16.json` · **Repro:** `python -m research.scripts.audit_nhnl_breadth --write` ## TL;DR Net new highs minus new lows (NH-NL) breadth SMA50<0 as SPY risk-off (cash/SH) was tested as daily `next_close` +10bps sleeve. After maximal TV ingest (`INDEX:HIGN`/`INDEX:LOWN` 2001-06-05→2026-08-11, 6331/6312 rows) plus synthetic 52-week high/low reconstruction
Follow-on work
- Pre-register any hysteresis/buffer winner (hys2/buffer10) and test OOS before claim; do not use 60d window post-hoc best 5.53.
- Do not use synthetic for history extension; correlation fails gate.
- SH sleeve not modeled for borrow/expense/tracking; would need tradable SH history not synthetic proxy.
- Alternative data: FRED/Quandl free daily NYSE highs pre-2001 not found; licensed NYSE archive would be needed for true extension.
- Weekly vs daily not needed (NHNL is daily).
Errors & data gaps
- Pre-register any hysteresis/buffer winner (hys2/buffer10) and test OOS before claim; do not use 60d window post-hoc best 5.53. - Do not use synthetic for history extension; correlation fails gate. - SH sleeve not modeled for borrow/expense/tracking; would need tradable SH history not synthetic proxy. - Alternative data: FRED/Quandl free daily NYSE highs pre-2001 not found; licensed NYSE archive would be needed for true extension. - Weekly vs daily not needed (NHNL is daily).
Follow-up
gh issue create --title "Follow-up NH-NL Breadth Risk-Off Sleeve SMA50HIGN-LOWN0 qm-4bx16" --body "Follow-up to qm-4bx.16: Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commi" --label "priority:p2" --label "pipeline:research" --label "agent:ready"# deep-link