Is the dealer-gamma sign just the leverage effect?

Three books, 1,086 sessions, one control that separates them

Published 2026-08-24 · Sample SPX, 2022-04-14 to 2026-08-21, 1,086 sessions, 389,340 minute-observations · Read each book's net gamma at spot, every minute · Outcome realised volatility over the next 15 and 30 minutes · Status measurement, not a signal

Every dealer-gamma screen ever published rests on one sentence: when dealers are short gamma their hedging amplifies moves, and when they are long it damps them. The range version of that claim turned out to be the volatility level wearing a gamma label. This is the other version, and the better one: forget the day's range, ask about volatility itself. If the mechanism is real, the minutes that follow a short-gamma reading should be more volatile than the minutes that follow a long-gamma reading, starting from the same volatility.

They are. The effect is there in all three books the terminal draws, it is not small, and it survives a holdout. Then one more control is added — the obvious one, the one the claim has to survive to mean anything — and two of the three books lose it entirely.

The three books, and why there are three

"The dealer book" is not one number. The terminal publishes three, per minute, and they disagree about the sign of dealer positioning on a large share of the session:

bookconstructionshort gamma on
open interestcall-minus-put open interest × gamma — the convention every public screen uses43.8% of minutes
volumethe same convention applied to cumulative volume40.9%
measuredevery print signed off the tape against the prevailing quote11.7%

All three are read at the same minute, with no lookahead: open interest is fixed before the open, the volume and measured books accumulate only what has already printed.

The outcome, and the confound that comes with it

The outcome is realised volatility over the next 15 or 30 minutes — the standard deviation of the one-minute log returns that follow, in index points per minute. The window never overlaps the minute it is predicted from, and it never crosses the close.

The confound is that gamma and volatility are largely the same state seen twice, which is exactly what the range study found. So the raw comparison is reported first, because it is the number the folklore actually claims, and then taken apart.

next 30 minutes, points per minuteopen interestvolumemeasured
raw gap, short minus long gamma+0.491 ± 0.059+0.218 ± 0.042+0.352 ± 0.077

Development sample, 1,046 sessions. Day-clustered: the session mean first, then the spread over sessions.

The ladder of controls

Each row adds one control and reports the coefficient on a short-gamma dummy in a regression of log forward volatility. The claim predicts it is positive.

30-minute horizonopen interestvolumemeasured
+ trailing realised volatility+0.0949 ± 0.0061+0.0394 ± 0.0051+0.0667 ± 0.0074
+ day and minute-of-day fixed effects+0.0415 ± 0.0128+0.0385 ± 0.0073+0.0528 ± 0.0103
+ the session's return, and the last 30 minutes'+0.0137 ± 0.0131+0.0093 ± 0.0081+0.0501 ± 0.0104
the same, on the 40-session holdout+0.0784 ± 0.0373+0.0291 ± 0.0288+0.2159 ± 0.0680

Standard errors clustered by session throughout. The holdout is the last 40 sessions, 2026-06-26 onward, and was scored once, at the end. Fixed effects are absorbed by two-way demeaning.

Row one. Trailing volatility alone leaves a large, wildly significant coefficient in every book. That is not yet a result: a short-gamma reading and a volatile tape arrive together, and one regression control does not settle which is doing the work.

Row two. Day and minute-of-day fixed effects remove two whole explanations at once. The day effect kills "short-gamma days are volatile days" — the comparison is now between minutes inside one session. The clock effect kills "the short-gamma reading sits late in the day, where volatility ramps anyway". Everything survives, and the volume and measured books barely move.

Row three is the one that matters. On a convention book, "short gamma" means spot has traded below the flip — and the flip normally sits about 75 points under spot. So the dummy partly encodes the market has fallen today, and falling markets are more volatile for a reason that has nothing to do with anyone's hedge: the leverage effect, known since Black in 1976. Day fixed effects cannot remove it, because inside a session spot goes below the flip precisely after a decline. Adding the session's return so far and the last 30 minutes' return does remove it — and the two public conventions collapse, from +0.042 to +0.014 and from +0.039 to +0.009, neither clearing two standard errors any more.

The measured book does not move: +0.053 to +0.050, and its holdout coefficient is the largest number in the table. Whatever its sign is tracking, it is not the market having gone down.

What that is worth, in size

The coefficient is on log volatility, so +0.050 is about 5% more realised volatility over the next half hour. Adding the sign to a regression that already knows the trailing volatility raises R² by 0.001 to 0.007 on a base of 0.68. Both facts belong in the same sentence: the effect is real and out-of-sample, and it is a small conditioning variable rather than something to trade.

What it does not say

It does not say the measured book is right and the conventions are wrong. It says the conventions' apparent power over forward volatility is mostly the market's own direction, and the measured book's is not. Two constructions can both be wrong about dealer positioning while one of them still correlates with something.

The measured book's sign is a coin flip per print. Scored against Cboe's own participant-tagged trades on a single session, the tape-signing rule classifies the initiator almost perfectly and the customer barely better than chance. That number is about one print. This page is about a book aggregated over a session, and the two are not the same claim — but a reader who takes this result as evidence that per-trade signing is accurate has read more into it than is here.

Volatility is not direction. Nothing on this page says which way price goes, and the site's direction tests have died four times. One horizon, one window — 2022 through 2026 — minute closes, and a 40-session holdout, which is 13,200 minute-observations but only 40 independent days. Nothing here is investment advice; see the Terms.

Reproduce it

No licensed data. Every finished session's JSON at https://gex.live/snapshots/YYYY-MM-DD.json carries minutes, spot, ngv_conv (the open-interest book's net gamma at spot) and ngv_meas (the measured book's) as aligned 390-element arrays; the volume book's twin is sec.ngv_volcp in the per-second block. The dates are at /sessions. One session, the whole construction:

pythonreproduce
import json, urllib.request, numpy as np, pandas as pd

d = json.load(urllib.request.urlopen(
    "https://gex.live/snapshots/2026-08-21.json"))       # ~7 MB, fetch sequentially
s = np.array(d["spot"], float)
g = np.array(d["ngv_conv"], float)                       # or d["ngv_meas"]
r = np.diff(np.log(s), prepend=np.nan)

H = 30
trail = pd.Series(r).rolling(30, min_periods=10).std().values * s     # points per minute
fwd   = pd.Series(r).rolling(H).std().shift(-H).values * s            # the NEXT H minutes
ret_d = np.log(s / s[0])                                 # the session's return so far
ret_30 = np.r_[np.full(30, np.nan), np.log(s[30:] / s[:-30])]

# per minute: log(fwd) ~ log(trail) + ret_d + ret_30 + 1[g < 0]
# pooled over every session, demeaned by day and by minute-of-day, standard errors
# clustered on the session. The coefficient on the dummy is the table above.

The three-book comparison needs all of them read at the same minute, which is the point — the disagreement between the books is not noise around one number, it is three different answers to "is the dealer short here". Session pages at /sessions state each day's levels in prose and the MCP server returns the same summaries.

Part of gex.live research. Measured on the free session archive; every session is free to replay.