ACADEMY · DATA QUALITY

Why GEX Numbers Differ Between Platforms

· 6 min read DATA QUALITY FuturesETFs

Scope: measured on the futures contracts listed (ES, NQ, RTY, YM, GC, SI). Findings apply to the contracts measured and do not automatically transfer to ETFs or other instruments.

Two platforms can read the same option chain and print different gamma exposure totals without either making an arithmetic mistake. GEX is not a quantity the market publishes. It is a calculation assembled from several free choices, and two publishers who choose differently produce different numbers from identical inputs. If you check a gamma level before the open, this is why two sources can disagree about it, and which kind of disagreement you can safely ignore.

All 26 research notes

The general point is not controversial. SpotGamma's own documentation acknowledges that different providers can arrive at different gamma crossover levels. What is worth spelling out is where the divergence enters, because the entry points are few and each one changes the output in a predictable direction.

How is gamma exposure calculated?#

The standard construction works strike by strike. For each strike, take the option's gamma, multiply it by the open interest at that strike, by the contract multiplier, and by the underlying price. Apply a sign that reflects which side dealers, the market makers holding the other side of customer trades, are assumed to hold, conventionally positive for calls and negative for puts, then sum across strikes.

Every term in that sentence is a decision rather than a lookup. Gamma has to be computed from a pricing model fed a volatility and a spot price. Open interest has to be sampled at some moment. The sign has to be assumed. The multiplier and the final scaling determine what unit the total is expressed in. Two implementations agreeing on the formula can still disagree on all five.

Which position input belongs in the sum — open interest or volume?#

Open interest counts contracts still outstanding; same-session volume counts what changed hands today. Both are legitimate proxies for position, they answer different questions, and this choice typically moves the total by more than any other single decision. It can move the sign as well.

Open interest is a settled, exact figure that is stale by construction: it cannot see positions opened during the current session, which for same-day expirations is most of what exists. Volume is current but noisy, and it double-counts contracts that opened and closed within the day. The two series are not versions of one number. Gamma exposure has two common definitions works through the difference.

Which expirations are included, and how are they weighted?#

A GEX figure can cover the entire expiration stack, the nearest few expirations, or same-day expirations alone. Near-dated contracts carry far higher gamma per contract than distant ones, so narrowing the scope does not shrink the number proportionally. It changes which strikes dominate the total.

Weighting compounds this. Some constructions treat every included expiration equally; others scale by time to expiry or by the size of each expiration's open interest. A whole-stack figure and a same-day figure are different measurements wearing the same label, and putting them on one chart is a category error rather than a disagreement. Expiration scope is also the choice most often left off a published chart.

Which side are the dealers assumed to be on?#

Nobody publishes who is long and who is short at a strike. Open interest says how many contracts are open, not their direction. Every GEX figure therefore rests on an assumption, most commonly that dealers are short the calls investors buy and long the puts investors buy, or a variant inferred from whether trading there was buyer- or seller-initiated.

The assumption sets the sign convention, and two platforms with opposite conventions publish mirror-image charts. Those look like a data conflict and are not. Near the flip level, the price at which the summed exposure crosses zero, the assumption is doing most of the work.

Which price and volatility inputs feed the gamma?#

Gamma comes out of a pricing model, and the model needs a volatility and an underlying price. The volatility can be the exchange-settled implied volatility from the prior close or a live surface rebuilt through the session. The price can be the cash index, its last trade, the bid-ask mid, or a futures-implied level.

Each choice shifts every strike's distance from spot, which moves both the magnitude of the total and the location of the flip. A stale-volatility version and a live-volatility version of the same formula are comparable only at the moment the stale input was taken.

How is the total scaled, and when was the chain sampled?#

Two mechanical choices remain. The contract multiplier and the notional convention decide the unit: exposure per one-point move in the underlying and exposure per one-percent move differ by roughly the underlying's price divided by one hundred, so the same position can be quoted as two numbers of very different size. Neither is more correct.

Snapshot timing is the last one. A chain read at the open, at midday and near the close describes three different books. Platforms that publish once a day and platforms that recompute continuously will disagree for that reason alone, before any of the choices above are considered.

Choice What it changes in the printed number
Position input: open interest or volume Magnitude, and often the sign
Expiration scope and weighting Which strikes dominate; whole-stack and near-dated are different measurements
Dealer sign convention The sign, and therefore the flip location
Volatility and price inputs Every strike's gamma; the flip level moves with them
Multiplier and notional scaling The unit, and so the apparent size
Snapshot timing Which book is being described at all

Why does one platform's own number change between morning and afternoon?#

Because its inputs update on different clocks. Exchange open interest settles once a day, after the session, so the position input can sit unchanged while implied volatility and spot move continuously through the day and pull every strike's gamma with them.

Expirations add a step change. Contracts that expire at the close leave the calculation afterwards, and the strikes that dominated the total before a large expiration can carry much less after it. A screenshot taken in the morning and one taken in the afternoon can differ substantially with no error in either. Comparing two platforms through screenshots taken minutes apart stacks plain time drift on top of the specification differences.

What should a reader do with two numbers that disagree?#

Read the methodology note before treating the gap as information. The two questions that settle most confusion are which position input the series uses and which expirations it covers. A chart that states neither is not comparable to another chart.

Compare levels rather than magnitudes. The high-open-interest strike locations survive the scaling, volatility and sign choices, because they are the same strikes whatever unit the total is expressed in; they do not survive a change in expiration scope, which decides which strikes are counted at all. Magnitudes survive none of it. And treat the sign as the least stable output near the flip, since that is exactly where the dealer assumption dominates a total close to zero.

How would this be measured properly?#

Hold the option chain fixed, then vary one choice at a time and record how far the total and the flip level move. That isolates each degree of freedom instead of measuring their sum, which is what a naive platform-versus-platform comparison does.

The control matters. Levels near the current price are touched constantly simply because price is near them, so any claim that one construction locates a more meaningful level than another has to beat a randomly chosen nearby strike, measured the same way over the same sessions. Without that control, a construction that merely sits closer to spot will look better than one that does not.

Limits#

This note describes how the disagreement arises, not how large it gets in practice. That is a separate measurement, and it depends on the instrument, the volatility regime and the window chosen, so a figure taken from one period should not be carried into another as a constant.

Nothing here says one construction is more correct than another. They answer different questions, and a series can be worth watching on its own terms while being useless as a check on a differently built series. But a series whose publisher will not state its position input and expiration scope cannot be checked at all, and that is a reason to stop paying for it. Overlaying two of them converts a specification difference into a false signal.

The six choices above are the ones that reliably move the number. They are not an exhaustive list of what an implementation can do differently.

See these levels on a live chart

Option-derived levels and futures tape on one timeline.