EXTENSION GAP DASHBOARD

data through 2026-07-08 · generated from output/analysis/scan.json · sorted by gap_z desc · click a row for per-horizon detail · click headers to sort · red = RETURN_DRAG / PROTECT / gap_z ≥ 2 · grey rows = insufficient data

CHANGES — 5 change(s) at 2026-07-08 (rolling log, newest first)
DATETICKERNEVENTCHANGE
2026-07-08SMH100SPELL_END1d → closed
2026-07-08XLK200SPELL_END1d → closed
2026-07-08IWM50THROTTLEDEPLOY_ELSEWHERE → NORMAL
2026-07-08SPY100THROTTLEDEPLOY_ELSEWHERE → NORMAL
2026-07-08QQQ200THROTTLEDEPLOY_ELSEWHERE → NORMAL
GUIDE — WHAT THIS INDICATOR TELLS YOU AND HOW TO READ IT

WHAT IT MEASURES

For each security, the distance of price above its own trend (the N-day moving average), converted into the annualized return the security would have to compound at just to keep that distance from closing — the implied hurdle. Arithmetic identity, not opinion: 20% above a 200-day SMA requires ~61%/yr (HURDLE ANN, exact solve; the popular formula g ≈ 2Y/(N−1) overstates it at ~66%). GAP_Z normalizes the raw gap against the security's own trailing 3-year gap distribution so "extended" means the same thing for a bond fund and for bitcoin.

THE TWO QUESTIONS IT ASKS OF EACH SECURITY'S OWN HISTORY

1. Is the hurdle even possible? BULL EXCEED = the share of the security's own bull-market rolling-12-month returns (bull = price above a rising 200d SMA) that met or exceeded today's hurdle. 0% means the security has never delivered the required pace even in its best regimes — the gap cannot be grown out of; it must close another way. BULL MED 1Y shows what the security typically delivers in bulls, for scale.

2. When it was this extended before, what actually happened? CLASSIFICATION is the statistically honest verdict: forward returns conditioned on extension vs normal, tested with a block bootstrap that counts independent episodes (EFF N), never overlapping days. Most securities honestly show NO_INFORMATION — extension alone predicts little. RETURN_DRAG means 12M forward returns are significantly below normal when extended — muted, not negative (extended BTC still averaged +9%; it just forfeited the +153% unconditional drift).

HOW GAPS ACTUALLY CLOSE — THE KEY FINDING

93–97% of historical extension spells resolved by TIME: price consolidated sideways while the MA caught up. Not by decline. TIME RES shows each security's own share. Price-decline resolution concentrates almost entirely in spells that are old (>~21 trading days) and large (top quartile of gap_z) — which is what SPELL AGE is watching. Practical meaning: overextension in an up market usually signals a coming accumulation/consolidation phase — dead money for new dollars — not a top.

THE THROTTLE — WHAT TO DO WITH NEW MONEY

LABELMEANING
NORMALNot meaningfully extended. Deploy as usual.
DEPLOY_ELSEWHEREExtended, in a bull, hurdle essentially never delivered in the security's own bulls (≤10%). Base case is constructive consolidation — hold what you own, point incremental dollars elsewhere until the extension digests.
PROTECTSpell has aged past ~21d with gap_z ≥ 1 — the profile where the rare decline-resolutions concentrate. New money waits; tail protection on existing holdings is the structurally warranted expression.
MOMENTUM_OKExtended, but the hurdle is routinely delivered in this security's bulls (≥25%) — extension alone is no reason to divert new money.
WATCHExtended with middling feasibility, or extended outside a bull phase where the base rate doesn't apply.
INSUFFICIENTToo little bull history to score. No verdict.

WHAT THIS IS NOT

Not an exit signal, and not a timing tool: even where RETURN_DRAG is real (BTC), every naive de-risking overlay tested underperformed buy-and-hold — the drag is opportunity cost, not loss. It is a risk-management layer for allocating incremental dollars. Caveats: survivors-only data via yfinance, USO/UUP embed roll mechanics, no options/IV data (tail-put "warranted" ≠ "cheap"). Grey rows = too few independent episodes; they are refusals, not findings.

READING A ROW (EXAMPLE)

SMH N=200: gap +43.5%, hurdle +166%/yr, BULL EXCEED 0% (never delivered, even in semis bulls), TIME RES 96% (historically digests sideways), SPELL AGE 61d (aged past the safe zone) → PROTECT: the gap must close, history says probably by time, but this spell's age puts it in the bucket where the exceptions cluster — new money waits, existing exposure earns its tail hedge.