Data

Gamma Exposure Data API

Get dealer gamma exposure (GEX) levels computed nightly from end-of-day options chains for nearly 7,000 US equities and ETFs with listed options. The dataset includes net gamma, flip levels, call and put walls, regime classification, put/call ratios, and ATM IV—delivered via API, email before 7:30am ET, and CSV for backtesting.

Get a free API key See pricing Download free samples

What is Dealer Gamma Exposure?

Dealer gamma exposure (GEX) measures the net gamma position of market makers and dealers across all outstanding options contracts for a given underlying. It is computed nightly from aggregated options chains and indicates how dealer positioning may influence price dynamics, especially near key levels where gamma flips from positive to negative. GEX helps quantify potential feedback loops between hedging activity and underlying price moves.

Positive GEX suggests dealers are net long gamma, tending to dampen volatility through hedging. Negative GEX indicates net short gamma, which can amplify moves as dealers hedge directionally. The magnitude is expressed in billions of dollars (bn) for intuitive scaling across tickers.

GEX Dataset Fields

Each record in the GEX dataset includes:

  • ticker: Underlying symbol
  • spot: Current underlying price
  • net_gex_bn: Net dealer gamma exposure in billions
  • flip: Price level where net gamma crosses zero (gamma flip)
  • flip_dist_pct: Percentage distance from spot to gamma flip
  • call_wall: Strike with maximum call gamma accumulation
  • put_wall: Strike with maximum put gamma accumulation
  • regime: Classification based on GEX sign and magnitude (e.g., 'Long Gamma', 'Short Gamma')
  • pcr_oi: Put/call ratio based on open interest
  • pcr_vol: Put/call ratio based on volume
  • atm_iv_pct: At-the-money implied volatility percentile
  • call_gex_bn: Call dealer gamma exposure in billions
  • put_gex_bn: Put dealer gamma exposure in billions

These fields enable regime identification, wall proximity analysis, and squeeze condition screening.

Using GEX in Backtests and Regime Analysis

Historical GEX levels support robust regime classification in quantitative strategies; the full point-in-time GEX history covers 8,755 tickers since October 2019. Traders use the gamma flip level as dynamic support/resistance, with proximity (flip_dist_pct) signaling potential mean-reversion or breakout conditions. Persistent negative net GEX may precede elevated volatility regimes, while sustained positive GEX often correlates with range-bound trading.

The call_wall and put_wall identify clusters of dealer gamma that can act as price magnets or barriers. Monitoring shifts in wall positioning alongside changes in pcr_oi and pcr_vol helps detect evolving dealer sentiment. All fields are available historically for accurate backtesting without look-ahead bias.

Gamma Squeeze Screen

The gamma squeeze screen identifies conditions where dealer gamma positioning may amplify price moves. Key signals include rapidly declining net GEX toward significantly negative values, decreasing flip_dist_pct (spot approaching the gamma flip from above in negative GEX regimes), and widening divergence between pcr_vol and pcr_oi suggesting aggressive short-term put buying.

Extreme put wall proximity combined with rising atm_iv_pct and declining call gamma (call_gex_bn) can precede squeeze events. The screen combines these factors into a real-time alert, available via the /v1/alerts/squeeze endpoint or email add-on.

API Access and Usage Example

import finzdata as yf
import pandas as pd

# Initialize client
# Fetch latest GEX data
import pandas as pd, io, os, httpx
r = httpx.get("https://api.finzdata.com/v1/alerts/gex",
              params={"tickers": "NVDA,TSLA", "format": "csv"},
              headers={"X-API-Key": os.environ["FINZDATA_API_KEY"]})
gex_df = pd.read_csv(io.StringIO(r.text))

# Get historical spot prices for context
nvda_hist = yf.Ticker('NVDA').history(start='2024-01-01')

# Join GEX with price data on date
nvda_gex = gex_df[gex_df['ticker'] == 'NVDA'].set_index('date')
nvda_joined = nvda_hist.join(nvda_gex[['net_gex_bn', 'flip', 'regime']], how='left')

# Analyze regime alignment with price action
print(nvda_joined[['Close', 'net_gex_bn', 'regime']].dropna().tail(10))

Delivery Formats and Availability

The GEX dataset is delivered nightly after market close, computed from end-of-day options chains for all US stocks and ETFs with listed options. Data is available by 7:30am ET via email alert, in real-time through the API, and as downloadable CSV files. Every historical daily snapshot is stored, enabling accurate backtesting and regime analysis over extended periods.

Access the dataset via:

  • API: GET https://api.finzdata.com/v1/alerts/gex (parameters: date, tickers, format)
  • Squeeze alerts: GET /v1/alerts/squeeze
  • Email: Daily GEX report before 7:30am ET
  • CSV: Complete historical archive

Historical GEX data is included in all paid look-back bundles and Institutional plans. The free tier provides the last 30 days of GEX data with 1,000 API calls/day.

Frequently asked questions

What is dealer gamma exposure (GEX)?

Dealer gamma exposure measures the net gamma position of market makers' options portfolios, indicating how their hedging activity may influence underlying price dynamics.

How is the gamma flip calculated?

The gamma flip is the underlying price level where net dealer gamma crosses zero, computed nightly from aggregated options chains across all strikes and expiries.

What does negative GEX imply?

Negative GEX indicates dealers are net short gamma, which can lead to directional hedging that amplifies price moves rather than dampening them.

How often is GEX data updated?

GEX levels are computed every night from end-of-day options data and delivered by 7:30am ET for the prior trading session.

Can I use GEX data for backtesting?

Yes, every historical daily GEX snapshot is stored and available via API, email, or CSV for accurate strategy testing without look-ahead bias.