GEX Trading Guide: SPY, TSLA, QQQ Gamma Exposure (2026)
How to read and trade gamma exposure (GEX) for SPY, TSLA, QQQ, NVDA. Gamma flip mechanics, dealer hedging flows, the full exposure stack (GEX/DEX/VEX/CHEX) with Python code and a free API.
How to read and trade gamma exposure (GEX) for SPY, TSLA, QQQ, NVDA. Gamma flip mechanics, dealer hedging flows, the full exposure stack (GEX/DEX/VEX/CHEX) with Python code and a free API.
Gamma exposure (GEX) is the aggregate dollar amount of stock that options dealers must mechanically buy or sell per 1% move in the underlying, derived from the gamma of every open option contract on the symbol. GEX has become the single most talked-about metric in options market structure, and for good reason: it explains why SPY sticks to $580 for three days straight and then drops $15 in an hour. It explains why TSLA gaps through resistance like it does not exist while AAPL pins to the penny on expiry Friday.
But most GEX content stops at the basics: positive GEX good, negative GEX bad. That is not enough to trade on. This guide goes deeper. You will learn how to read GEX data at the strike level, how to combine it with three other dealer exposure metrics most traders ignore, and how to turn all of it into actual trade setups - with code you can run today.
Whether you are looking at GEX for SPY, TSLA, QQQ, NVDA, or any other optionable stock, the framework is the same. Let's build it.
When you buy a call option, a market maker sells it to you. That market maker is now short a call - they have directional risk. To neutralise that risk, they buy shares of the underlying stock. This is delta hedging.
But delta is not static. As the stock price moves, the option's delta changes. The rate at which delta changes is called gamma. Because gamma changes delta, the market maker must continuously adjust their hedge - buying more shares when the stock rises, selling when it falls.
The total dollar-value of stock that options dealers must buy or sell per 1% move in the underlying, aggregated across every open option contract. Positive GEX means dealers mechanically stabilise price. Negative GEX means they amplify moves.
On a typical day, options dealers are the largest marginal buyers and sellers in the market. Their hedging is not discretionary - it is mechanical and predictable. GEX maps those flows before they happen.
This is the most important concept in GEX trading:
Computing GEX correctly across many symbols and many dates is an infrastructure project. Use the FlashAlpha GEX API instead of rolling your own when:
https://historical.flashalpha.com/v1/exposure/gex/{symbol}?at={timestamp} mirrors the live response with leak-free regime labels back to 2018-04 at minute resolution.| Source | Returns | Coverage | REST API |
|---|---|---|---|
| FlashAlpha GEX API | Per-strike GEX, gamma flip, call/put walls, regime, plus DEX/VEX/CHEX/levels in companion endpoints | ~6,000 US equities + ETFs (live), point-in-time history with ?at= | Yes - free tier (5/day), paid plans for intraday polling |
| SpotGamma | SPX/SPY-style indices with GEX visualizations | Indices and a small set of large-caps | No public REST API |
| Unusual Whales | Options flow with some GEX views | Broad equities | Limited; flow-focused, not dealer-positioning surfaces |
| SqueezeMetrics | SPX-only GEX | SPX | No public REST API |
| Roll your own | Whatever you implement | Whatever your data covers | You build it |
Raw GEX tells you the regime. But to trade it, you need the strike-level data. Four levels define the GEX landscape:
The price where aggregate GEX crosses from positive to negative. This is the single most important level in dealer positioning. Above the flip, dealers stabilise price. Below it, they amplify moves. At the flip itself, dealers provide no support - expect the largest moves here.
The strike with the highest positive gamma from call options. Acts as a ceiling - as price approaches, dealer selling intensifies. SPY frequently pins at or near its call wall on expiry days.
The strike with the highest negative gamma from puts. Acts as a floor - but a dangerous one. If the put wall breaks, negative gamma kicks in and the selloff accelerates. This is the "trapdoor" level.
The strike where total open option value is minimised. Acts as an expiry-day magnet. Less relevant mid-week, but on Friday expiry it pulls price toward it with increasing force.
Think of the GEX landscape as a terrain map. The call wall is the hilltop (hard to climb above). The put wall is the cliff edge (safe above it, dangerous below). The gamma flip is the tree line (above it you have cover, below it you are exposed). Max pain is base camp (where everything settles at the end).
SPY has the most liquid options market in the world. Daily 0DTE volume regularly exceeds $1 trillion in notional. This makes SPY GEX the single most important exposure metric in the market.
?expiration=today on the GEX API to see today's gamma landscape separately from the monthly/weekly optionsView live SPY GEX data: SPY Gamma Exposure | Full SPY Analysis
TSLA is the poster child for negative gamma environments. Its options chain is enormous relative to the stock's float, and retail options flow heavily skews positioning.
When TSLA net GEX is negative and price is approaching the call wall from below: this is the setup for a gamma squeeze. If price breaks through on volume, dealers must chase - buying shares into a rising market. The move can be 5-10% in a single session.
Conversely, when TSLA is below the gamma flip in a negative GEX regime, downside moves accelerate. Use the Levels API to track the flip in real time.
View live TSLA GEX data: TSLA Gamma Exposure | Full TSLA Analysis
QQQ options have grown enormously with the rise of tech-focused retail and institutional hedging. QQQ GEX behaves similarly to SPY but with a tech-sector flavour:
View live: QQQ Gamma Exposure | Full QQQ Analysis
NVDA has become the third most actively traded options name after SPY and QQQ. Its GEX profile is uniquely interesting:
View live: NVDA Gamma Exposure | Full NVDA Analysis
GEX is the starting point, not the finish line. Three other exposure metrics complete the picture. Together, they form the exposure stack - the full map of what dealers must do under every scenario.
The total directional hedging pressure at each strike, aggregated across all open options. While GEX tells you about the volatility regime, DEX tells you about directional pressure - which way dealer flows are pulling.
Measures how dealer delta changes when implied volatility moves. If the VIX drops 2 points, how many shares do dealers need to trade? VEX answers this - making it the most important metric around events (FOMC, CPI, earnings).
VIX typically drops 2-4 points after an FOMC announcement. If SPY VEX is large and positive, the vanna-driven hedging adjustment creates a mechanical bid that lasts 1-3 days. This is one of the most reliable setups in the market.
Measures how dealer delta changes purely from time passing. Without any price or vol move, dealers must still adjust hedges as time erodes option values. CHEX maps this automatic drift - the predictable, mechanical flow you can position ahead of.
The 3:30 PM trap. Retail traders chase the afternoon trend at 3:30 PM, just as charm flows are reversing into the close. CHEX data at 2 PM tells you whether the 3:30 PM flow will be with or against the trend. This is one of the most predictable patterns in 0DTE trading.
Each metric answers a different question about dealer positioning:
| Step | Metric | Question |
|---|---|---|
| 1 | GEX | Will the next move be dampened or amplified? |
| 2 | DEX | Where is the directional anchor - which strike pulls price? |
| 3 | VEX | What happens if IV drops or spikes? |
| 4 | CHEX | Which direction will time alone push the market? |
When all four align, you have the highest-conviction setups. For example: positive GEX (suppressed vol), strong DEX anchor at current price (gravitational pull), positive VEX with falling IV (mechanical bid), and bullish CHEX drift (time working for you). This is the four-Greek confluence - go long with conviction, use the put wall as your stop, target the call wall.
When: SPY or QQQ in positive GEX, price within 0.5% of call wall. Low VIX, no events.
Why it works: Dealers are long gamma and mechanically suppress moves. Price is pinned.
Trade: Sell iron condors centred on the call wall. Short strangles for more aggressive traders.
Check: GEX API - net GEX positive, call wall within 0.5% of price.
When: Price approaching the gamma flip from above. Negative GEX building below.
Why it works: Below the flip, dealer hedging amplifies moves instead of dampening them.
Trade: Buy put spreads or short shares below the flip. The flip is your line in the sand - above it, stay neutral.
Check: Levels API - track gamma flip distance in real time.
When: TSLA in negative GEX, price approaching call wall from below, strong momentum.
Why it works: In negative gamma, breaking the call wall forces dealers to buy shares, pushing price higher, forcing more buying.
Trade: Buy calls (slightly OTM) when price breaks through the call wall on volume. The dealer feedback loop can deliver 5-10% moves.
Check: TSLA GEX page - confirm negative net GEX and call wall proximity.
When: FOMC day. Large positive VEX on SPY. VIX expected to drop after the announcement.
Why it works: Falling IV triggers vanna-driven hedging adjustments. Dealers create a mechanical bid that can persist for 1-3 days.
Trade: Buy SPY calls or go long after the initial FOMC reaction settles (usually 30-60 min after the statement).
Check: VEX API - sum net_vex across all strikes. Cross-reference with VIX direction.
When: 0DTE expiry day (Mon/Wed/Fri for SPY). Heavy OI at a few strikes. CHEX strongly directional.
Why it works: Charm-driven delta decay forces dealers into a directional drift that persists through the afternoon.
Trade: At 1 PM ET, check CHEX. Negative total CHEX = bullish drift (buy calls). Positive = bearish drift (buy puts).
Check: CHEX API with ?expiration=today.
When: Friday monthly or weekly expiry. Positive GEX, price near max pain.
Why it works: Expiring options converge to max pain as gamma-driven hedging intensifies in the final hours.
Trade: Sell iron butterflies centred on max pain at the open. Close by 3 PM.
Check: Levels API - max pain vs current price. Confirm positive GEX.
When: All four metrics align - positive GEX ceiling, DEX anchor at current price, positive VEX with falling IV, bullish CHEX drift.
Why it works: Every dimension of dealer flow supports the same direction. This is the highest-conviction setup.
Trade: Go long with size. Put wall is your stop, call wall is your target.
Check: Summary API for the overview, then drill into individual exposure endpoints.
Number one mistake: Using all-expiration GEX on expiry days. SPY can have positive GEX overall but massive negative GEX in the 0DTE slice. Always filter: /v1/exposure/gex/SPY?expiration=2026-03-24
All-expiration GEX masks what's happening in the front expiry. SPY can have positive GEX overall but massive negative GEX in the 0DTE slice. On expiry days, always filter by today's date: /v1/exposure/gex/SPY?expiration=2026-03-24.
The call wall, put wall, and gamma flip shift throughout the day as new options are traded. Treat them as zones (plus or minus 0.5%), not precise lines. Check them at market open, midday, and before any trade entry.
GEX tells you the volatility regime but says nothing about direction, vol sensitivity, or time decay flows. The market can be in positive GEX and still drift lower for a week due to vanna or charm flows. Use the full exposure stack.
A GEX reading from 9:30 AM can be meaningless by noon. Large orders restructure the chain throughout the day. Use real-time data - the FlashAlpha API returns live exposure computed from the current options chain.
GEX data tells you what dealers must do mechanically. It does not account for fundamental news, macro events, or informed directional flow. GEX is a powerful overlay on your existing analysis, not a replacement for it.
The FlashAlpha Exposure API provides all four metrics via simple REST calls:
# GEX by strike - the core endpoint
GET /v1/exposure/gex/{symbol}
GET /v1/exposure/gex/{symbol}?expiration=2026-03-24&min_oi=100
# DEX, VEX, CHEX - same pattern
GET /v1/exposure/dex/{symbol}
GET /v1/exposure/vex/{symbol}
GET /v1/exposure/chex/{symbol}
# Key levels (gamma flip, call wall, put wall, max pain)
GET /v1/exposure/levels/{symbol}
# Full summary - all metrics in one call
GET /v1/exposure/summary/{symbol}
Authentication is via X-Api-Key header. Get a free API key - no credit card required.
GET /v1/exposure/gex/SPY?min_oi=100
{
"symbol": "SPY",
"net_gex": 1842000000,
"gamma_flip": 575.00,
"call_wall": 590.00,
"put_wall": 560.00,
"regime": "positive_gamma",
"strikes": [
{ "strike": 570.0, "call_gex": 45000000, "put_gex": -32000000, "net_gex": 13000000 },
{ "strike": 575.0, "call_gex": 82000000, "put_gex": -15000000, "net_gex": 67000000 },
{ "strike": 580.0, "call_gex": 120000000, "put_gex": -8000000, "net_gex": 112000000 },
...
]
}
pip install flashalpha
from flashalpha import FlashAlpha
client = FlashAlpha("YOUR_KEY")
# SPY GEX (per-strike + net)
gex = client.gex("SPY")
print(f"Net GEX: ${gex['net_gex']:,.0f}")
print(f"Gamma Flip: ${gex['gamma_flip']}")
print(f"Regime: {gex['net_gex_label']}")
# Top 5 strikes by absolute GEX
top = sorted(gex['strikes'], key=lambda x: abs(x['net_gex']), reverse=True)[:5]
for s in top:
print(f" ${s['strike']}: net GEX = ${s['net_gex']:,.0f}")
# Call wall / put wall come from the levels endpoint
levels = client.exposure_levels("SPY")
print(f"Call Wall: ${levels['call_wall']}")
print(f"Put Wall: ${levels['put_wall']}")
# TSLA GEX - same API, just change the symbol
tsla_gex = client.gex("TSLA")
print(f"TSLA Net GEX: ${tsla_gex['net_gex']:,.0f}")
print(f"TSLA Gamma Flip: ${tsla_gex['gamma_flip']}")
# Filter to a single expiry (e.g. 0DTE)
spy_0dte = client.gex("SPY", expiration="2026-03-24")
# Full exposure stack in 4 calls
gex = client.gex("SPY")
dex = client.dex("SPY")
vex = client.vex("SPY")
chex = client.chex("SPY")
Python SDK on GitHub - handles auth, rate limits, and retries automatically.
curl -H "X-Api-Key: YOUR_KEY" \
"https://lab.flashalpha.com/v1/exposure/gex/SPY?min_oi=100"
Don't want to use the API? All exposure data is available through interactive tools on flashalpha.com:
Every stock page also displays all four exposure metrics alongside price, volatility, and options flow data.
FlashAlpha computes GEX, DEX, VEX, and CHEX in real time for 6,000+ US optionable stocks and ETFs. Here are the most popular:
| Ticker | GEX Page | Full Analysis | Why It Matters |
|---|---|---|---|
| SPY | SPY GEX | SPY | Most liquid options market. 0DTE every day. The benchmark for dealer positioning |
| QQQ | QQQ GEX | QQQ | Tech-heavy, more volatile gamma profile than SPY |
| TSLA | TSLA GEX | TSLA | Frequent negative gamma. Gamma squeeze candidate |
| NVDA | NVDA GEX | NVDA | Massive OI at round strikes. AI-event driven positioning |
| AAPL | AAPL GEX | AAPL | Institutional hedging hub. Strong pinning behaviour |
| AMZN | AMZN GEX | AMZN | Earnings-driven gamma restructuring |
| META | META GEX | META | High beta. Gamma flip often close to price |
| AMD | AMD GEX | AMD | Retail-heavy options flow creates volatile GEX shifts |
Search any ticker at flashalpha.com/tools/gamma-exposure or via the API at /v1/exposure/gex/{symbol}.
| Plan | Price | Daily Requests | Endpoints |
|---|---|---|---|
| Free | $0 | 5 | GEX, DEX, Levels |
| Basic | $79/mo | 100 | GEX, DEX, VEX, CHEX, Levels |
| Growth | $299/mo | 2,500 | All endpoints + Summary + 0DTE + Historical |
No credit card required for the free tier. Get your API key →
GEX (gamma exposure) measures the total gamma risk that options market makers carry across all open option contracts on a stock. It quantifies how much stock dealers must buy or sell to stay hedged per 1% move in the underlying price. Positive GEX means dealers dampen volatility. Negative GEX means they amplify it.
FlashAlpha provides real-time GEX data through a REST API, interactive web tools, and stock-specific pages. Sign up for a free API key at flashalpha.com/pricing - no credit card required.
The gamma flip is the price level where aggregate dealer gamma crosses from positive to negative. Above it, dealers suppress volatility (buy dips, sell rips). Below it, dealers amplify volatility (sell dips, buy rips). It is the most important level in GEX analysis.
GEX (gamma exposure) tells you about the volatility regime - whether moves will be dampened or amplified. DEX (delta exposure) tells you about directional pressure - which way dealer hedging flows are pulling. GEX answers "how much?" and DEX answers "which direction?"
VEX (vanna exposure) measures how dealer delta changes when implied volatility moves - critical around events like FOMC and earnings. CHEX (charm exposure) measures how dealer delta changes from time passing - dominant on 0DTE expiry days. Together with GEX and DEX, they form the complete dealer positioning picture.
Yes. FlashAlpha computes GEX, DEX, VEX, and CHEX for 6,000+ US optionable stocks and ETFs in real time. See TSLA GEX, NVDA GEX, or search any ticker at flashalpha.com/tools/gamma-exposure.
GEX data on FlashAlpha is computed from the live options chain and updates in real time during market hours. API responses reflect the current state of open interest and pricing.
by Tomasz Dobrowolski
by Tomasz Dobrowolski
by Tomasz Dobrowolski
Get tick-by-tick visibility into market shifts with full-chain analytics streaming in real time.
Screen millions of option pairs per second using your custom EV rules, filters, and setups.
Instantly send structured orders to Interactive Brokers right from your scan results.