Ewan Li

Market scan

Jul 20, 2026

Research as of published 35-day delay

schemav2.0calls25
RegimeCHOP
breadth32.6% green10d-0.20%Directional tradable
Vol state
  • short-gamma / rising-vol: VIX 18.65 (+24% in 7d), GEX FULLY_NEGATIVE both SPY (~-$1.94B) and QQQ (~-$701M) - vol-amplifying, not suppressing. Term structure still contango (not backwardated) - not yet the acute event-loaded state seen 07-17, but rising.

8 event-risk item(s) flagged.

  • MEDIUM1
  • WATCH17
  • ADVISORY6
  • DROP1
MEDIUM: 1 of 25WATCH: 17 of 25ADVISORY: 6 of 25DROP: 1 of 25
Tier mix — data table
Tier mix: tier and call count
TierCalls
MEDIUM1
WATCH17
ADVISORY6
DROP1

Directional book

7 calls

Sizing is removed from every call by policy — see the disclaimer.

PLNT

MEDIUMShortlaneOI_FADE10d

OI_FADE short: persistent 5d net call-OI build, and the fundamentals CAUTION here is more corroborating (guidance cut) than contradicting (unlike ROST/FIG). The only name in tonight's book clearing a real (non-watch) size.

Entry / trigger
New starter short. Entry at next session (2026-07-21) open, or intraday on continued persistence of the 5-day net call-OI build. Conditional anchor: SPY 742.09 (2026-07-20).
Invalidation
Cover on ANY of: (1) 5-day net call-OI build fully unwinds (5d-net crosses <=0 - the lane's standard signal-exit), (2) close reclaims and sustains above the pre-build breakout level, (3) a third consecutive post-print PT raise / a fresh upgrade to Buy would flip the mixed-caution read toward a genuine contradiction (re-run fundamentals-gate if so).
validated excess+2.07% (n=640)regime fit0.50fundamentalsCAUTION
Key risks
  • Guidance-cut is real support for the short, but the stock has already drawn two PT raises post-print - a squeeze can develop even against a fundamentally-corroborated short
  • Thinnest liquidity cushion of tonight's survivors (~$88M 20d $-ADV, ~77% over the $50M floor) - size accordingly, avoid adding into illiquid tape
  • Only a starter clip - CAUTION already applied a -1 tier from what the raw signal (median +2.07%, hit 0.61 vs 0.41, n=640) alone would support
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityPASS

PASS - last close $52.36 (07-17), ~$88.3M 20d $-ADV; cleared upstream C12 floor (thinnest cushion of tonight's OI_FADE survivors, ~77% over the $50M floor)

clusterPASS

PASS - Consumer Cyclical. Shares a sector tag with the VETOed/DROPped ROST, but ROST is out of the book entirely so no double-exposure; no other Consumer Cyclical OI_FADE survivor tonight.

fundamentalsNOTE

CAUTION - beat 4/4 + insider buying + strong growth, BUT beat-and-LOWER guidance actively supports the short thesis; two post-print PT raises are a squeeze-risk offset. Mixed, not a clean contradiction -> -1 tier, sized small rather than watch-only.

event riskPASS

PASS - no earnings flagged inside the h10 window

BNY

ADVISORYShortlaneS2_dp_revert5d

S2 dark-pool liquidity-reversion conditioning tag (short-tilted). Advisory representative.

Invalidation
Not sized - advisory DP one-sided concentration (short-tilted) conditioning tag.
validated excess+0.47%regime fit0.70
Key risks
  • S2 IC~=0 in this evidence base; do not rank or size beyond watch
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityNOTE

cleared upstream C12 floor per Phase B/C (BNY not present in the local truth-set panel slice checked tonight)

clusterNOTE

NOT EVALUATED - advisory conditioning list

fundamentalsNOTE

NOT SPAWNED - not about to be sized

event riskNOTE

NOT INDEPENDENTLY VERIFIED tonight - apply the h5 earnings-anywhere-in-window veto before any promotion

CL

ADVISORYShortlaneS2_dp_revert5d

S2 dark-pool liquidity-reversion conditioning tag (short-tilted). Advisory representative.

Invalidation
Not sized - advisory DP one-sided concentration (short-tilted) conditioning tag.
validated excess+0.47%regime fit0.70
Key risks
  • S2 IC~=0 in this evidence base; do not rank or size beyond watch
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityNOTE

cleared upstream C12 floor per Phase B/C (CL not present in the local truth-set panel slice checked tonight)

clusterNOTE

NOT EVALUATED - advisory conditioning list

fundamentalsNOTE

NOT SPAWNED - not about to be sized

event riskNOTE

NOT INDEPENDENTLY VERIFIED tonight - apply the h5 earnings-anywhere-in-window veto before any promotion

CPRI

ADVISORYShortlaneMOM_SHORT10d

The single cleanest CONFIRM short in tonight's scan by fundamentals, but MOM_SHORT is lane-capped to advisory/watch only per the 07-18 calibration audit - held at watch, not started.

Invalidation
Not sized (lane-capped). Would be the first name promoted to starter if/when MOM_SHORT clears a DURABLE-N (>=30) forward-positive-excess window via /calibration-audit - do not promote ad hoc.
validated excess+0.81% (n=273)regime fit0.40fundamentalsCONFIRM
Key risks
  • The lane itself was 0-for-9 / -5.3% excess in the first matured forward window (2026-07-18 audit) - even the cleanest fundamentals confirm in the basket does not exempt a single name from the lane-wide provisional cap
  • D/E 4.46 is a real leverage/credit-spread risk on top of the momentum-crash tail risk generic to this lane
Gates
regime crashPASS

PASS - s1_standdown FALSE; MOM_SHORT live but lane-capped (see tail_cap)

liquidityNOTE

cleared upstream C12 floor per Phase B/C (CPRI not present in the local truth-set panel slice checked tonight - flag for data-team follow-up)

clusterPASS

PASS - Consumer Cyclical (apparel/luxury); distinct sub-industry from LOW (home-improvement retail) and MCD (restaurants) also in tonight's basket - no measured pairwise corr, treated as standalone

fundamentalsNOTE

CONFIRM - revenue -21.8%, operating margin 0.66%, no insider support (MSPR +0.98), two analyst PT cuts. Cleanest short in the scan; D/E 4.46 carried as a credit-spread flag, not a squeeze-risk flag.

event riskPASS

PASS (not independently re-checked tonight; no earnings flagged in the Phase B brief)

SHOP

ADVISORYShortlaneS2_dp_revert5d

S2 dark-pool liquidity-reversion conditioning tag (short-tilted). Advisory representative.

Invalidation
Not sized - advisory DP one-sided concentration (short-tilted) conditioning tag. Representative of the S2 short-side names tonight.
validated excess+0.47%regime fit0.70
Key risks
  • S2 IC~=0 in this evidence base; do not rank or size beyond watch
  • Confirm no earnings anywhere inside the h5 window before any promotion (the IBM leak from the 07-18 audit was exactly this failure mode)
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityPASS

PASS - last close $123.56 (07-17), ~$990.7M 20d $-ADV

clusterNOTE

NOT EVALUATED - advisory conditioning list, not a sized cohort

fundamentalsNOTE

NOT SPAWNED - not about to be sized; advisory lane only

event riskNOTE

NOT INDEPENDENTLY VERIFIED tonight - apply the h5 earnings-anywhere-in-window veto before any promotion (post-07-18-audit fix, not just T+3)

SPG

ADVISORYLonglaneS2_dp_revert5d

S2 dark-pool liquidity-reversion conditioning tag (long-tilted). Advisory representative.

Invalidation
Not sized - advisory DP one-sided concentration (long-tilted) conditioning tag.
validated excess+0.47%regime fit0.70
Key risks
  • S2 IC~=0 in this evidence base; do not rank or size beyond watch
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityNOTE

cleared upstream C12 floor per Phase B/C (SPG not present in the local truth-set panel slice checked tonight)

clusterNOTE

NOT EVALUATED - advisory conditioning list

fundamentalsNOTE

NOT SPAWNED - not about to be sized

event riskNOTE

NOT INDEPENDENTLY VERIFIED tonight - apply the h5 earnings-anywhere-in-window veto before any promotion

VST

ADVISORYLonglaneS2_dp_revert5d

S2 dark-pool liquidity-reversion conditioning tag (long-tilted). Advisory representative.

Invalidation
Not sized - advisory DP one-sided concentration (long-tilted) conditioning tag.
validated excess+0.47%regime fit0.70
Key risks
  • S2 IC~=0 in this evidence base; do not rank or size beyond watch
  • A long-tilted lane in a soft-risk-off CHOP tape is exactly where the 0.7x regime discount bites hardest
Gates
regime crashPASS

PASS - s1_standdown FALSE

liquidityPASS

PASS - last close $155.44 (07-17), ~$699.9M 20d $-ADV

clusterNOTE

NOT EVALUATED - advisory conditioning list

fundamentalsNOTE

NOT SPAWNED - not about to be sized

event riskNOTE

NOT INDEPENDENTLY VERIFIED tonight - apply the h5 earnings-anywhere-in-window veto before any promotion

Vol book

6

Non-directional, delta-neutral, net-of-cost — advisory only, 0 directional points.

SPY

vol_0dtesell premium
Vol state
short-gamma / FULLY_NEGATIVE GEX (~-$1.94B), VIX 18.65 (+24% 7d), term structure still contango (not yet backwardated)
Net expectancy
0.160

0DTE-VRP premium sale, standard size - no gate tripped tonight

QQQ

vol_0dtesell premium
Vol state
short-gamma / FULLY_NEGATIVE GEX (~-$701M), front-end backwardation caution, on the wrong side of the 30d VRP curve

0DTE-VRP premium sale, HALF SIZE ONLY - fragile setup, not a full stand-down

TXN

vol_earningssell premium
Vol state
earnings 2026-07-22 - IV-crush candidate

WATCH-AND-CONFIRM (2d out) - re-verify IV-rank/kink integrity 1 session pre-print before sizing a defined-risk short strangle/iron condor net-of-cost

Stand aside ADVISORY only tonight - no calibrated net-of-cost figure yet

NOW

vol_earningssell premium
Vol state
earnings 2026-07-22 - IV-crush candidate

WATCH-AND-CONFIRM (2d out) - re-verify IV-rank/kink integrity 1 session pre-print before sizing a defined-risk short strangle/iron condor net-of-cost

Stand aside ADVISORY only tonight - no calibrated net-of-cost figure yet

INTC

vol_earningssell premium
Vol state
earnings 2026-07-23, IV rank 100 - cleanest IV-crush setup this week
Implied move
11.56%

WATCH-AND-CONFIRM (3d out) - if confirmed: wide short strangle/iron condor with wings beyond the ~11.56% implied move, defined-risk, half-cap, net-of-cost

Stand aside ADVISORY only tonight - re-verify IV-rank/kink integrity 1-2 sessions pre-print; no calibrated net-of-cost backtest in repo

CHTR

vol_earningssell premium
Vol state
earnings 2026-07-24 - IV-crush candidate

WATCH-AND-CONFIRM (4d out) - too early to structure; monitor IV-rank build

Stand aside ADVISORY only tonight - furthest out of the batch, no structure yet

Watch / stood-down

18
TickerTierLaneDirectionInvalidation
CNMWATCHMOM_SHORTShortNot sized - basket/cluster note only.
CPRTWATCHMOM_SHORTShortNot sized - basket/cluster note only.
CRNXWATCHOI_FADEShortNot sized - CRNX is simultaneously tagged near-52w-high (MOM_LONG cohort, bullish) AND a heavy call-OI build (OI_FADE, bearish-fade). Per the no-additive-confluence invariant, conflicting lanes are never summed or netted into a directional call - this resolves to WATCH with explicitly NO conviction either way, not a diluted small size in either direction.
DINOWATCHOI_FADEShortNot sized - watch-only pending the 07-28 earnings print (either clear it or restructure as defined-risk-through-print before considering entry), and pending the CEO-reshuffle/sector-tailwind narrative cooling.
ECHOWATCHMOM_SHORTShortNot sized - basket/cluster note only.
EQPTWATCHMOM_SHORTShortNot sized - basket note only, weak/ambiguous signal.
ESABWATCHMOM_SHORTShortNot sized - basket/cluster note only.
FIGWATCHOI_FADEShortNot sized - watch-only pending the squeeze risk cooling (no further PT raises / no fresh Buy re-rates for 1-2 sessions) or the insider-selling signal strengthening (would corroborate the short and could justify minimum starter size).
GPORWATCHMOM_SHORTShortNot sized - basket note only.
HONAWATCHMOM_SHORTShortNot sized - basket/cluster note only.
KTOSWATCHMOM_SHORTShortNot sized - basket/cluster note only.
LOWWATCHMOM_SHORTShortNot sized - basket note only.
MCDWATCHMOM_SHORTShortNot sized - basket note only.
ORCLWATCHMOM_SHORTShortNot sized - basket note only. RECONCILIATION FLAG: ORCL was a HELD MOM_SHORT starter position as of the 2026-07-17 scan (entered 07-13 @ $131.54, running excess +3.12% on 07-17). No 07-18/07-19 scan exists (weekend) and tonight's Phase A-C brief does not carry entry/exit state forward. If that position is still open in the live book, it needs separate position-management re-underwriting (against the now-live MOM_SHORT lane cap) rather than being treated as a fresh candidate - flagged to the orchestrator, not resolved here.
PEPWATCHMOM_SHORTShortNot sized - basket note only.
QXOWATCHMOM_SHORTShortNot sized (lane-capped + cluster representative). Re-evaluate with the rest of the Industrials cluster if MOM_SHORT clears a DURABLE-N re-validation.
STWDWATCHMOM_SHORTShortNot sized - basket note only.
ROSTDROPOI_FADEShortNot sized - lane-excluded while the fundamentals actively contradict the crowding thesis (beat streak, insider buying, Zacks #1, active store growth). Re-admit to the OI_FADE universe only if a forward fundamentals-gate re-check flips VETO to CAUTION or better (e.g. estimates roll over, insider buying stops, beat streak breaks).

Lane status

No lane produced a conceptual fire without a sized call tonight.

Watchlist write-back

29

Carried forward to the next session's watchlist — not calls.

PLNTFIGDINOROSTCRNXCPRIQXOCNMHONAORCLGPORPEPLOWEQPTKTOSCPRTESABECHOMCDSTWDSHOPBNYCLVSTSPGINTCNOWTXNCHTR
Lane glossary (5)
OI_FADE
OI-flow fade — fades persistent multi-day net call-OI building; heavy call-OI build precedes underperformance. The most robust lane measured (short, h10).
MOM_SHORT
Momentum, short leg — near-52w-low relative weakness. Regime-gated against momentum-crash/squeeze rebounds (h10).
S2_dp_revert
Liquidity reversion — fades an extreme one-sided dark-pool liquidity event as short-horizon mean reversion (long-tilted), news/earnings-gated (h3-5).
vol_0dte
Vol book — 0DTE variance-risk-premium premium-selling. Non-directional, delta-neutral, 0 directional points.
vol_earnings
Vol book — sells volatility into an earnings IV-crush. Non-directional, delta-neutral, 0 directional points.

Personal research journal · published on a ≥ 14-day delay · position sizes removed · not investment advice.