Cross-AssetUpdated daily after close

SPY Options Open Interest: Dealer Walls, P/C Ratio & Gamma

SystemTrader's SPY Options Open Interest dashboard pulls the full SPY options chain from CBOE each evening and synthesizes it into the four daily reads that matter: regime (P/C OI ratio classified as Greedy / Balanced / Defensive / Stress), top OI walls (likely support and resistance), max-pain strike, and the dealer gamma curve with zero-gamma flip level. Today's snapshot is 12,892 contracts across all strikes and expirations.

Pair this read with the VIX term structure, sector health dashboard, market breadth, and cross-asset macro panel for the full picture.

Built by
SystemTrader
Source
CBOE delayed-quotes options chain (cdn.cboe.com)
Methodology
Per-contract OI / volume / Greeks aggregated to per-strike walls + dealer gamma curve; max-pain via min total holder payout
Updates
Daily snapshot ~1:30 PM PT (30 min after cash close)
Last: 2026-05-11
For educational and informational purposes only — not financial advice. Past performance does not guarantee future results. See full disclaimer.
Options Positioning · All expirations
SPY · 2026-05-11
DEFENSIVE
80/100

Heavy put OI — broad equity hedging is on the books. Not directional but structurally protected.

P/C Open Interest
2.384Δ1d -0.024
P/C Volume (today)
1.305Δ1d -0.232
Total Call OI
5.63M
Total Put OI
13.42M

SPY spot $738.79 · +1.17 from yesterday. Max pain pin candidate $710. Zero-gamma flip at $741.

Expiration filter
Switches hero regime, OI chart, max-pain, gamma flip, and walls between expiration buckets. The history chart stays all-expirations.

OI Distribution by Strike

All open interest within ±25% of spot. Dashed lines mark today's spot, the max-pain strike, and the zero-gamma flip.

Net Dealer Gamma -$700.57B (dealers net short)Call Vol 4.09MPut Vol 5.34M
Top Put Walls (Support Candidates)
Strike% from SpotOIVolExpDTE
$530-28.3%215,3701,1702026-06-1838d
$555-24.9%207,9122082026-06-3050d
$520-29.6%203,019532026-05-2918d
$540-26.9%200,755422026-07-1767d
$500-32.3%164,7781,0152026-05-154d
$530-28.3%164,28102026-05-154d
$495-33.0%161,673102026-05-154d
$535-27.6%152,3611132026-05-2918d
$535-27.6%150,8465682026-05-2211d
$660-10.7%123,9612142026-12-18221d
Top Call Walls (Resistance Candidates)
Strike% from SpotOIVolExpDTE
$800+8.3%71,421352027-03-19312d
$820+11.0%67,3092172027-03-19312d
$800+8.3%63,5427182026-09-30142d
$700-5.3%41,0333672026-05-154d
$740+0.2%39,9021,5752026-05-2918d
$715-3.2%38,2412732026-06-1838d
$750+1.5%38,0257582026-09-18130d
$710-3.9%35,6896972026-06-1838d
$745+0.8%34,8232,9372026-05-2211d
$725-1.9%34,3005782026-06-1838d

P/C OI Ratio History

Daily P/C OI ratio over time with SPY overlay. Regime bands shaded. CBOE doesn't serve historical chains — this series accumulates forward from 2026-05-10.

P/C OI ratio (left) SPY price (right)history accumulates daily — meaningful around 30 sessions in

2 daily snapshots captured so far.

How SPY Options Open Interest Works

  1. 1
    Pull the full SPY options chain after market close
    Each trading day around 1:30 PM PT (half an hour after the cash close), we hit CBOE's public delayed-quotes JSON endpoint and pull the entire SPY options chain — every strike × every expiration with bid, ask, volume, open interest, IV, and Greeks (delta, gamma, vega, theta). Today's snapshot is ~12,000 contracts.
  2. 2
    Compute put/call ratios and classify the regime
    Total put OI ÷ total call OI is the headline regime read. Classification: < 1.10 = Greedy (calls heavy), 1.10–1.70 = Balanced, 1.70–2.50 = Defensive, > 2.50 = Stress. SPY historically averages around 1.6–1.8 P/C OI, so anything above 2.5 is meaningful tail-risk hedging.
  3. 3
    Identify the top OI walls — likely support and resistance
    For each side, we rank strikes by open interest aggregated per strike+expiration combo. The top put strikes are likely support candidates (where market makers are short customer puts and need to defend); the top call strikes are likely resistance / pin candidates. Distance from spot tells you whether a wall is realistic for the current move.
  4. 4
    Calculate max pain — the pin strike
    Max pain is the strike at which total payout to all option holders is minimized (and pain to writers / value to dealers is maximized). It's a magnet thesis: if dealers are net short gamma near expiry, they tend to hedge in ways that nudge spot toward max pain.
  5. 5
    Build the dealer gamma curve and zero-gamma flip
    For each strike we compute dollar gamma (OI × gamma × 100 × spot²). Convention: customers buy calls and sell puts on net, so dealers are short calls (negative dealer gamma) and long puts (positive dealer gamma). Walking the curve in strike order gives a cumulative dealer gamma — the strike where it crosses zero is the gamma flip. Below it, dealers amplify volatility; above it, they dampen it.
  6. 6
    Accumulate forward — P/C ratio history
    CBOE doesn't serve historical chains, so we build the P/C ratio time series forward by appending each daily snapshot. After a few weeks the history chart becomes meaningful for comparing today's positioning to recent norms.
  7. 7
    Pre-bucket by expiration so users can slice the picture
    The same chain is aggregated four times: all expirations (the full book, today out to LEAPS), ≤30 days (the next month), ≤7 days (this week's expiries), and 0DTE (today only). The hero P/C ratio, max-pain, zero-gamma flip, gamma curve, and walls all recompute when you switch buckets. The four views are pre-computed in the Rust binary at build time, so toggling is instant on the page. Historical P/C ratio + 1d delta intentionally stay all-expirations.

Who Uses SPY Options Open Interest

Day Traders
Use the top OI walls as intraday support / resistance levels. The largest near-spot put wall is where dealers will defend on a flush; the largest near-spot call wall is where rallies tend to slow.
Swing Traders
Watch the P/C OI regime shift. A move from Defensive (>1.70) to Balanced is a meaningful sentiment unwind; a move from Balanced into Stress (>2.50) is the opposite signal — broad hedging being added.
Volatility Traders
Zero-gamma flip is the key level. When spot is below it, dealers are short gamma — vol-amplifying. When spot is above it, dealers are long gamma — vol-dampening. The level moves daily as positioning shifts.
Long-Term Investors
Use the P/C OI history to gauge positioning extremes. Multi-year highs in P/C OI (>2.5) have historically marked sentiment troughs; multi-year lows (<1.0) have marked complacency that often precedes pullbacks.

Pro Tips

01
Trust the strike, not the expiration date alone
A $200k-OI put at $530 expiring in two weeks behaves very differently from the same OI six months out. Near-dated walls have stronger gamma effects on intraday price action; far-dated walls reflect strategic positioning. Look at "days to expiry" alongside OI.
02
Walls far from spot are tail hedges, not pin candidates
Today's top put walls at $500–555 are 25–32% below spot at $737 — these are crash hedges, not levels SPY is likely to test soon. The actionable walls for a daily trader are the ones within ±5% of spot.
03
Zero gamma flip moves the most on big-volume days
When traders open new positions in size (say after a Fed announcement), the gamma curve reshapes and the flip level can jump several percent. That's the day to re-check the level — it tells you where dealer hedging will start to dampen vs amplify the move.
04
P/C OI > P/C volume is the structural signal
Volume is today's flow; OI is the standing book. When P/C OI is elevated (>2) but P/C volume is low (<1), it means the hedges are already in place — selling is structurally protected. When P/C volume spikes above OI ratio, it's fresh fear being added today.
05
Max pain matters most in the last week before expiry
Throughout the cycle, max pain drifts as positions are added. In the final 5 trading days before a major monthly expiry, dealers actively defend levels that minimize their payout — which is when max-pain pinning becomes a real intraday force, not just a thesis.
06
Net dealer gamma sign is the volatility regime
Negative net dealer gamma = dealers are short gamma overall = they buy weakness and sell strength to hedge, *amplifying* moves. Positive = they sell strength and buy weakness, *dampening* moves. The sign flips around the zero-gamma strike. Note this on the page every morning.

Common Issues & Solutions

The history chart looks empty / sparse
CBOE doesn't serve historical chain snapshots, so we build the P/C ratio time series forward starting when we first ran the daily fetch. Give it a few weeks. After ~30 sessions the chart becomes meaningful for comparing today to recent norms.
Today's data shows a stale timestamp
CBOE's endpoint is 15 minutes delayed intra-day but reflects the day's final OI / volume after market close. We run the fetch around 1:30 PM PT (30 min after the cash close) so the snapshot captures end-of-day numbers. If you're viewing before then, the data is from yesterday's close.
Why is my "top wall" not where price is heading?
Walls are *positioning*, not *forecasts*. A large put wall is where dealers have customer-side put exposure they'd need to defend at expiry — but plenty of large walls go untested because price moves elsewhere. Use them as one input alongside trend and volatility regime, not as standalone targets.
The zero-gamma flip is far from spot — what does that mean?
A flip level far from spot (e.g. $554 when spot is $737) means dealers are firmly in one regime. Above the flip = dealers long gamma = vol-dampening / mean-reverting. The flip would only become an active level if spot fell significantly toward it; in the meantime, expect quieter intraday tape.

Frequently Asked Questions

What is options open interest?
Open interest is the total number of option contracts that are currently outstanding (open positions) for a given strike + expiration. It is updated overnight by the OCC. Volume is how many contracts traded today; OI is how many positions exist. Walls of OI at specific strikes tell you where dealers and customers have built up structural exposure.
What is the put/call ratio and why does it matter?
The put/call ratio is total put activity divided by total call activity. We track both volume (today's flow) and OI (the standing book). For SPY, the historical average P/C OI is ~1.6–1.8 — there are usually more puts open than calls because investors hedge equity exposure. Readings above 2.5 often coincide with elevated tail-risk hedging; readings below 1.0 often mark complacency.
What is max pain?
Max pain is the strike at which total payout to all option holders is minimized. Equivalently, it is the strike at which option writers (typically dealers and market makers) lose the least money. The "pinning" thesis is that as expiry approaches, dealer hedging activity tends to push spot toward max pain. The effect is real in the last 5 trading days of a monthly expiry; less reliable further out.
What are dealer walls / OI walls?
A "wall" is a strike with unusually high open interest. Put walls below spot are likely support — dealers are net short customer puts there, and as spot approaches the strike they hedge by buying the underlying, which slows the decline. Call walls above spot are likely resistance — dealers are net short customer calls, and rallies into the strike trigger hedging that slows the move. The largest near-spot walls are the most relevant.
What is the zero-gamma flip level?
For each strike we compute dollar gamma (OI × gamma × 100 × spot²) and sum across all options, with the convention that dealers are net short calls and net long puts. The strike where cumulative net dealer gamma flips from negative to positive is the zero-gamma flip. Below it, dealers amplify moves (short-gamma hedging); above it, they dampen moves (long-gamma hedging). The level moves daily as positions change.
How do I read the regime score?
0–30 = Greedy (P/C OI < 1.10, calls heavy — complacency risk). 30–55 = Balanced (1.10–1.70 — historically normal SPY positioning). 55–85 = Defensive (1.70–2.50 — meaningful tail-risk hedging on the books). 85–100 = Stress (>2.50 — multi-year extreme; sentiment troughs have historically formed near these levels).
Where does the data come from?
CBOE's public delayed-quotes JSON endpoint at cdn.cboe.com/api/global/delayed_quotes/options/SPY.json. It returns the full chain — every strike × every expiration with bid/ask/last/volume/open_interest/IV and full Greeks. The data is 15 minutes delayed intra-day but reflects end-of-day numbers after market close. We snapshot once daily around 1:30 PM PT (30 minutes after the cash close).
Why does the history look short?
CBOE does not serve historical chain snapshots — only the current chain. We build the time series forward by saving each daily snapshot. Expect the history chart to be sparse for the first month and become meaningful around 30 sessions in.
Can I see this for QQQ or other ETFs?
Today the page is SPY-only. The fetch script and Rust backend support any liquid US options symbol — extending to QQQ, IWM, AAPL, TSLA, etc. is a small follow-up. We started with SPY because it is by far the most-traded, with the cleanest dealer-positioning signal.
How is dealer gamma calculated?
For each option contract: dollar gamma = open interest × gamma × 100 (contract multiplier) × spot². Convention: customers are net long calls and net short puts on aggregate, so dealers are short calls (gamma counted as negative) and long puts (gamma counted as positive). Net dealer gamma at each strike = -call gamma dollars + put gamma dollars. Cumulating in strike order produces the curve whose zero crossing is the gamma flip.
What does the Expiration filter do?
The toggle above the chart switches the page between four pre-computed views of the same chain: All expirations (full book, today out to LEAPS — the default), ≤30 days, ≤7 days, and 0DTE (today only). Every recomputed metric — P/C ratio, regime score, max pain, zero-gamma flip, the OI Distribution chart, and the walls tables — reflects the selected bucket. Use it to separate structural positioning (where the LEAPS and quarterlies sit, visible in All) from short-term dealer flow (0DTE / weekly, visible in 0DTE and ≤7d). The P/C ratio history chart and 1-day delta stay anchored on All expirations so the historical comparison remains consistent.
Why does the P/C ratio change so much between expiration buckets?
Open interest concentrates differently across the term structure. SPY's all-expirations P/C is typically 1.6–2.0 because deep-OTM put hedges in monthly and quarterly expiries accumulate over time. The ≤30d slice often runs 2.5–4.0 in defensive regimes because that's where active downside hedging actually sits. 0DTE typically prints closer to 1.0–1.5 because intraday flow is dominated by call buying and zero-day premium-selling strategies. The divergence is informative: a 0DTE P/C near 1.0 with an all-expirations P/C above 2.5 says "no fear today, but the standing book is still defensively positioned."
Should I trust max pain more for short-dated or longer-dated expiries?
Max pain is most reliable in the last 5 trading days of a monthly expiry (third Friday) when dealer hedging gets aggressive into pin. For that reason the ≤7d max-pain number is usually a more actionable level than the all-expirations max-pain. Far-dated max-pain (all-expirations including LEAPS) is more of a structural-bias read than a pin candidate.

Related Tools

Last updated: 2026-05-11