← Experiments

S&P 500 Breadth Low Buy Overlay — S5FI HMA20 8.5/0 (qm-4bx.18)

Rejected qm-4bx.18 · 2026-08-12

Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commit: 032db993 · Date: 2026-08-12 · Payload: research/findings/spx-breadth-low-qm-4bx.18.json · Repro: python -m research.scripts.auditspxbreadthlow --write

TL;DR S&P 500 breadth washout (INDEX:S5FI % above 50dma) with HMA20 crossing up through 8.5% after washout or under 0% (mega washout) is a buy-only capitulation impulse that forces max long SPY for a holding window. After maximal TV ingest (2006-12-29→2026-08-11, 4956 rows) plus synthetic ETF-proxy breadth (1999-03-05, corr 0.93 to TV), daily nextclose +10bps, the HMA20 8.5/0 signal is spa

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

signal 2019-03signal 2022-10signal 2024-03

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: grid_low_mega_hw20

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

CAGR7.61%Sharpe69.21%
Sortino101.32%maxDD-16.95%

Disposition

# S&P 500 Breadth Low Buy Overlay — S5FI HMA20 8.5/0 (qm-4bx.18) **Decision:** `NO-SHIP frozen` — investigate-only; do not admit to catalog/Meta. **Commit:** `032db993` · **Date:** 2026-08-12 · **Payload:** `research/findings/spx-breadth-low-qm-4bx.18.json` · **Repro:** `python -m research.scripts.audit_spx_breadth_low --write` ## TL;DR S&P 500 breadth washout (`INDEX:S5FI` % above 50dma) with HMA20 crossing up through 8.5% after washout or under 0% (mega washout) is a buy-only capitulation impulse that forces max long SPY for a holding window. After maximal TV ingest (2006-12-29→2026-08-1

Follow-on work

Errors & data gaps

- Pre-register holding 20 fixed and overlay override vs SMA200+60/40 before OOS 60/36 Deflated Sharpe. - Try ensemble thresholds (5/8.5/10 voting) to reduce mega 0 brittleness. - If revived, do not use consensus — document as filtered too strict. - Do not invent pre-2006 S5FI without TV archive; ETF proxy is best available extension — full 500-stock point-in-time requires licensed constituent history. - Investigate why SMA/EMA fail — HMA lag reduction is edge; test Wilder with longer window. - Weekly vs daily not needed (S5FI is daily).

Follow-up

gh issue create --title "Follow-up SP 500 Breadth Low Buy Overlay  S5FI HMA20 850 qm-4bx18" --body "Follow-up to qm-4bx.18: Decision: NO-SHIP frozen — investigate-only; do not admit to catalog/Meta. Commi" --label "priority:p2" --label "pipeline:research" --label "agent:ready"
# deep-link