COR1M nearly doubled off the floor — 4.30 → 7.82, the largest one-session pop of the cycle. SPX −1.21% to 7,408.30, VIX +12.38% to 18.70. But the dispersion spreads compressed from the wrong side: VIXEQ barely moved — index vol rose to meet it. And the wings never got bid. This was a mechanical repricing, not a defensive one.
★ The Convergence Has Started
COR1M
implied correlation 1M
7.82
+81.86% (+3.52) — off the floor
VIXEQ−VIX
single-stock − index
30.83
−8.08% (2.71) — rolling off
VIX−VIX9D
front spread
0.55
from 1.76 — front snapped awake
SPX
index · under 20 & 50 day
7,408.30
−1.21% (90.66)
VIX
30-day · printed 20.31 pre-mkt
18.70
+12.38% (+2.06)
VVIX
vol-of-vol · puckering, 106.65 high
102.17
+6.93% (+6.82)
VolDex
Nations · ATM vol bid hard
15.48
+13.63%
SkewDex
Nations · flat — no skew chase
63.80
+0.14%
TailDex
Nations · tail bid returned
16.84
+8.29%
The Story
SPX closed 7,408.30, −1.21% — a lower low and a lower high, back under both the 20- and 50-day. It undercut 7,400 at the 7,376 low and clawed back above into the close, but the tape sold GEX-style into the bell. QQQ took the worst of it at −1.90%. The setup was GOOGL and TSLA overnight: both beat, and got thumped anyway — which is the part worth saying out loud, because a beat that gets sold is a different animal than a miss. Hyperscalers punished, picks-and-shovels paid. INTC beat overnight and follows the same script. The market is not selling AI, it is re-sorting who pays and who collects.
Vol woke up, and the front end did the heavy lifting: VIX9D +21.98% to 18.15 against VIX +12.38% to 18.70. At the 11:00 low the 9-day was printing a hair above the 30-day. The whole curve repriced. A 10x multiple on a −1.21% tape is already rich, and at the low it was running better than 15x. VIX tagged 20.31 in thin pre-market before settling back — the customary discount on a liquidity-starved print.
Here is the piece that matters. COR1M nearly doubled, 4.30 to 7.82 (+81.86%). Correlation is finally lifting off the floor. Meanwhile the dispersion spreads compressed — VIXEQ−VIX −8.08%, DSPX−VIX −11.53%, VXN:VIX −6.57% — but check which side moved: VIXEQ printed 49.52, down 0.02% and essentially flat. DSPX 45.78, up 0.02%. The compression is not single-name vol relaxing. It is index vol rising to meet it. That is the roll from the highs as correlation catches up, and it is coming from the index side for the first time this cycle.
And the wings never showed. Skew and convexity contributed +0.08 across all four factors on a 2.06 move — about 4%. Index put/call at 0.92 sat at the low end of its range on a −1.2% day. Two independent instruments, same answer: nobody chased protection. The tail demand is living in VIX call structures, not SPX puts. Underneath, no relief — crude vol 68.97 (+5.60%), MOVE 80.08 (+4.95%), 10-year 4.70 and out to a 52-week high, all into next week's FOMC.
🐐 In Plain Language
You watched two of the biggest companies in the market report good numbers and get sold anyway. You watched the index give back more than a percent and close under the lines everyone watches. And you watched the price of protection jump double digits after a week of pricing almost nothing.
Here is what you did not see. For months, stocks have been moving on their own separate stories — one zigs, another zags, and the index barely budges. That is what has kept things looking so calm on the surface. That measure of stocks-moving-together nearly doubled in a single session. The individual stocks did not calm down — the index caught up to them. And nobody rushed to buy crash insurance on the way down; the hedges were already on.
Bottom line: the thing that has been holding the market quiet is starting to give way, and it gave way from the index side. Not a panic — a mechanical repricing, with the wings priced at zero. But the bond and oil markets are getting louder into next week's Fed meeting, and the cushion is thin. The tell from here is whether stocks keep moving together.
TERM STRUCTURE
Repriced Higher · Flattening ↗
Spot to Aug VX ~0.6 · Aug to Sep 0.73 · thin cushion both sides
VOL SURFACE
Level Repricing · No Skew Bid
Sticky 1.50 + Parallel 0.49 = 97% of the move
TAIL RISK
Reaching For Tails
VVIX 102 puckering · demand in VIX calls, not SPX puts
📖 Scenario Watch
🟢 Rich vol bleeds — active. Macro consternation settles into robust AI earnings over the next two weeks, no fresh crude or rates shock, tape chops sideways. Vol with no skew bid underneath it tends to leak back out. Premium sellers get paid.
🟡 Convergence grinds on — ACTIVE · base case. COR1M keeps climbing, index vol keeps rising to meet single-name vol, dispersion book bleeds from both ends. Orderly, not violent. The 7/27–7/31 mega-cap cluster is the pressure test.
🔴 Corr-1 squeeze — tail, live. Crude » rate vol » hawkish repricing feedback loop stays stressy into FOMC. Dispersion shorts get squeezed in their mush, CTA 3-month long signal flips (~$25.5B SPX notional for sale), VIX call dealers hit a short-convexity issue. August seasonality is the accelerant.
Tab Guide — What's Notable
Decomposition — 7/22→7/23. Sticky Strike 1.50 (the neighborhood) + Parallel Shift 0.49 (the price of beef) = 97% of a 2.06 move. Wings priced at zero.
Term Structure — whole curve repriced higher and flattened. Spot to August VX down to ~0.6, August to September 0.73. That spot premium looks a tad overdone.
VVIX/VIX — ratio fell to 5.47 because VIX rose faster than VVIX. Normalization by the right leg, for once.
🐰 Rabbit Hole — rate vol percolating into FOMC, CTA trigger math, the VIX call bid and where dealer convexity sits.
🐐 Coil Gauge — master moved. Dispersion dial now UNWINDING, not just fragile. McMillan buy signal invalidated by the pop.
VIX Decomposition
CBOE tool · Wednesday July 22 → Thursday July 23, 2026
S&P 500
7,498.96 → 7,408.30
−1.21% (90.66)
VIX
16.64 → 18.70
+12.38% (+2.06)
Sticky Strike
+1.50
Parallel Shift ⚠️
+0.49
Put Skew
+0.05
Call Skew
+0.05
Downside Convex
(0.05)
Upside Convex
+0.03
TOTAL
+2.06
Factor Breakdown
Sticky Strike +1.50 — the neighborhood. 73% of the whole move. SPX dropped 90 points, the surface slides up the smile, vol gets more expensive because of where we are now. Pure mechanics, and honest.
Parallel Shift +0.49 ⚠️ — the price of beef. 24% of the move, and the piece spot does not explain. The whole surface bid up as a level. On a real selloff that is supply and demand behaving — but note this factor has flipped sign four sessions running through the VIXpery window.
Put Skew +0.05 · Call Skew +0.05 — nothing. On a −1.2% day, the put wing did not get bid. Neither did calls. Symmetrical, and symmetrical means indifferent.
Downside Convex (0.05) · Upside Convex +0.03 — deep tails flat to slightly cheaper on the downside. Nobody paid up for the crash wing on a down day.
All four wing factors net +0.08 on a 2.06 move — about 4%. The move was level, not shape.
Analytical Read — Mechanical, Not Defensive
Two factors did 97% of the work and neither one is a fear signal. Sticky Strike 1.50 is gravity — spot fell, the surface reprices where it sits. Parallel Shift 0.49 is the level bid on top. Everything else — the entire shape of the smile, both skews, both convexity wings — contributed +0.08 combined. That is a curve marking up because spot moved and the front end had been priced for nothing, not a scramble for protection.
The sequencing makes it sharper. Wednesday, on a flat tape, Put Skew printed +0.24 while calls cheapened — a quiet downside bid with nothing happening. Thursday, on the actual −1.2% day, the wings did not move at all. The hedge went on before the move; on the move itself, nobody chased. Index put/call at 0.92 — the low end of its range — says the same thing from a second instrument.
Two implications. Vol with no skew bid underneath it is the kind that bleeds back out absent another shock. But the flip side is that there is no cushion in the index: the tail demand is sitting in VIX call structures, not SPX puts, so a genuine correlation event would land on a market that is not hedged where the damage would occur.
Parallel Shift Through the VIXpery Window
Fri 7/17 — spiked hard positive. Surface bid as a level on the selloff, VIX closed at the high, no weekend markdown. Beef up, and we said huh?
Mon → Tue — (0.46). Beef cheaper, surface let out.
Tue → Wed — (0.30). Cheaper again, on a flat tape.
Wed → Thu — +0.49. Beef right back up.
Four sessions, sign flip and flip back. That is not a surface expressing a view — that is a surface getting pushed around by expiry mechanics, with the July 22 VIXpery sitting in the middle. Thursday's +0.49 is the one with a story behind it. It is also the fourth different answer in four sessions, and the one structural thing that changed in between was the expiry rolling off. Read it with that caveat attached.
🐐 In Plain Language
Two ideas make this whole panel readable, and they hold session to session. Sticky Strike is the neighborhood. Same steak, but you are eating on the pricier side of town now, so the check is higher — nothing about the food changed, only where you are sitting. Parallel Shift is the price of beef. The wholesale input went up, and it does not matter which neighborhood you are in — every restaurant in the city charges more.
The market dropped, so the neighborhood got expensive: that was three-quarters of the jump in the price of protection. Beef went up too, which added another quarter. And the fancy garnishes — the bets on a crash, the bets on a melt-up — were priced at essentially nothing. Nobody ordered them.
Bottom line: protection got more expensive for mechanical reasons, not because anyone panicked. That kind of increase usually fades if nothing else goes wrong. But it also means the market is not carrying much real crash protection right now — the insurance people did buy is on volatility itself, not on stocks.
Contango · Repriced Higher & Flattening ↗
VIX−VIX3M: (1.90) · VIX−VIX9D: +0.55 — front nearly caught the 30-day
VIX9D
9 day
18.15
+21.98%
VIX
30 day
18.70
+12.38%
VIX3M
3 mo
20.60
—
VIX6M
6 mo
22.48
—
VIX1Y
1 yr
~23.2
est.
VIX Futures Strip — August Now M1
Aug (M1)
19.45
Sep
20.18
Oct
20.86
Nov
21.13
Dec
21.15
Jan
22.15
Feb
22.50
Mar
22.65
M1 contango 3.75% (0.73 pts), M2 3.37% (0.68). The whole strip lifted and the front flattened. Spot VIX to August VX is down to roughly 0.6 — and at the peak of the selloff spot and futures were nearly flat again. That spot premium looks a tad overdone here; the front tends to give it back once the tape steadies. August also sits only about 0.75 below September — thin cushion on both sides heading into the mega-cap cluster and FOMC.
Compact Decomp (7/22 → 7/23)
Sticky +1.50Parallel +0.49 ⚠️Put +0.05Call +0.05
🐐 In Plain Language
The whole schedule of protection prices lifted, from the nine-day out to a year. The short end jumped the most — more than twice as fast as the headline number — and at one point during the worst of the selling, the nine-day was actually pricing more worry than the thirty-day. After a week of pricing nearly nothing, the front end snapped awake.
The catch is the same one as before: cushion. The nearest futures contract sits barely half a point above the spot number, and only three-quarters of a point below the next one out. That is a thin ladder heading into the busiest earnings week of the season and a Fed meeting.
Bottom line: the curve repriced higher across the board, which is healthy honesty after a week of complacency. But the front end may have overshot — that gap between spot and futures tends to close back up once things steady. Thin cushion, big calendar ahead.
VVIX/VIX
ratio · normalized the right way
5.47
−4.80% (0.28)
VVIX
vol-of-vol · back over 100, 106.65 high
102.17
+6.93% (+6.82)
VIX−VIX9D
spread · front nearly caught 30d
+0.55
from 1.76 — 9D led higher
VIX
30-day · 10x the SPX move
18.70
+12.38%
VIX9D
9-day · snapped awake
18.15
+21.98%
VXN:VIX
tech vs broad · converging
1.50
−6.57% (0.11)
The VVIX/VIX Question — Which Leg Is Wrong?
When this ratio pins near the top of its range, it is usually VIX being too low, not VVIX too high. The ratio spikes when participants pay up for VIX convexity — calls, call spreads, call flys — while spot VIX sits pinned. A high reading means the market is pricing the jump, not the level. It reads as reaching for tails.
The identity of the buyer matters: dispersion traders sitting on a large short-index-vol leg, hedging it with VIX calls against a Correlation-1 move. That is precisely why VVIX has been so uncomfortably sticky near 100–105.
Which makes the direction of resolution the interesting part. The ratio fell on the session, to 5.47 — not because VVIX relaxed, but because VIX rose 12.38% while VVIX rose 6.93%. The gap closed by the correct leg. VVIX printing 106.65 intraday says the pucker is still there, but the ratio normalizing from the VIX side is the resolution you want to see, not a fresh warning.
Dispersion Complex — Compressing From the Wrong Side
VIXEQ
constituent vol
49.52
−0.02% — flat
DSPX
dispersion index
45.78
+0.02% — flat
VXN
Nasdaq vol
28.06
+4.94%
The spreads all compressed hard — VIXEQ−VIX −8.08% to 30.83 (Z now −0.66), DSPX−VIX −11.53% to 27.09, VXN:VIX −6.57% to 1.50. But the components say why: VIXEQ 49.52 flat, DSPX 45.78 flat. Single-name vol did not relax. Index vol rose to meet it. That distinction is the whole read. A spread narrowing because the rich leg cheapens is relief; a spread narrowing because the cheap leg gets bid is convergence. This is convergence, and it is the roll from the highs as correlation catches up.
Nations Vol Indices
VolDex
ATM vol · bid hard
15.48
+13.63%
SkewDex
skew · unchanged
63.80
+0.14%
TailDex
tail · bid returned
16.84
+8.29%
Divergence read: VolDex +13.63% while SkewDex is flat at +0.14%. General at-the-money vol got bought hard; the shape did not change at all. That is the Nations complex telling the same story as the decomposition — a level repricing, not a skew chase. TailDex +8.29% is the one wrinkle: deep-tail demand did return after coming off Wednesday, which fits the VIX-call bid rather than an SPX put bid.
Put/Call — Nobody Reached
Equity P/C
0.66
+17.86% · mid-band
Index P/C
0.92
LOW end (range to 1.19)
Total P/C
0.75
weekly
Equity put/call jumped 17.86% but sits mid-band (0.49–0.82) — no retail panic. The striking one is Index put/call at 0.92, the low end of its range, on a −1.2% day with the whole curve repricing. Index options were not reaching for puts. Same answer the decomposition gave, from an independent instrument: the hedging demand went into VIX upside structures, not SPX downside.
🐐 In Plain Language
There is a gauge that measures nervousness about nervousness, and for weeks it has been stuck high while the main gauge stayed low. That gap usually means the same thing: people are not worried about where volatility is, they are worried about it jumping — so they buy lottery tickets on volatility itself rather than insurance on stocks.
The gap closed a little on the session, and it closed the right way: the main gauge came up to meet the nervous one, rather than the nervous one coming down. Meanwhile the individual-stock volatility measures barely moved. The index caught up to them. And in the options market, on a down day, index traders did not buy puts — the demand went somewhere else entirely.
Bottom line: this was the index catching up to what individual stocks were already saying, not a panic. But the protection people own is on volatility, not on the market itself — and that is a thin place to be standing if stocks start moving together in earnest.
🐰 It's Time for the Percolator
Rate vol, the crude feedback loop, and where the dealer convexity sits · Thursday July 23, 2026
Equity vol finally repriced. But the louder story is one floor down, and it has been building all week: crude running, rates climbing, and a Fed meeting landing into the middle of it. The plumbing is gurgling and the equity market is only now starting to hear it.
Macro-Vol — Ramping
MOVE
bond vol
80.08
+4.95%
OVX
crude vol
68.97
+5.60%
10Y Yield
UST
4.70
+0.94% · 52-wk high
DXY
dollar
101.37
−0.06%
Iran escalation headlines feeding energy, energy feeding the rate-vol impulse. The 10-year broke out to a 52-week high. Bond vol up nearly 5% on the session and rate vol is up across the whole surface on the week — the front of the grid (1y and 2y tails, 1m to 3m expiries) moved 8–9 vols. That is the percolator. Every asset class is short rate vol; when this complex reprices, nothing is insulated.
The Fed Box
The trailing two sessions optically look like rates trading a July hike. That reads too linear — the same price action could message a hawkish hold, and soft CPI and PPI would justify no action. The better interpretation: rates are anticipating the anticipators and throwing a mini-tantrum, saying a hawkish hold is not good enough. That puts the Fed at risk of a behind-the-curve policy error and fattens the over-hiking-later left tail.
The reflexive problem: crude is self-fulfilling the move higher in rates — reals especially, which is a tighter-financial-conditions proxy — which risks trapping Warsh into hikes because the market led him there. Next week is a seriously tight window to thread the needle.
The CTA Trigger — A Basketball Through a Garden Hose
Equities de-risking flows have not been in play for a long time — and they are probably the required flow to fulfill an index vol squeeze. CTA trend models sit +100% long SPX, +90% long NDX and Russell, with the 3-month window carrying by far the largest weight at 52.6%. That 3-month long signal is now increasingly tenuous, leaking out of deep-in-the-money and drifting toward local short triggers off the back of this selloff.
Either lower fast, or grinding lower slowly and dragging deeper into the window — both roads lead to a possible outright short flip. The projected S&P notional dwarfs the other indices: roughly −$25.5B for sale at the −4% band, with −$2.3B already in play at −2%. That is the basketball through a garden hose.
Where the Convexity Sits
Customer interest is running into VIX upside structures — outright calls, call spreads, call flys — which pushes dealers incrementally toward a short-convexity problem. Not there yet: most short strikes are tame in the 20s and 30s with plenty of dealer long gamma above. VIX call dealer positioning sits around the 6th percentile; VIX 3M call skew (25d/ATM) ranks 95th percentile.
The source of that demand is the same crowded trade we have been tracking all cycle: still enormous short index vol from in-the-money dispersion traders, increasingly hedging that leg with VIX calls against a Correlation-1 move that would squeeze index vol right in their mush. That is why VVIX stays sticky and puckers near 105 — folks are reaching for tails. Dispersion profitability sits at the 100th percentile on the month: stretched and crowded.
📅 The Concentration Window
Wed Jul 22 — GOOGL + TSLA, ~8.9% of index market cap. Both beat, both sold.
Mon Jul 27 – Fri Jul 31 — MSFT, META, AAPL, AMZN inside five trading days. ~19.0% of the index.
Wed Aug 26 — NVDA alone, ~7.5%. Last gate before September.
Into a cluster like 7/27–7/31, single-name implied vol runs hot while index vol lags — the mechanism that pushes COR1M higher into the print week. That bid should build and peak right before Monday. The unwind is the real trade: once AMZN and AAPL clear Thursday night 7/30, four of five prints are done, the dispersion book unwinds, and SPX can inherit a vol-crush tailwind into 7/31 and the week after. Respect 7/29 and 7/30 as elevated-gap-risk sessions for 0DTE sizing. Then August seasonality lifts off into thin liquidity.
The Counterweight
Fair caveat on all of the above: VIX call monetization is famously hard, because the reflex is to sell the vol rip immediately. If macro consternation settles into robust AI earnings over the next two weeks without coming unglued on crude and rates, and the tape just chops sideways, then rich vol bleeds. The upside-vol case needs the rates and crude feedback loop to stay stressy. Right now it is: crude is staying bid, and the Fed window is tight.
🐐 In Plain Language
Oil is climbing on Middle East headlines. Rising oil pushes up inflation expectations, which pushes up interest rates, and the ten-year just hit its highest level in a year. The bond market is getting genuinely agitated heading into next week's Fed meeting — and it is agitated in a way that boxes the Fed in: if the market keeps pushing rates up on inflation fear, the Fed may end up forced to follow.
Meanwhile, the big trend-following funds are still positioned heavily long stocks, but they are getting close to the level where their models flip. If that happens, the selling is mechanical and large — and it lands in a market where, as we saw, very little downside protection has actually been bought.
Bottom line: the near-term path still favors calm if earnings hold up and nothing else breaks — expensive protection tends to get cheap again when nothing happens. But the setup underneath is loaded: agitated bonds, rising oil, a boxed-in Fed, and a crowded trade that has to unwind if stocks start moving together. Watch the bond market, not the stock market, for the next real signal.
🐐 The Coil Gauge
Composite structural-health read · Thursday July 23, 2026 · Close
All reads from confirmed EOD prints. Bad-left → good-right, like a car dial.
Master read
CONVERGENCE UNDERWAY
COR1M off the floor for the first time this cycle · spreads compressing from the index side, not single-name relief · level repricing with no skew bid · ↘ deteriorating vs. prior session
Dispersion coil
UNWINDING
Term structure
REPRICED · THIN
Vol-of-vol stress
PUCKERING
🎯 McMillan VIX Spike-Peak Buy Signal
INVALIDATED · new local high
Was ~0.15 pt from firing at the prior close. VIX popped to 20.31 instead of bleeding to 16.50, which resets the reference peak. The signal now needs a fresh 3-point close-down off whatever high this leg makes.
COR1M vs. trigger ladder
7.82
+82% · WAKING
VIXEQ − VIX spread
30.83
ROLLING OFF HIGH
DSPX − VIX spread
27.09
−11.5% · VIX SIDE
Term structure (front)
~0.6
FLAT · THIN
VIX − VIX9D spread
0.55
9D LED HIGHER
VVIX (level + ratio)
102.17
PUCKERING
VXN : VIX ratio
1.50
CONVERGING
VIX rank / percentile (1yr)
18.70
MID · RISING
The June Rhyme — Worth Checking
Early June ran a similar script: a wobble, correlation lifting off the floor, VIX pushing toward the low 20s, then a cool-off — and then a second leg down. In that episode COR1M traveled from roughly 6 up to the 17–18 area, so the full move was a near-tripling, not a couple of points.
Against that template, this move is early, not late. COR1M at 7.82 has covered a fraction of the June distance. History may not rhyme — but if it does, the cool-off comes before the second leg, and the cool-off is the part that feels like the all-clear.
🐐 In Plain Language
Three dials, one master read, and the needle moved left. The dispersion dial is the one that changed character: for weeks it read fragile-but-stable, because stocks were all moving on their own separate stories and that kept the index calm. That measure nearly doubled in one session. It is not fragile-and-stable anymore — it is starting to unwind.
What matters is the direction it unwound from. Individual stock volatility did not come down; the index came up to meet it. That is the market starting to move as a herd instead of a scatter. And it happened without anyone rushing to buy protection — the vol-of-vol dial is still puckered, which means the hedges people do own are bets on volatility jumping, not on stocks falling.
Bottom line: the thing holding the market quiet is loosening, and it loosened from the index side. Not a crisis — the level is still mid-range and nothing is panicking. But this is the first session of the cycle where the coil actually started to give, and a similar setup in early June had a cool-off before the second leg. Watch whether stocks keep moving together.