DEV Community

Cover image for GEX on ES & NQ Futures: Live Gamma Exposure for E-mini S&P and Nasdaq
tomasz dobrowolski
tomasz dobrowolski

Posted on • Originally published at flashalpha.com

GEX on ES & NQ Futures: Live Gamma Exposure for E-mini S&P and Nasdaq

Gamma exposure on index futures has been a blind spot for almost every analytics vendor. Most "futures GEX" you'll see is really SPY or SPX gamma with the label swapped: the same equity chain, plotted on a futures chart. That isn't what we compute.

We compute it directly on the options-on-futures chains for the E-mini S&P 500 (ES) and E-mini Nasdaq-100 (NQ), priced against the live futures forward, with the right contract economics applied at every step.

This is the futures-specific companion to the general explainer, so it won't re-derive what GEX is. If you need that, start with What Is Gamma Exposure (GEX) Explained. What this covers is everything that changes once the underlying is a cash-settled index future instead of an equity or ETF: the pricing model, the multiplier, the basis, the symbology, and why ES dealer-gamma has to be read differently from SPY.

New: GEX, DEX, VEX and CHEX are now live for ES=F and NQ=F. They run through the same exposure endpoints you already use for equities, plus dedicated ES and NQ futures pages.

What Is Different About Futures GEX?

The mechanics of dealer hedging are identical to equities: long gamma dampens moves, short gamma amplifies them, the gamma flip marks the regime boundary, and call/put walls act as resistance and support. What changes on futures is the plumbing underneath the gamma number. Three things differ, and each one matters if you want the dollar figures to come out right.

1. The underlying is a futures price, not a spot price. ES and NQ are cash-settled index futures. The options are written on the futures contract itself, a live exchange quote off CME Globex, and that contract trades at a basis to the underlying cash index (SPX for ES, NDX for NQ). It isn't SPY, it isn't QQQ, and it isn't the cash index.

2. The options are priced with Black-76, not Black-Scholes on spot. Options on futures are forward-settled, so the right model is Black-76. It prices off the forward F rather than a spot that drifts at the risk-free rate. Run spot Black-Scholes on them and you mis-price every Greek that feeds GEX.

3. The contract multiplier is not ×100. Equity options control 100 shares. Index futures options carry the futures multiplier: $50 per index point for ES, $20 per point for NQ. Dollar gamma has to scale by that multiplier, or your GEX comes out wrong by a constant factor.

Black-76: Pricing Options on the Forward

For a futures option, the underlying the option references is the futures price F, which already embeds carry to expiry. Black-76 is the standard model for this. The European call price is:

C=erT[FN(d1)KN(d2)] C = e^{-rT}\left[\,F\,N(d_1) - K\,N(d_2)\,\right]

with

d1=ln(F/K)+12σ2TσT,d2=d1σT d_1 = \frac{\ln(F/K) + \tfrac{1}{2}\sigma^2 T}{\sigma\sqrt{T}}, \qquad d_2 = d_1 - \sigma\sqrt{T}

where F is the futures forward, K the strike, T the time to expiry, σ the implied volatility, r the risk-free rate, and N the standard normal CDF. The single discount factor e^(−rT) out front is what marks this as a forward model: the forward already carries the cost of carry, so there's no separate drift term inside.

The clean identity. Black-76 is just Black-Scholes with the substitution S = F and dividend yield q = r. Price, delta, gamma, vega, theta, vanna and charm all carry straight over; only rho differs. So the gamma feeding futures GEX runs on the same pricing core as our equity gamma. There's no separate, riskier re-derivation to get wrong.

Because a future's forward is just the future's own price, we pull the per-expiry forward from the chain by put-call parity, and where there's no pair to use, the fallback collapses to the futures price itself. Nothing applies an equity-style S·e^(rT) forward. What drops out is the real sensitivity of an options-on-futures position, not an approximation of one.

The Multiplier: Why ES Dollar-Gamma Scales by $50

Gamma per contract is a count of "deltas per point." To get dollar gamma exposure, the quantity GEX actually aggregates, you multiply that by open interest, by the underlying price (twice, for the dollar-per-1%-move convention), and by the contract multiplier. For equities the multiplier is 100. For index futures it's the contract's point value:

Contract Point value
ES (E-mini S&P) $50 / pt
NQ (E-mini NDX) $20 / pt
Equity option $100

The conceptual form of dollar gamma exposure at a strike is:

GEX=Γ×OI×Multiplier×F2×0.01×(dealer sign) \text{GEX} = \Gamma \times OI \times \text{Multiplier} \times F^2 \times 0.01 \times \text{(dealer sign)}

The multiplier isn't cosmetic. A $50 ES point value looks small next to the $100 of share exposure on an equity option, but the index sits at several thousand points and open interest piles into the front quarterly, so the dollar gamma on a single ES strike ends up large. Get the multiplier wrong and the whole dollar-GEX surface is mis-scaled by a constant. Flips and walls still land at the right strikes, but every notional and every dealer-hedging estimate is off. We thread the right multiplier through every aggregator (GEX, DEX, VEX, CHEX, max pain, dealer notional), so the dollar numbers are correct and not just the shape.

The same discipline applies to the micros, but the public futures pages cover the full-size ES=F and NQ=F contracts, which carry the deepest, most liquid options-on-futures chains.

Basis: Why ES Dealer-Gamma Reads Differently From SPY

SPY tracks the S&P 500 at roughly 1/10th the index, fully funded, with a continuous dividend yield. ES is a leveraged, financed exposure to the same index, and it trades at a basis to cash:

Basis=FS,Basis %=FSS \text{Basis} = F - S, \qquad \text{Basis \%} = \frac{F - S}{S}

where F is the ES future and S is the SPX cash index. A positive basis (contango) means the future trades above cash; a negative basis (backwardation) means below. The basis reflects financing minus dividends to the contract's expiry, and it drifts as the contract approaches its quarterly roll.

Which is why you can't just read ES gamma off a SPY chart:

  • The strikes live on the futures price. An ES call wall sits at an ES futures level, offset from the equivalent SPX level by the basis. Plot it against cash and you've put the wall in the wrong place.
  • The chains aren't the same product. ES options-on-futures, SPX index options, and SPY ETF options each have their own open interest, their own 0DTE behavior, and their own dealer positioning. They correlate, but the book that hedges ES is the ES options book.
  • The session is nearly 24 hours. ES trades CME Globex hours, so its gamma regime is live overnight and through the European session, when SPY is closed. The flip can get tested at 3 a.m. ET.

ES / NQ futures GEX vs SPY / QQQ ETF GEX

ES / NQ futures SPY / QQQ ETF
Chain Options-on-futures Equity options
Pricing Black-76 on the futures forward Black-Scholes on spot
Multiplier $50 (ES) / $20 (NQ) per point $100 per contract
Strikes On the futures price On the ETF price
Session ~23h Globex RTH
Settlement Cash index Physically settled shares + dividend yield

Symbology: ES=F and NQ=F

We serve the equity-index futures under the =F suffix, the same convention you already know from Yahoo Finance and most data tools:

Contract Symbol Cash index Multiplier Page
E-mini S&P 500 ES=F SPX $50 / pt /futures/es
E-mini Nasdaq-100 NQ=F NDX $20 / pt /futures/nq

Both resolve to the continuous front-month contract, so you always get the active, most-liquid expiry without having to track the quarterly roll yourself. The chain, quotes, open interest and exposure all flow through the same endpoints you'd use for any ticker. The only thing that changes is the symbol.

How To Get It: Endpoints and Pages

The fastest way to see it is the dedicated futures pages, which render the live GEX, key levels, basis, expected move and contract specs server-side:

  • /futures/es: live ES gamma exposure, levels, basis to SPX, and contract specs.
  • /futures/nq: live NQ gamma exposure, levels, basis to NDX, and contract specs.
  • /futures: the futures hub, both contracts side by side.

For programmatic access, the exposure endpoints take the futures symbol directly. The one thing to remember is to URL-encode the = as %3D, since a raw = can break path-segment routing:

# Live GEX on ES futures (note %3D for the '=')
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/exposure/gex/ES%3DF"

# And NQ
curl -H "X-Api-Key: YOUR_KEY" \
  "https://lab.flashalpha.com/v1/exposure/gex/NQ%3DF"
Enter fullscreen mode Exit fullscreen mode

The higher-order dealer-positioning surface is there for futures too. Delta, vanna and charm exposure use the same path pattern:

Endpoint What it returns for ES/NQ
/v1/exposure/gex/ES%3DF Per-strike gamma exposure, net GEX, gamma flip
/v1/exposure/dex/ES%3DF Per-strike delta exposure (DEX)
/v1/exposure/vex/ES%3DF Per-strike vanna exposure (VEX)
/v1/exposure/chex/ES%3DF Per-strike charm exposure (CHEX)
/v1/exposure/levels/ES%3DF Gamma flip, call wall, put wall, max-gamma strikes

The response schema is identical to the equity exposure endpoints, so any code or dashboard you already built against /v1/exposure/gex/SPY works against ES%3DF by swapping the symbol. See the API documentation for the full field reference.

If a request comes back with a 404 or an empty body, the usual culprit is an un-encoded =. Always send ES%3DF / NQ%3DF in the path. Most HTTP clients and SDKs handle this for you with standard URL-encoding.

How It's Computed

The pipeline that produces ES and NQ gamma exposure is the equity pipeline with futures-correct economics threaded through it, not a parallel approximation.

  1. Ingest the options-on-futures chain. CME equity-index futures and their option chains land in the same option store under the futures root (ES, NQ), so the API serves them like any other ticker. Chain, quotes and open interest all resolve through the standard endpoints.
  2. Resolve the live forward. The underlying is the futures price from the exchange feed. A per-expiry forward is derived from the chain by put-call parity; the no-pair fallback collapses to the futures price itself (a future's forward is its own price).
  3. Price with Black-76. Every option's implied volatility and Greeks are computed on the forward using Black-76 (Black-Scholes with S = F, q = r). Gamma, delta, vanna and charm all come out of this single pricing core.
  4. Stamp the contract multiplier. Each Greeks snapshot carries the contract's multiplier ($50 for ES, $20 for NQ) instead of the equity default of 100. The multiplier flows with the data into every aggregator.
  5. Aggregate dollar exposure with the dealer convention. Per-strike gamma is signed for the standard dealer book (short the options customers bought), scaled by OI and the multiplier, then summed into net GEX, the gamma flip and the call/put walls. DEX, VEX and CHEX come out of the same machinery.

Because the futures path reuses the proven equity core under one clean substitution, the gamma is computed exactly the way it always has been. Only the forward, the model variant and the multiplier change. What you get is real options-on-futures dealer gamma scaled in actual dollars, not equity gamma wearing a futures label.

Reading ES and NQ Gamma in Practice

The interpretation rules carry over from the general GEX explainer, but a few futures-specific habits pay off:

  • Watch the flip overnight. ES gamma is live through the Globex session. A negative-gamma regime that gets tested at 4 a.m. ET on a macro headline behaves just like an intraday test, with the same amplified, trendy moves, hours before SPY opens.
  • Translate walls through the basis. If you trade ES off a SPX-quoted level, add the current basis to put the level on the futures price. The futures pages show the live basis so you don't have to do it by hand.
  • Compare ES and NQ regimes. The two contracts can sit in different gamma regimes (NQ short-gamma while ES is pinned, say). That divergence is itself a signal about where dealer hedging will add stress.
  • Use the cash cross-links. The futures pages cross-link to the SPX and NDX cash pages, so you can see the futures dealer book and the index dealer book together.

FAQ

Does FlashAlpha compute GEX on ES and NQ, or approximate it from SPY/QQQ?
It computes GEX directly on the ES and NQ options-on-futures chains. Options are priced with Black-76 on the live futures forward, and dollar gamma is scaled by the real contract multiplier ($50/pt ES, $20/pt NQ). It isn't SPY or QQQ equity gamma relabeled.

Why Black-76 instead of Black-Scholes?
Options on futures are written on the futures price, which already embeds carry to expiry, so the right model prices off the forward rather than a drifting spot. Black-76 is equivalent to Black-Scholes with S = F and q = r, so price, delta, gamma, vega, theta, vanna and charm all carry over; only rho differs.

How does the contract multiplier affect dollar GEX?
Dollar gamma exposure scales by the multiplier. Equity options use ×100; ES uses $50/pt and NQ $20/pt. Using ×100 on a futures chain overstates the dollar exposure by a constant factor.

What is the futures basis?
The basis is F − S, the difference between the futures price and the cash index (SPX for ES, NDX for NQ). It reflects financing minus dividends to expiry and drifts toward zero into the quarterly roll. Because ES strikes and walls live on the futures price, they're offset from the equivalent cash levels by the basis.

How do I get live GEX for ES and NQ?
Use the /futures/es and /futures/nq pages, or call GET https://lab.flashalpha.com/v1/exposure/gex/ES%3DF (URL-encode the = as %3D). DEX, VEX, CHEX and key levels use the same path pattern.


Live ES & NQ gamma exposure: flashalpha.com/futures. API docs: flashalpha.com/docs. Originally published on the FlashAlpha blog.

Top comments (0)