GEX

GEX data: see how dealers are positioned before the market opens

FinzData GEX measures dealer gamma exposure every trading day for 11,200+ US stocks, ETFs and the major indexes (SPX, NDX, RUT, VIX, XSP, DJX), from January 2010 to the latest close. Every row is stamped with the time it became known, so you can trade it today and backtest it honestly across 16 years, delisted names included.

Get a free API key See pricing Download free samples

What GEX tells you

Options dealers hedge the contracts they sell. When they are long gamma, their hedging runs against the market: they sell into strength and buy into weakness, which damps volatility and pins prices near large strikes. When they are short gamma, their hedging runs with the market: they sell as prices fall and buy as they rise, which accelerates moves in both directions.

Gamma exposure (GEX) puts a number on that hedging pressure. It tells you, before the open, whether the market's largest liquidity providers are likely to absorb a move or feed it, where that behaviour switches (the gamma flip), and where the heaviest strikes sit (the call wall and put wall).

The data, field by field

FieldWhat it isHow traders read it
net_gex_bnDealer net gamma, $bn per 1% moveAbove zero, dealers are long gamma: they sell rallies and buy dips, damping moves. Below zero, they are short gamma: they sell into falls and buy into rallies, amplifying moves
call_gex_bn, put_gex_bnGamma from calls and from putsWhich side of the book drives the hedging
flipGamma flip: the price where net dealer gamma crosses zeroAbove it, markets tend to pin and mean-revert; below it, moves tend to run
call_wall, put_wallStrikes with the largest call and put gammaCommon resistance and support, and pin targets into expiry
call_oi, put_oi, pcr_oiOpen interest and the put/call open interest ratioWhere positioning sits and how defensive it is
atm_iv_pctAt-the-money implied volatilityThe price of protection on the same date
spot, n_contractsUnderlying price used, contracts in the calculationContext and data depth for each row
knowledge_time, source, sign_convWhen the row became known, how it was produced, the dealer sign conventionThe audit trail that makes a backtest honest

Coverage: 11,200+ tickers, about 17.8 million daily rows from January 2010 to the latest close, including companies that were later delisted, acquired or went bankrupt. Index GEX (SPX, NDX, RUT, VIX, XSP, DJX) is computed from the index option chains themselves, not from an ETF proxy. Read the full method on the point-in-time GEX dataset page.

How traders use GEX

  • Read the market's positioning each morning. Is the dealer book long or short gamma in SPX, QQQ or your stock? How far is price from the gamma flip? A market far above its flip behaves very differently from one trading just below it.
  • Size risk to the regime. Across 4,223 SPY sessions since January 2010, next-day moves averaged 0.90% after short-gamma closes against 0.46% after long-gamma closes (the study). Short gamma calls for smaller size and wider stops; long gamma favours mean reversion and premium selling.
  • Trade the walls. Use the call wall as resistance or a pin target into monthly expiry, and the put wall as support. A clean break through a wall while dealers are short gamma is where squeezes and air pockets start.
  • Screen the whole market. Rank 11,200+ names by net GEX, distance to the flip or put/call open interest to find stocks where dealer hedging can drive the next move, on the long and the short side.
  • Time options trades. Pair the dealer regime with at-the-money implied volatility: selling premium in long-gamma, high-IV names; buying convexity in short-gamma names before catalysts.

Hedging flows during shocks

Shocks are where GEX earns its keep. When a sell-off pushes an index below its gamma flip, dealers move from absorbing the decline to selling into it, and the hedging flow can turn an ordinary drawdown into a cascade. When the shock passes and put open interest rolls off, dealer gamma can swing back to long, and volatility collapses as quickly as it rose.

Because the history is point-in-time and goes back to 2010, you can study exactly how dealer positioning looked going into every stress episode of the last 16 years, from the 2011 debt-ceiling sell-off and August 2015 to March 2020, the 2022 bear market, August 2024 and April 2025, and test whether the same signals would have warned you, using only what was known each morning.

Built for honest backtests

  • Point in time. Each row carries a knowledge_time and uses only option data from its own session, so a backtest only sees what traders could see.
  • Survivorship-free. Delisted names stay in the history, so a screen that would have picked a stock that later failed still picks it.
  • One method, stated openly. Every row uses the same engine and says so: dealers are assumed long calls and short puts (sign_conv = calls+,puts-), and the source of each row is labelled.

GEX in Python

import finzdata as yf                      # pip install finzdata

spy = yf.gex("SPY", start="2010-01-01")      # one row per session, point-in-time
spy["regime"] = (spy["net_gex_bn"] > 0).map({True: "long gamma", False: "short gamma"})
spy["to_flip_pct"] = (spy["spot"] / spy["flip"] - 1) * 100
print(spy[["date", "regime", "to_flip_pct", "call_wall", "put_wall"]].tail())

spx = yf.gex("SPX", start="2020-02-01", end="2020-04-30")   # dealer positioning through March 2020

Import GEX into QuantConnect

FinzData ships ready-made LEAN custom-data classes, so GEX streams into a QuantConnect backtest or live algorithm like any other data feed:

  1. Download finzdata_qc.py and add it to your QuantConnect project.
  2. Add a project parameter named finzdata-api-key with your FinzData key.
  3. Subscribe with add_data(FinzDataGex, ticker). Each bar is stamped 17:00 New York on its session date, after the close, so the algorithm trades on it from the next session.

The full walkthrough is on the FinzData with QuantConnect page.

QuantConnect example

from AlgorithmImports import *
from finzdata_qc import FinzData, FinzDataGex

class GammaRegime(QCAlgorithm):
    def initialize(self):
        self.set_start_date(2012, 1, 1)
        FinzData.set_api_key(self.get_parameter("finzdata-api-key"))
        self.spy = self.add_equity("SPY", Resolution.DAILY).symbol
        self.gex = self.add_data(FinzDataGex, "SPY", Resolution.DAILY).symbol

    def on_data(self, data):
        if not data.contains_key(self.gex):
            return
        g = data[self.gex]                       # g.value = net_gex_bn; g["flip"], g["call_wall"], g["put_wall"]
        long_gamma = g.value > 0
        self.set_holdings(self.spy, 1.0 if long_gamma else 0.5)   # smaller size when dealers are short gamma

For AI agents

Connect Claude, ChatGPT or Cursor to the FinzData MCP server at api.finzdata.com/mcp and ask in plain English: "Which large caps are trading below their gamma flip this morning?" The get_gex tool takes an as_of date, so an agent backtesting a gamma rule cannot peek at the future.

Plans and pricing

PlanWhat you getPrice
FreeLast 30 days of daily GEX for every ticker, 1,000 API calls a day$0Free key
One tickerDaily GEX history for one stock, ETF or index as a file: 5 years for $19, the full history since 2010 for $49From $19Buy a ticker
GEX CompleteEvery US stock, ETF and major index, 2010 to today, through the API, the Python client, QuantConnect and the MCP server. Add it to a look-back bundle or a shop order for $195$295Buy GEX Complete
InstitutionalEverything FinzData has, plus per-strike gamma profiles and every raw option chain since 2010$975Buy Institutional

Everything you buy is yours to download as CSV or Parquet and keep. GEX is sold separately from the price-data bundles.

Frequently asked questions

What is GEX?

Gamma exposure: the total gamma options dealers hold, in dollars per 1% move in the underlying. It estimates how much dealers must buy or sell to stay hedged, and whether that hedging damps or amplifies price moves.

What does it mean when dealers are short gamma?

Their hedging moves with the market: they sell as prices fall and buy as they rise, so moves tend to be larger and trends can accelerate. Long gamma is the opposite: hedging leans against moves, so prices tend to pin and mean-revert.

How far back does FinzData GEX go?

January 2010 for every optionable US stock and ETF with options data, and for SPX, NDX, RUT, VIX, XSP and DJX, through the latest close, delisted names included.

Is the GEX data point-in-time?

Yes. Each row is stamped with when it became known and is built only from option data of its own session, so backtests only use levels traders could have seen.

Can I use FinzData GEX in QuantConnect?

Yes. Add finzdata_qc.py to your project, set your API key as a parameter and call add_data(FinzDataGex, ticker). Each bar arrives at 17:00 New York on its session date.

Is GEX included in the look-back bundles?

No. GEX is its own product: from $19 per ticker, GEX Complete for every ticker at $295 ($195 when added to a bundle or shop order), or Institutional. The last 30 days are free.