← Experiments

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

Equity vs S&P (aligned, rebased to 1.0)

signal 2016-09signal 2016-10

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

Signal timeline — triggers shown as verticals on main chart above.

Stats

CAGR6.39%Sharpe54.70%
Sortino88.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

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