Six weeks ago market makers were long about $11bn of SPX gamma per 1% and the index was printing records. On Thursday they closed short, at the 3rd percentile of the last two years, with the shortest vega position in the record behind it. This is how the position got there, close by close and print by print.
The window starts at the September expiration. Market maker gamma climbed to the 87th percentile with the index at its high; the vega position was already short and getting shorter.
SPX cash close (top) and market maker gamma at spot, $bn per 1% move (bottom), one bar per close. Positive = market makers long gamma, hedging against the move; negative = short, hedging with it. Percentile labels mark readings at or beyond the 5th / 85th percentile of the last two years of proprietary data (517 closes).
From Sep 18 (SPX 7,650, gamma +5.4bn, about the median) the gamma reading climbed through the September monthly run to +11.2bn on Oct 5, with SPX at 7,774. The next day the index printed 7,819, the high of the whole window, and one-month skew sat at the 2nd percentile. Long gamma and cheap skew is a quiet tape by construction: market makers sell into rallies and buy declines, and nobody is paying up for the downside. The quiet is where the hedge went on.
VIX close (top) and market maker vega at spot, $mm per vol point (bottom). The vega position reached its most negative close in the record on Nov 5.
Between Oct 2 and Oct 13 customers built 51k Dec 31 puts for about $270M of premium. They held them through the vote and through the break.
Customer net position in the three Dec 31 lines (contracts) at each close, from the Cboe participant file. Market makers held the other side: short 33k across the three lines on Oct 13, and 28k short of the 7250s alone on Nov 6.
The buying came in 200 to 350 lot clips, in every 10-minute window from the open to the close, for a week: the 7300 puts on Oct 8 and Oct 9, the 7250s from Oct 9 to Oct 13, the 7650s alongside. It went into the quarter-end expiry, Dec 31, not the Dec 18 monthly, which is the tell that this was a year-end mark hedge rather than a trade on the vote. By the Oct 13 close customers were long 28k 7250s, 9.5k 7300s and 4.5k 7650s; Dec 31 skew had gone from 0.315 to 0.360 in a week and market makers were short 21k Dec 31 risk reversals.
What matters for the rest of the story is that the hedge stayed on. On Friday's close customers were still long 28k of the 7250s and 11k of the 7300s. The only line that moved was the 7650 put: added to into the vote (4.5k on Oct 13, 9.4k on Nov 4, 11k after Thursday), then half of it sold Friday morning (5.4k), worked in 727 prints on the tape, the largest 158 lots. The October hedge was the hedge that paid, and the people who owned it kept it.
SPX -1.1%, VIX 15.27 to 16.85. The flow inside a week, the flow in the 46-to-180 day tenor and the skew flow were three separate things.
| Tenor | Calls, customer net | Puts, customer net | MM gamma taken | MM vega taken | Read |
|---|---|---|---|---|---|
| <=7d | +3639 | +2954 | +0.17bn | -0.2mm | 0DTE 7575 P sold 16k into the low; gamma both ways |
| 8-21d | +2319 | -3043 | -0.32bn | -1.6mm | puts offered by customers, firm accounts bought downside |
| 22-45d | -1082 | -3281 | -0.15bn | -2.3mm | puts offered; Nov 13 6675/6725 put spread sold 10.9k |
| 46-180d | +16060 | +2399 | -0.30bn | -12.3mm | one-sided call buying, 18.8k of it >10% OTM |
| 181d+ | +5426 | -2649 | -0.14bn | -11.7mm | calls bought, longer puts sold |
Customer net contracts traded on Oct 14 (Oct 13 close to Oct 14 close) by tenor and side, with the gamma and vega market makers took on in their own sign. Firm-account flow and the full print list are in the Oct 15 session record.
Inside a week: customers sold 16k 0DTE 7575 puts into the low (2.6k at 1:40, 8.5k at 2:00, 3.0k at 2:10) and bought the Oct 16 7750 straddle; market makers ended long 17.5k of the 7575s. Gamma both ways, netting to almost nothing. 46 to 180 days: one-sided call buying, +16k net, 18.8k of it more than 10% out of the money: Dec 8550 calls 7.4k, Jan 8700 calls 6k at $4.25, Mar 8575 calls 3.9k in one clip, Feb 9600 calls 4k in one clip, 24% out. Market makers took -15mm of vega on that tenor's calls alone.
Skew: the price of skew re-marked bid at every tenor (Oct 16 Mixon 0.146 to 0.295, Oct 30 0.267 to 0.329, Nov 20 0.328 to 0.372) while the flow sold it. The market maker 25-delta risk-reversal count went from 20k to 38k; 28k of that was the re-mark and +7.9k came from trades. Greeks with the trades held out: gamma +6.4bn to +4.4bn (-3.4bn the Oct 14 expiry settling, +2.0bn the re-mark, -0.6bn trades); vega -202mm to -233mm, -21mm of it trades. The greeks moved on the move, not on the trades.
From Oct 16 opex through the Oct 27 close the long gamma leaked out and the vega position sat at the 1st or 2nd percentile.
Change in market maker gamma at spot from each close to the next, split three ways: the expiry settling at the close (gray), the surviving position re-marked at the new spot, vol and time (orange), and the day's trades (blue). Sessions without a bridge: none in the window.
Opex on Oct 16 settled and the position closed +2.2bn; 1M skew printed 0.439 that day, the window's high until the break. Oct 22 (SPX -1.2%) was the first negative gamma close since the September Fed meeting, -0.2bn. Over the whole six weeks, close to close, expiries carried away -88bn of long gamma, trades put +65bn back and the spot and vol re-mark added +27bn. Customers were selling short-dated gamma to market makers continuously, and it kept expiring.
The same split for vega, $mm per vol point. Over the window the trades took the market maker vega position -122mm shorter; the re-mark gave back +29mm and expiries -30mm. Customers kept buying vega from market makers the entire way down.
Mixon 25-delta skew by constant-maturity tenor at each close (put vol over call vol, forward-consistent solver). The 1M measure went from the 2nd percentile on Oct 6 to 0.439 on Oct 16, came in to 0.337 by Nov 4 and printed 0.462 on Nov 5.
The Oct 30 month-end expiry put +4.5bn of long gamma into the position through trades in one session and took it out the next, on a -1.8% day.
Into the Fed the gamma profile crossed zero four times inside 4%; at the Oct 28 close it was one long band from 7,471 to 7,945, most of the change from trades after the 2 PM statement. On Oct 29 the reading jumped to +6.2bn, almost all of it the Oct 30 month-end expiry (the 1-7 day tenor went +2.7 to +6.6bn). The same session carried the vega line of the window: customers paid $28.50 on 16.7k Mar 31 5500 puts at 1:50 PM, a 4-delta put, where market makers sold the skew (short 7.3mm vega). On Oct 30 SPX fell -1.8%; the month-end expiry settled and the position closed +0.3bn. Nomura's table that afternoon had $45bn of SPX for dealers to sell at -2%. Close to close, the market maker hedge on our tape was +0.2bn of buying. The expiry did it: a gamma number without the expiry it lives in gets the sign of the hedge wrong on exactly the days it matters.
SPX one-minute path on Oct 30 from 12:50 to 2:40 PM ET. Horizontal lines mark the short strike of the Oct 29 7525/7425 put spread (11.5k, customers short the 7525s) as it was rolled down; numbered points are the 10-minute windows the rolls printed in (customers buying the old strike to close and selling the new one to open, in matched size).
Inside Oct 30 the roll chain is the cleanest picture of a short-put position being managed in front of the tape: 7525 to 7520 at 1:10 PM (10k, SPX 7,575 to 7,584); 7525 to 7515 at 1:20 PM (4.4k, SPX 7,574 to 7,579); 7520 to 7500 at 1:40 PM (6.8k, SPX 7,570 to 7,576); 7520 to 7500 at 1:50 PM (4.3k, SPX 7,566 to 7,578); 7515 to 7500 at 2:00 PM (1.2k, SPX 7,561 to 7,566); 7515 to 7500 at 2:10 PM (3.1k, SPX 7,557 to 7,562); 7500 to 7475 at 2:30 PM (24k, SPX 7,535 to 7,547). Every step kept the index 35 to 60 points above the short strike, and the distance shrank as the selloff sped up. The last window also carried 16.7k 7500 puts bought to open, which reads as a 7500/7475 put spread bought against the new short.
Nov 2: -1.3bn at spot and a record-short vega. Nov 3: -2.3bn, the 1st percentile of the last two years.
ES December, 5-minute closes from Nov 3 9:00 AM ET to the Nov 4 open. The dashed line is the Nov 3 cash close. ES fell 1.7% to the overnight low and opened 2.6% above it.
Two sessions of selling after the month-end took the position to its shortest gamma close of the window on the night of the vote: -2.3bn at spot with a single flip at 7,636, above the market. The vega position had printed its record short the session before (-264mm). Nothing about the overnight swing was a surprise given the shape: short gamma at spot means the market maker hedge moves with the index, in both directions, and the index swung 2.6% off its low before the cash open.
SPX +1.6%. Puts outside the 0DTE: 188k sold to close against 308k bought to open. The largest opening trade was a put spread sold 18 to 19% under spot.
SPX put volume on Nov 4 outside the 0DTE, by tenor, split into bought to open, sold to close, sold to open and bought to close (customer side of the Cboe participant file).
The relief rally was read on the street as hedges coming off. On the tape it was partial. Outside the 0DTE, customers sold 188k puts to close and bought 308k to open; they also sold 257k to open and bought 164k back. The biggest opening trade of the day was about 60k Dec 18 100-wide put spreads sold to open, 6150/6250 and 6200/6300, 18 to 19% under spot: both legs opening, the higher strike sold, so a credit spread against the tail, not a roll. Beyond 45 days customers closed more puts than they opened (36k vs 23k).
Upside came on as spreads: Dec 31 8450/8800 (24k) and 8500/9000 (21k), 10 to 17% out of the money, alongside Nov 20 7700/7800 (18k) and Dec 18 7950/8200. Net customer OTM calls across Nov 20, Dec 18 and Dec 31 were -26k. One-month skew came in from 0.398 on Oct 30 to 0.337 on Nov 4, the 83rd to the 47th percentile in three sessions. The position carried into Nov 4, re-marked at the day's spot and vol, needed about +8bn (21k ES) of market maker buying close to close; the day's trades added +0.5bn of gamma.
Market maker gamma by SPX level at the Nov 4 close (black) against the Nov 3 close (gray dashed). The shaded area is the part of the Nov 4 profile held in expiries inside a week, the Nov 5 expiry most of all: +10.8bn at 7,825, zero at 7,691, short at every level below spot to -5%.
This is the number that mattered on Thursday. At spot the position was flat (-0.05bn). Above spot it was long, +10.8bn at 7,825, and every bit of that sat in expiries inside a week: the Nov 5 expiry's long strikes (7,800 +5.1k, 7,830 +6.5k, 7,855 +3.2k against a short 7,805) were most of it. JPM's chartbook on Thursday afternoon drew a +12.5bn peak at 7,800 in the one-day-to-one-week tenor; that peak settled at 4 PM Thursday. Below spot there was nothing long: short at every level down to -5%, no flip.
| Move | SPX | ES to sell, static vol | ES to sell, vol responds | MM gamma there |
|---|---|---|---|---|
| -1% | 7,614 | 5,054 | 10,248 | -2.6bn |
| -2% | 7,537 | 13,143 | 21,242 | -2.7bn |
| -3% | 7,460 | 21,351 | 31,422 | -2.8bn |
| -4% | 7,383 | 30,825 | 42,093 | -3.4bn |
| -5% | 7,306 | 42,151 | 53,703 | -3.9bn |
Futures the market maker position would have needed to sell on the way down, re-marked line by line from the Nov 4 close: with vol held still, and with vol responding along the two-year spot-vol relation. Negative gamma at every level below spot means the hedge grows with the move.
Off the Nov 4 close, hedging the position on the way down meant selling about 13k ES at -2%, 31k at -4% and 42k at -5% with vol held still (more with vol responding). Thursday printed -4.36%.
SPX 7,689 to 7,354 (-4.36%), VIX 16.61 to 28.15. MM gamma +0.6bn to -1.5bn: re-mark -3.6bn, trades +1.5bn.
SPX one-minute path on Nov 5 with the Nov 4 close as the reference line. Numbered points are the print clusters listed below.
The gamma change on Thursday was the move: -3.6bn from re-marking the carried position at the new spot and vol, with the Nov 5 expiry leaving +0.87 of long gamma behind at the close. The trades went the other way, +1.5bn, and the two largest were customers closing call spreads they had held into the day: the Nov 13 7650/7850 (long 11.9k / short 13.2k into the day) at 1:20 PM and the Nov 20 7700/7800 (15.6k / 16.6k) at 1:30. Downside flow was smaller than the headline: Dec 18 7400 puts at the money (customers -1.2k to +3.7k, market makers short 9.5k from 3.3k), a Nov 20 6600/6100 put spread 20k a leg that crossed between customers and firm accounts with market makers barely in it, and the Mar 19 7350 puts where customers sold 6.9k of a long and market makers covered a short.
SPX put volume on Nov 5 outside the 0DTE, by participant and by open or close. SPX puts totalled 4.14mn contracts, 2.31mn of them 0DTE, of the 11.23mn Cboe reported across every index and equity option it lists (a record; the prior high was 10.22mn on Apr 4 2025).
The record put day, read from the participant file, was a churn more than a hedge build. Outside the 0DTE, customers opened 325k long puts and closed 276k; opened 305k short puts and bought back 232k. Firm accounts closed more long puts (109k) than they opened (92k). What did change was vega: -215mm to -283mm, -62mm of it the re-mark, the shortest close in 517 sessions, met by the second-largest one-day VVIX rise on record.
| House | Dealer gamma at spot | Method |
|---|---|---|
| BofA (Nov 5 close) | about -4.9bn per 1%, a one-year low, no flip 6,600 to 8,100 | hedgers = market makers + firm accounts, FLEX in, from the same Cboe participant file |
| JPM (Nov 5 afternoon) | about flat near 7,380, flip under ~7,350-7,400, +12.5bn at 7,800 | inferred from open interest; the 7,800 peak was the Nov 5 expiry |
| GS (Nov 2) | about -4.1bn, short at every level inside 10% | inferred from open interest, three sessions earlier |
| VolSignals (Nov 5 close) | -1.50bn per 1% (3rd percentile), short across +/-5%, no flip | market makers alone, every print with its participant, the 4:00 PM close |
| VolSignals (Nov 6 close) | -1.94bn per 1% (2nd percentile), flip 7,479 | the Nov 6 expiry settled holding +1.35bn; trades added +1.26 |
Dealer gamma for the Nov 5 break as three houses printed it, against the market maker number from the participant file. The street figures are paraphrased from their published notes.
Three houses printed a dealer gamma for Thursday and they disagree on sign, size and flip. Ours has the same sign as BofA at a third of the size, and the method is the difference: BofA builds from the same Cboe participant file but folds firm accounts and FLEX positions into one "hedger" line, where we show market makers alone, on a fixed 4:00 PM clock. JPM and GS infer dealer inventory from open interest, which is how a +12.5bn peak can be drawn in an expiry that settles the same afternoon.
SPX +0.31%, VIX 28.18 to 25.64. MM gamma -1.5bn to -1.9bn: the Nov 6 expiry settled holding +1.35bn, trades added +1.3bn.
Nov 20 7,100 put: 4,415 contracts printed at $37.90 at 9:56:08 against a 41.20 / 41.50 quote. The price was the market at 9:54, the morning high; 755 Dec 18 same-strike combos crossed in between (firm accounts sold, market makers bought). A crowd trade, hedged, reported two minutes late. Customers closed half of a long (11.0k to 5.5k).
SPX one-minute path on Nov 6 with the Nov 5 close as the reference and the gamma flip at the close (7,479). Points: the 9:56 floor print, the Dec 31 7650 put sale (10:00), the Sep 2027 8600 call sweep (10:05), the Nov 9 put ladder (10:14).
Friday's other prints read the same way as Thursday's: positions being managed rather than built. A 69-delta put, 3.7% above spot, 55 days out. Customers closed half of a long (10.7k to 5.4k); market makers covered a short from 10.1k to 4.8k: +0.23bn gamma and +5.4mm vega to their profile, the vega is what matters here. Customers added 15.7k to a short call spread they already held (10.4k to 26.1k a leg), 11% to 12% above spot, 175 days out, about $9 a spread. Market makers hold the other side; the legs offset, +0.02bn gamma and +1.5mm vega to their profile. A 19-delta call, 15.7% above spot, 315 days out: a vega line, not gamma. One sweep at 10:05, filled just under the ask. Professional customers opened 4.7k long from flat; market makers went from long 1.8k to short 3.0k: short 9.0mm vega, short 0.06bn vanna on it; delta -0.69bn, hedge buy ~1.9k ES. The vol came out: ATM -7.4 on Nov 9, -1.8 on Nov 20, with the Nov 9 95% put skew +2.4 and the 105% call +5.1.
The Nov 6 close against the last two years, and against the last three midterm cycles.
SPX indexed to the September expiration close for 2014, 2018, 2022 and 2026, sessions through year end (the first 60 sessions shown for the earlier cycles). Vertical dashes mark each cycle's election day. Same calendar as volsignals.com/midterm-spx.
The three previous midterm cycles each carried a drawdown of 7 to 10% from the September expiration close into the vote (2014: -7.4% on Oct 15; 2018: -9.8% on Oct 29; 2022: -7.6% on Oct 12). 2026 ran the other way first, +2.2% on Oct 6, went into the vote -1.1% and printed -3.9% two days after it. Whichever of those this turns out to be, the position says the same thing: short gamma at spot, so the market maker hedge moves with the index; a flip 7,479 above the market, so a rally back through it changes that; the shortest vega position in the record, so a vol event re-marks the dealer community in size; and vanna in the middle of its range, so the vol path does less to the hedge than the spot path does.
Market maker vanna at spot, $bn of delta per vol point, by close. Positive: market makers get shorter delta as vol rises. It spent early October near zero and sat between +1.0 and +1.6 from Oct 16 on.
ATM implied vol by constant-maturity tenor at each close, with the VIX close dashed.
This is the kind of read we do in VS Pro before the open: the market maker position by tenor, the prints behind every change in it, the hedge flows they set up and the levels that come out of that. volsignals.com/vs-pro
Positions: every SPX and SPXW print with the participant on each side (the Cboe open/close file), netted by strike and expiry, read at the 4:00 PM ET close. Market makers are shown alone; firm accounts, broker-dealers and customers are separate lines. Greeks are Black-Scholes on the close quotes, aggregated across the full position on an absolute SPX grid, so consecutive closes share nodes. "At spot" means the model spot at the close.
Percentiles: the reading against the last two years of proprietary data, 517 closes from Oct 24 2024; "1st percentile" means fewer than 1% of closes were lower.
Daily split: each close-to-close change is the expiry settling at the first close, plus the surviving position re-marked at the new spot, vol and time, plus the trades. The three add to the change by construction.
Tape: the Nov 6 prints are from the OPRA consolidated tape (Databento) with the quote at the print; participant and direction come from the Cboe file only. Street figures are paraphrased from the houses' published notes (BofA Systematic Flows Monitor, JPM US Equity Derivatives Strategy and gamma chartbook, GS positioning and vol updates, Nomura cross-asset notes). Not financial advice.