Tuesday, 07-21-2026
Evening market read · post-close validation & recap
Seven setups scored against tonight’s regular-session close — all from The Early Bird Curd (07-21): six asset-forecast leans plus one conditional intraday level-rejection short. 5 FIRE / 2 VOID / 0 MIXED / 0 NO_EVIDENCE. Two weekly setups from The Sunday Sundae (07-19) remain open on an unclosed holding window. Backlog after this run: 2 open (both weekly).
| Setup | Outcome | Evidence | Δ-ATR* | Actual |
|---|---|---|---|---|
| AF LONG CPERmm-260721-AF-CPER-L | FIRE | Copper closed 39.53 (+2.89%, +1.64 ATR in-direction) — the reflation/AI-demand bid the morning called, and the day’s cleanest cyclical signal. No growth-scare and no dollar spike (UUP only +0.32%). Second straight FIRE (was +0.78 ATR 07-20). | +1.64 | 39.53 |
| AF LONG GLDmm-260721-AF-GLD-L | FIRE | Gold closed 374.81 (+1.96%, +1.03 ATR), with miners GDX +4.88% confirming. The “odd couple” risk the morning flagged — a haven rallying alongside a semis rip — resolved bullishly: no dollar rebid, no yield spike, haven not sold. Low-conviction call that worked. | +1.03 | 374.81 |
| AF SHORT FXBmm-260721-AF-FXB-S | FIRE | The GBP proxy closed 128.70 (−0.39%, +0.84 ATR in-direction) on UK political uncertainty. No hawkish-BoE surprise, no risk-on GBP bid — the small-move, low-conviction thesis held. | +0.84 | 128.70 |
| AF LONG USOmm-260721-AF-USO-L | FIRE | Oil closed 128.85 (+2.66%, +0.80 ATR), XLE +0.97% carrying the equity echo. The Gulf supply premium held with no de-escalation headline. Extended (+14% on the week) but continued. | +0.80 | 128.85 |
| AF SHORT XLPmm-260721-AF-XLP-S | FIRE | Staples closed 84.06 (−0.94%, +0.56 ATR in-direction) — the weakest defensive on a risk-on growth day, exactly as the two-leg forecast called. No risk-off rotation back into staples. | +0.56 | 84.06 |
| LRT SHORT QQQmm-260721-LRT-QQQ-S | VOID | A conditional level-rejection short that armed only on a failed hold of 702.30 with SMH new lows and red breadth in the first hour — none of which happened. QQQ reclaimed the pivot and closed 708.97, above the 705.80 decisive-reclaim kill (−0.47 ATR against the level), with SMH ripping and breadth green. Correctly never armed; kill conditions fired. No fill. | −0.47 | 708.97 |
| AF SHORT XLVmm-260721-AF-XLV-S | VOID | The worst premarket sector (−0.82) reversed to close 160.25 (+0.63%, −0.35 ATR against the short). A UNH-led health-specific bid (+3.51%) returned — the named kill leg — and the strong month/quarter uptrend resumed. The short did not fire. | −0.35 | 160.25 |
| OMR LONG SMHsun-260719-OMR-SMH-L | OPEN | Weekly oversold-reversal, arms Wed evening only (after Alphabet reports) on an SMH reclaim of 567.41 + QQQ >702.30 — not yet triggerable. Interim: not armed, not killed, and running strongly its way — SMH closed 584.08 (far above the 536.81 kill), QQQ 708.97 (above the 686.76 kill). The Alphabet-capex kill is pending Wed AMC. Stays open. | — | 584.08 |
| EXF SHORT XLEsun-260719-EXF-XLE-S | OPEN | Weekly exhaustion-fade, zone-only / not armed (needs a genuine de-escalation headline + a failed high; the Sunday note flagged it unlikely to arm while the strait stays shut). Interim: XLE closed 58.50 (+0.97%) — energy kept climbing, no de-escalation, so the short still has no arm trigger. Stays open, leaning toward never expressing. | — | 58.50 |
*Δ-ATR for asset-forecast rows is the close-vs-previous-close move in daily-ATR(14) units, signed in-direction (positive = favorable to the setup). The QQQ row is the mechanical validator’s close-vs-level figure (708.97 vs the 702.30 short level = 0.47 ATR adverse). — where no numeric level applies.
Pattern performance (Component 13) — edge by pattern × direction (n ≥ 5)
| Pattern | Dir | n | Hit% | Mean prob | Mean Brier |
|---|---|---|---|---|---|
| AF (asset-forecast) | Long | 22 | 77% | 0.55 | 0.223 |
| MS (mean-reversion) | Short | 5 | 80% | 0.46 | 0.295 |
| SRT (sector-rotation) | Short | 6 | 67% | 0.47 | 0.317 |
| SRB (sector-rotation) | Long | 8 | 62% | 0.43 | 0.299 |
| AF (asset-forecast) | Short | 17 | 59% | 0.55 | 0.238 |
| GFD (gap-fill) | Long | 6 | 50% | 0.41 | 0.259 |
| MS (mean-reversion) | Long | 31 | 45% | 0.52 | 0.249 |
| LRT (late-reversal fade) | Short | 33 | 42% | 0.39 | 0.275 |
| SBD (small-body doji) | Long | 6 | 0% | 0.37 | 0.138 |
Calibration trend (Component 14) — rolling-Brier (last 50) by validation date
Mechanism-leak (Component 15) deferred this run. The canonical leak count and the dashboard xlsx refresh both crash on a numeric comparison against a setup’s descriptive-string level (lvl) — a standing bug, ISS-20260720-10 (a duplicate filed this run was closed as such). The scored outcomes were written cleanly by score_setup before the augmentation step, so the calibration above — recomputed from the validated jsonl via nightcap_prep --rollups — is unaffected; only the leak tally and the .xlsx are stale (last built 07-18).
A distinct calibration source — the macro / cross-asset prediction track carried in the thinktank-v2 DB (index, FX, commodity, crypto targets), read-only and never combined with the setup Brier/hit-rate above. Rendered from the reader label verbatim: est. (thinktank-v2 derived, asOf 2026-07-21). No new resolutions since 07-20.
| Instrument | Dir | Target | Entry | Close | Realized | Result |
|---|---|---|---|---|---|---|
| SPX (S&P 500) | up | +0.5% | 7369.0 | 7537.4 | +2.29% | HIT |
| BTC (Bitcoin) | up | +4.0% | 60365 | 63086 | +4.51% | HIT |
| ES (S&P Sep) | down | −1.5% | 7385.3 | 7537.4 | +2.06% | MISS |
| NQ (Nasdaq Sep) | down | −2.5% | 29347 | 29698 | +1.20% | MISS |
| NQ (Nasdaq Sep) | short | −3.0% | 29200 | 29698 | +1.71% | MISS |
| GC (Gold, spot) | up | +2.0% | 4046.0 | 4104.1 | +1.44% | MISS |
Pending / unresolved (no price series — never scored by guess): XLK/XLU pair, IWM/QQQ pair, Brent (BZ), USD/JPY, Wheat (ZW). Read-only — the DB was not written.
| Index | Close | Day % |
|---|---|---|
| SPY (S&P 500) | 748.28 | +0.83% |
| QQQ (Nasdaq-100) | 708.97 | +1.85% |
| RSP (S&P equal-wt) | 212.76 | +0.16% |
| IWM (Russell 2000) | 296.54 | +1.45% |
| SMH (semis) | 584.08 | +4.52% |
| Proxy | Close | Day % | Read |
|---|---|---|---|
| CPER (copper) | 39.53 | +2.89% | Reflation/growth bid — the day’s strongest cyclical signal |
| USO (WTI oil) | 128.85 | +2.66% | Energy firm — Gulf supply premium persists |
| GLD (gold) | 374.81 | +1.96% | Haven bid held despite risk-on — the odd-couple tell |
| GDX (gold miners) | 74.19 | +4.88% | Miners ripped — confirming the gold move with leverage |
| UUP (US dollar) | 28.48 | +0.32% | Firm — no dollar spike to kill the metals |
| HYG (HY credit) | 79.65 | −0.04% | Spreads steady — no credit stress |
| TLT (20y+ USTs) | 83.66 | −0.27% | Duration soft — yields up on the reflation lean |
This automated Nightcap run did not fetch the closing-bell newsletters (Stocktwits Daily Rip close / Axios Closer) — single-name narrative color is refresh-required. The confirmed close tape stands in as the illustrative read.
Illustrative only — never trade recommendations. Individual-name detail is refresh-required (no newsletter pull this run).
Closing the loop on The Early Bird Curd (07-21). The morning read a risk-on-growth, semis-led repair attempt #3 and leaned with the everything-bid tape — and reality delivered, broadly. Right: all four asset-forecast leans that pointed with the rally fired — copper (+1.64 ATR), oil (+0.80) and gold (+1.03) longs, plus the GBP-proxy short — and the staples short landed clean as defensives lagged (XLP the worst sector). The macro call was the sharpest it’s been in the record. The two misses were both fades against the up-tape, and neither cost anything: the conditional QQQ level-rejection short was deliberately built to arm only on a failed 702.30 hold with semis rolling to new lows — the exact opposite of what happened, so it VOIDed without ever arming, precisely as designed; and the low-conviction health short reversed when a UNH-led bid pulled XLV green, a stock-specific tell rather than a macro miss. Net: a strong directional night — the only setup that would have risked capital was the health short, and the QQQ VOID was a non-event. Both Sunday weekly setups sit open, neither armed nor killed — the semis-reversal long (SMH) can’t arm until Wednesday after Alphabet, and the energy-exhaustion fade still has no de-escalation to work with.