GEX Futures Trading: Mapping SPX Levels to ES and NQ
The gamma exposure levels you see published are computed on an options underlying — SPX, SPY, NDX or QQQ — not on the ES or NQ contract you actually trade. GEX futures trading therefore begins with a transposition: moving a modelled level onto ES or NQ, and knowing exactly which assumptions travel with it.
Senzoukria · Learn · Updated September 2026
If you already know what gamma exposure measures and how it is calculated, one step is usually missing before it touches a futures chart. The calculation happens on an options underlying; the contract on your screen is a different instrument, quoted at a different price, with its own tick. This page is about that gap — the transposition — and what it costs.
Published gamma levels are computed on an options underlying, not on the futures contract
Gamma exposure is derived from an options chain, so it exists only where options exist. The chains behind the GEX figures in circulation are the index and ETF ones: the S&P 500 index (SPX), the SPY ETF, the Nasdaq-100 index (NDX) or the QQQ ETF. Gamma itself is the rate at which an option’s delta changes as the underlying moves — the Options Industry Council describes the Greek — and the exposure figure scales it by assumed positions.
E-mini S&P 500 (ES) and E-mini Nasdaq-100 (NQ) futures are not the underlying of those chains. CME lists separate options on the futures themselves, but the GEX levels people quote are not built from them: they come from the index and ETF chains, while ES and NQ track the same indices and often serve as the hedging instrument. So when a dashboard draws a call wall on an ES chart, a mapping has already happened, whether or not it was made explicit. The honest way to read that line is: a level modelled on SPX, expressed in ES terms under a stated conversion.
Mapping an SPX or SPY level onto ES: the basis
The conversion from an index level to a futures price is the basis: the difference between the futures price and the cash index at the same instant, which reflects financing cost minus expected dividends and converges toward zero at expiry. In practice:
- Read the modelled level on its own underlying, with its units and timestamp.
- If the level came from SPY, convert to index terms first. SPY tracks the S&P 500 at a fraction of the index level, but that ratio is not a fixed constant — it drifts with distributions and tracking. Measure it from the two live quotes instead of hard-coding a divisor.
- Measure the basis from the live futures quote and the live index value, at the same moment.
- Add the basis to the index level, then round to the contract tick.
Three assumptions ride along, and each can break independently. First, the basis is not a constant: it moves with rates and dividend expectations, and it jumps at the quarterly roll, when the front month changes and the same index level suddenly corresponds to a different futures price. Second, SPX and SPY options are not the same instruments — one is cash-settled on the index, the other exercisable into ETF shares — so their chains carry different positioning and are not interchangeable inputs. Third, rounding is destructive: a price rounded to the tick has discarded the sub-tick part of the mapping.
The practical consequence: a gamma level transposed onto ES is a zone whose width is set by your basis uncertainty plus the tick, not a price. Draw it as a band, and say how wide the band is.
NQ gamma levels: NDX, QQQ and a different rounding error
The same exercise applies to the Nasdaq-100, with two differences worth stating. The underlying is NDX, or QQQ if you use the ETF chain, and the index-to-ETF relationship is specific to that pair — reusing the S&P ratio here is simply wrong. And because the Nasdaq-100 trades at a far higher index level than the S&P 500, one ETF cent corresponds to a larger number of index points, so a level derived from QQQ arrives with coarser resolution than the same level derived from NDX.
The contract side differs too. ES carries a 0.25-point tick on a multiplier of 50, which puts one tick at $12.50; NQ carries the same 0.25-point tick on a multiplier of 20, so one tick is $5.00. Those figures come from the CME contract specifications — read them there before sizing anything, since the exchange is free to change them. The tick does not change the mapping, but it changes what a mis-mapped level costs when the stop sits two ticks away.
| Traded contract | Options underlying | Crossings required | Main source of error |
|---|---|---|---|
| ES (E-mini S&P 500) | SPX | Index → futures basis, then tick rounding | Basis drift and the quarterly roll |
| ES | SPY | ETF → index ratio, then basis, then tick rounding | Two conversions compounding; different chain, different positioning |
| NQ (E-mini Nasdaq-100) | NDX | Index → futures basis, then tick rounding | Basis drift and the quarterly roll |
| NQ | QQQ | ETF → index ratio, then basis, then tick rounding | Coarse resolution: one ETF cent spans several index points |
What a modelled level implies for executions, and what it does not
A gamma level is not an order in the futures book. It is the output of a model applied to an options chain under positioning assumptions. Nothing is resting at that price because of it, and nothing is obliged to happen when price arrives.
What the level can legitimately do is tell you where to look. What it cannot do:
- It does not show resting size. Displayed liquidity is what a depth-of-market ladder and a liquidity heatmap show, from the futures book itself.
- It does not identify a print as a hedge. A large execution near a wall is a large execution near a wall. The footprint records aggression and price response; it cannot attribute a trade to a dealer.
- It does not carry direction. As the guide to gamma walls and the zero-gamma flip both set out, the hedging story is conditional on positions, expiry scope and volatility — and other flows can overwhelm it.
The usable workflow is narrow: mark the mapped band before price reaches it, then read what actually happens there on the footprint — volume, imbalance, whether price stalls or goes through. The level proposes a place; the tape is the evidence.
Timestamps that decide whether the level is usable
A gamma level inherits the age of the worst input that went into it. Three clocks matter, and they are rarely the same clock.
| Input | What to check | Failure it causes |
|---|---|---|
| Open interest | Generally an end-of-day figure, not a live one | Intraday positioning changes are invisible; the level describes yesterday |
| Option quotes | Real-time or delayed, and by how much | Gamma computed on stale prices; a delayed chain presented as live |
| Basis measurement | When the futures and index quotes were read, together | The mapped price silently drifts as the basis moves |
Same-day expiries make this sharper rather than different. When a large share of the chain expires within the session, the exposure profile changes fastest exactly when the open-interest column is least current. That is an argument for treating those levels as provisional and writing down the timestamp, not for discarding them.
A worked mapping example, on simulated data
The following numbers are invented for the demonstration. They are not market data, not a recorded session and not a recommendation; they exist only to make the arithmetic explicit.
- A call wall is modelled at index level 5,000.00 on the SPX chain, whose open-interest column is dated the previous close.
- At the moment of reading, the front-month future quotes 5,012.75 while the cash index prints 5,002.00: the measured basis is +10.75 points.
- Mapped level = 5,000.00 + 10.75 = 5,010.75, which already falls on a 0.25 tick.
- Basis uncertainty is stated as ±1.00 point, so the level is drawn as a band from 5,009.75 to 5,011.75, not as a line.
- The band is logged with its three timestamps and observed on the tape, with no pre-committed action.
Note what the example does not produce: no entry, no target, no expected outcome. It produces a band and a set of timestamps.
Checking a mapping before relying on it
- Round-trip the conversion. Take the mapped futures price, subtract the basis you used, and confirm you land back on the published index level. If a dashboard cannot tell you which underlying and which basis produced its line, you cannot run this test — and that itself is the finding.
- Re-measure the basis across the session. Read it at the open, mid-session and before the close, and again after a roll. The spread of those readings is the width of your band; if it is wider than your stop, the level is not precise enough for the way you intended to use it.
- Count the failures, not only the reactions. Record every session where price reached the band, including the ones where nothing happened, using a rule written in advance. The futures backtesting checklist covers costs and chronological validation.
How Senzoukria shows it
Senzoukria is a native Windows desktop application, with macOS and Linux builds in beta. The GEX workspace renders gamma by strike, call and put concentrations, the zero-gamma level and the VEX, CEX and DEX views, each shown with the freshness of the chain behind it. Two points matter here:
- The GEX views are conditional on an options source. They read the chain from a provider you configure — Tradier, Alpaca (delayed), Market Data or Databento — and that source is separate from the futures connection used for the chart and the tape (Rithmic, or Databento for CME data). Market-data entitlements and fees belong to those providers and are separate from the software subscription.
- Nothing routes an order from a level. A mapped band is a drawn reference. Automated execution only exists through an autopilot that a human arms explicitly, and it is never armed by a gamma reading.
On the futures side, the same window carries the bid × ask footprint, the liquidity heatmap and the DOM, which is where the observation actually happens — see footprint software with a GEX view for how the two sit together in one workspace. Public demonstrations on the site run on generated data. Pricing is $9 for the first month, then $29, and does not include any market-data subscription.
Common mistakes
- Treating the index level as the futures price. Drawing 5,000 on ES because the model said 5,000 on SPX omits the basis — a systematic offset, not noise.
- Hard-coding an ETF divisor. The SPY–SPX and QQQ–NDX ratios drift; a constant taken from a forum post ages quietly and never announces it.
- Forgetting the roll. On roll day the basis changes and every previously mapped level is wrong until re-mapped.
- Mixing chains. SPX-derived and SPY-derived levels are different measurements and should not be averaged or overlaid as if they were one.
- Calling a level live when the open interest is not. The label has to match the worst input, not the best one.
Key takeaway: the gamma levels in circulation are computed on SPX, SPY, NDX or QQQ, and reach ES or NQ through a conversion you should be able to write down — basis, ETF ratio where relevant, tick rounding, and the timestamp of every input. State the band and its width, then let the footprint and the book decide what happens there.
Frequently asked questions
- Can you compute GEX directly on ES or NQ futures?
- Not from the futures contract itself: gamma exposure is derived from an options chain. CME does list options on the ES and NQ futures, but the GEX levels circulated publicly are built from the index and ETF chains — the S&P 500 index, the SPY ETF, the Nasdaq-100 index or the QQQ ETF. A level shown on an ES or NQ chart has therefore been transposed from one of those underlyings, under a conversion you should be able to state.
- How do you convert an SPX gamma level into an ES price?
- You add the futures basis: the difference between the futures price and the cash index at that moment, which reflects financing minus expected dividends and shrinks toward expiry. Measure the basis from live quotes rather than assuming a fixed offset, then round the result to the contract tick. The mapped price is only as current as the basis measurement behind it.
- Do NQ gamma levels work the same way as ES?
- The method is the same for ES and NQ, but the arithmetic is not. NQ tracks the Nasdaq-100, so its levels come from NDX or QQQ, and the index-to-ETF ratio differs from the S&P 500 case. Because the Nasdaq-100 trades at a much higher index level, one ETF cent maps to a larger number of index points, so QQQ-derived levels arrive with coarser resolution.
- Does a gamma level tell you where futures orders are resting?
- No. A gamma level is a modelled quantity built from an options chain and positioning assumptions; it is not an order in the futures book. Resting size is what a depth-of-market ladder or a liquidity heatmap shows, and executed aggression is what a footprint shows. Treat the gamma level as a place to look, and read the tape to see whether anything happens there.
- What data do you need for GEX on futures?
- Two separate things: a futures connection for the chart and the tape, and an options chain for the gamma model. They are different sources with different entitlements and, in most cases, different fees. A futures feed alone cannot produce gamma exposure, which is why the GEX view is conditional on an options source being configured.
- How stale can an options chain be before a level stops being usable?
- There is no universal threshold, but two timestamps decide it: the age of the open-interest column, which is generally an end-of-day figure rather than a live one, and the delay on the quotes used to compute gamma. Record both next to any level you rely on. A level that is described as live while resting on yesterday’s open interest is mislabelled, not merely late.