← Blog
Options · Free tool

SPX Options Chain Analyzer: A Free Tool to Read Options Positioning

By Luca De Cesare · July 18, 2026 · Reading time: 18 min
Cost: free, no sign-up
Data: public CBOE CSV (15′ delayed)
Underlying: SPX (and any CBOE chain)
Example in this article: Jul 18, 2026 chain
Key takeaways
  • I've made the tool I use to analyze SPX options positioning free for everyone: upload a CSV downloaded from the CBOE website and get GEX, Gamma Flip, Put/Call Walls, Max Pain, Expected Move, flow drift and a 3D volatility surface in a matter of seconds.
  • The core idea: whoever sells options in bulk (the market makers) has to hedge by buying and selling the underlying, and that activity leaves measurable footprints. The tool estimates them and turns them into a map of levels and regimes.
  • No coding skills and no paid data required: all you need is 5 minutes and CBOE's free options chain file. In this guide I walk through a real case — the SPX chain from July 18, 2026 — from downloading the file to the very last tab.
  • The tool always states its assumptions: dealer exposures are model estimates, not observed positions. In this article you'll find the limitations too, not just the strengths.
  • Bonus: one button exports the entire analysis to an AI-ready JSON file — attach it to Claude or ChatGPT and have it build the day's positioning commentary for you.
⚡ Free tool

Open the SPX Options Chain Analyzer

The dashboard is public and runs in your browser, even on a smartphone. My advice: open it now in another tab and use this guide as a step-by-step manual, section by section, while you try it for the first time.

Open the free tool → Data first: how to download it ↓ Free · No sign-up · No credit card

What the tool does — and why options positioning moves the market

Every day, millions of SPX options change hands. On the other side of those contracts there are almost always the market makers (the "dealers"): professional firms that continuously quote bid and ask and that, by trade, don't bet on market direction. To stay neutral, they have to hedge by buying and selling the index as the price moves. When open contracts number in the millions, that hedging becomes a huge flow — large enough to dampen or amplify the market's own moves.

Here's the point: dealer hedging isn't random. It depends on where open interest (the open contracts) is concentrated and on how those contracts' Greeks respond to price and volatility. If you have a snapshot of the chain — strike by strike — you can estimate where those hedging flows will push or slow the market. That's exactly what professional desks do with paid data, and it's what the SPX Options Chain Analyzer does for free, starting from a simple public CSV file.

In practice, from a single file the tool computes six families of metrics:

AnalysisShort nameWhat it tells you, in one line
Gamma ExposureGEXThe market's "weather": are dealers dampening moves (long gamma) or amplifying them (short gamma)? And where is the turning point (Gamma Flip)?
Delta ExposureDEXThe net directional positioning of open contracts: are calls dominant (bullish tone) or puts (defensive tone)?
Vanna ExposureVEXHow sensitive positioning is to moves in implied volatility — the hidden engine behind many modern rallies and crashes.
LevelsWallsPut Wall and Call Wall (the open-interest "walls" that act as support/resistance), Max Pain, Expected Move.
ActivityDriftWhere today's volume is concentrating: the center of gravity of the flows (VWAS), volume/open interest ratio, Put/Call ratio.
VolatilityIV 3DThe implied volatility surface in three dimensions: skew, term structure and stress zones.

Although it was built for SPX, the tool works with any options chain exported from the CBOE website in the same format: other indexes, ETFs, single stocks. And here's something I care about: every section of the dashboard includes a "How to read this section" box, and at the top you'll find a complete beginner's glossary — options, Greeks, dealers, skew, pinning. It's designed to be used both by people who have been hedging for years and by those opening an options chain for the very first time.

Step 1 — Download the data: the free CSV from the CBOE website

The tool doesn't connect to any API and doesn't ask for credentials: the input is a CSV file that anyone can download for free from the website of CBOE, the exchange where SPX options are listed (data delayed by 15 minutes). The process takes about a minute:

Go to cboe.com and open the Quotes Dashboard

Open www.cboe.com and navigate the menu to Data → Quotes Dashboard. Alternatively, go straight to cboe.com/delayed_quotes/spx/quote_table.

Search for the ticker

In the search bar, type spx (or whatever symbol you're interested in) and press Search. A summary of the underlying appears at the top: Last, Bid, Ask and change, with the data timestamp.

Open the "Options" tab and set the filters

Below the title, select the Options sub-tab. Then set: Volume All · Expiration Type All (includes both the monthly SPX and the weekly SPXW expirations) · Options Range All · Expiration: the month you're interested in, or All. The filter that matters most is Options Range: All — you need the entire strike chain, not just the strikes near the price.

Click "View Chain" and download the CSV

The page shows the full chain: Calls on the left, Puts on the right, Strike in the middle (in our example: 3,611 records). Scroll all the way down, below the expiration buttons, and click Download CSV. You'll get a file like spx_quotedata.csv (~500 KB).

Upload the file to the tool

Open the dashboard, drag the CSV into the "Carica il file CSV della CBOE Options Chain" uploader (Upload the CBOE Options Chain CSV file) and wait a few seconds: the full analysis appears on its own.

Download best practices

1) Always use Options Range: All. With "Near the Money," the wings of the chain would be missing and metrics such as total GEX, Max Pain and the Put/Call ratio would be distorted.

2) Download and analyze in the same session (or with markets closed): open interest and Greeks capture the moment of the export.

3) Don't edit the CSV. The tool expects the original CBOE format, with the header rows intact.

4) Remember that data on CBOE's public dashboard is delayed by 15 minutes — more than enough for a positioning analysis, which works on the stock of accumulated contracts, not on individual ticks.

Step 2 — Upload the file and choose the expiration

On upload, the tool reads the file header and automatically extracts the Spot Price (the index price at the time of the export) and the data timestamp, which it uses to compute the days remaining to each expiration. It then separates calls and puts, cleans the data and discards whatever can't be analyzed, keeping only contracts with open interest greater than zero — the positioning that actually exists. If something doesn't add up (missing Greeks, spot price that can't be determined), it doesn't guess: it flags it with an explicit warning.

In the example file we'll follow throughout this article — the SPX chain downloaded on July 18, 2026, after a down session (−76 points, −1.02%) — this is the picture after upload:

Extracted spot
7,457.69
Timestamp: Jul 18, 2026
Expirations in file
11
5,575 contracts with OI > 0
Expiration analyzed
Jul 24 (Fri)
489 contracts · OI 392,542
Daily volume
215,093
On the selected expiration

Positioning metrics are computed one expiration at a time: a dropdown menu lists every expiration in the file and defaults to the one with the highest open interest — usually the most relevant for hedging. From there, the analysis is organized into six tabs:

📋 SummaryThe big picture at a glance
📊 Gamma (GEX)Regime and Gamma Flip
🧩 Vanna & DeltaVEX and DEX
🎯 Support/ResOI walls and flows
📉 StatsMax Pain, P/C, Expected Move
📈 Vol SurfaceVolatility in 3D

Let's go through them one by one, with the actual charts from the example case.

The Summary tab: the picture in six numbers

The first tab is the executive summary: a grid of six key metrics plus the three core charts (GEX, open interest, volume) side by side. These are the actual values from our example:

Spot Price
7,457.69
Extracted from the CBOE file
Net GEX (expiration)
−$4.27B
Short gamma → unstable regime
Net VEX (expiration)
+$148.4M
Per +1% of implied volatility
🛡️ Put Wall
7,300
9,683 open puts at the strike
🛑 Call Wall
7,600
4,610 open calls at the strike
📍 Max Pain
7,505
Theoretical expiration magnet
How to read it in 30 seconds. Start with the sign of Net GEX: here it's negative, so dealers are estimated to be short gamma and their hedging tends to amplify moves rather than dampen them. Then frame the corridor: potential support at 7,300 (Put Wall), resistance at 7,600 (Call Wall), expiration magnet at 7,505 (Max Pain). The spot, at 7,457.69, trades inside this corridor, in its upper half. Everything else in the analysis drills down into these six numbers.

The Gamma (GEX) tab: the market's weather report

Gamma measures how quickly an option's directional exposure changes when the underlying moves. To see why it matters to you even if you've never sold an option, think of dealers as a giant market thermostat. When their book is long gamma, staying neutral means they have to buy when the market falls and sell when it rises: behavior that dampens moves, like a shock absorber. When they're short gamma, instead, they're forced to do the opposite — sell into declines and buy into rallies — and every move gets amplified.

Gamma Exposure (GEX) estimates this force by aggregating the gamma of all open contracts, strike by strike, using the industry-standard convention (dealers long calls and short puts). The result is the chart below: for each strike, how many dollars of "automatic" hedging kick in if the index moves 1%.

GEX profile by strike — Jul 24, 2026 expiration

How to read it: bars to the right (green) = positive net gamma, to the left (red) = negative. The dotted blue line is the Spot (7,457.69), the dashed yellow one the Gamma Flip (7,543.55). Note the wall of positive gamma concentrated between 7,500 and 7,600 and the dominance of red (put) bars below the spot. In the tool the chart is interactive and 1,200px tall for detailed zooming; here we show the 7,000–7,900 window.

The Gamma Flip, done right

The Gamma Flip is the price level that separates the two regimes: above it, the dealer book is long gamma ("cushioned" market); below it, it's short gamma ("amplified" market). Many free tools approximate it by simply looking at where the per-strike profile changes sign — a shortcut that almost always ends up trivially pointing to the spot. This tool does the full job: it recomputes the entire book's exposure on a grid of 161 hypothetical prices, from −20% to +20%, and pinpoints the exact point where net exposure changes sign. It's a technical detail, but it's the difference between a decorative number and a level you can actually reason about.

In our example: Net GEX −$4.27 billion and Gamma Flip at 7,543.55, with the spot about 86 points below the flip. The snapshot is clear: the market has slipped below the zero-gamma threshold and is operating in a short gamma regime — consistent with the down session the file comes from. In this regime, declines tend to feed on themselves and realized volatility rises. The flip at 7,543.55 becomes the key level to watch on the upside: a sustained move back above that threshold would return the book to stabilizing territory.

How to use it in practice. Above the Flip (long gamma): expect compressed swings and mean reversion — a backdrop that has historically favored premium-selling strategies, with proper risk management. Below the Flip (short gamma): wide moves, more reliable breakouts, a backdrop where bought premium works better and "naked" selling is more dangerous. The Spot − Flip distance is a compact regime indicator worth tracking day by day. And watch for decisive breaks of the large gamma clusters (here 7,500–7,600): they take off the dealer brake and often accelerate the move.
Caution. Individual bars near the spot change a lot from one day to the next: the robust signal is the sign of Net GEX and the position of the spot relative to the Flip, not any single bar. And the "dealers long calls / short puts" convention is a model assumption: in particular phases it can understate or overstate the actual exposure.

The Vanna & Delta tab: who's positioned, and how much volatility matters

DEX — the directional snapshot of open interest

Delta Exposure (DEX) answers a simple question: adding up all the open contracts, is the options market more exposed to the upside or the downside? If call delta dominates, the balance is positive (bullish tone); if put delta dominates, it's negative (defensive tone).

DEX profile by strike — Jul 24, 2026 expiration

How to read it: green = strikes with positive net delta, red = negative. In our example red dominates below the spot: that's the negative delta of the enormous stock of open puts. Total Net DEX: −$13.41 billion — open interest is skewed to the defensive side; the market is "insured."

An honest distinction (that few people make)

GEX uses the standard dealer convention, so it estimates what market makers have to do to hedge. DEX and VEX, on the other hand, are explicitly snapshots of open interest: they measure how the market as a whole is positioned, with no assumptions about who holds what. It's a level of transparency that's rare among comparable commercial tools: the signs of the two analyses shouldn't be compared directly, and the tool reminds you of that everywhere.

VEX — vanna, the hidden engine of modern markets

Vanna is the "cross" Greek: it measures how much an option's directional exposure changes when implied volatility changes. It sounds like a technicality, but it's one of the most powerful engines in today's markets. The classic example is the "melt-up": in a slow rally with falling volatility, the delta of puts bought as insurance evaporates, those holding them buy back the underlying, and the rally feeds on itself at low volatility. The same mechanism, in reverse, accelerates declines when fear (and IV) rises.

Vanna Exposure (VEX) aggregates this sensitivity across the whole chain: how many dollars of directional exposure shift if implied volatility rises by one percentage point. Here too the tool computes a Vanna Flip with the same rigor as the Gamma Flip — a full recomputation on a grid of hypothetical prices, no shortcuts.

VEX profile by strike — Jul 24, 2026 expiration

How to read it: purple = positive VEX (aggregate directional exposure rises if IV rises), orange = negative. The colors are deliberately different from GEX so the two analyses don't get confused. Dashed yellow line: Vanna Flip at 7,495.20.

In the real case: Total Net VEX +$148.4 million per +1% of IV, Vanna Flip at 7,495.20 and spot about 37 points below. Combined with the gamma picture, the message is consistent: the spot is below both flips (vanna 7,495 and gamma 7,543) — a market in defensive mode, where a further rise in volatility would materially change the re-hedging flows. The strongly negative DEX completes the picture.

How to use it in practice. Read together, the Vanna Flip and the Gamma Flip give you the regime map: above both = a "calm and bid" backdrop; below both = a fragile, volatility-sensitive backdrop. DEX serves as confirmation: deeply negative with rising IV = a hedged/defensive market (watch out for upside squeezes when fear subsides); positive with falling IV = a typical quiet grind higher.

The Support/Res tab: open-interest walls and the day's flows

The Walls: where positioning acts as a wall

Open interest is positioning accumulated over time: where it's huge, that's where hedging activity concentrates — and where price tends to slow down, bounce or get pulled in like a magnet. The tool shows the full profile, but it looks for "walls" only within ±10% of the spot: the Put Wall is the strike with the most open puts below the price, the Call Wall the one with the most open calls above it. The filter isn't a minor detail: it avoids labeling as "support" the extreme tail-hedge puts bought 20% lower, which aren't tradable levels.

Open Interest by strike — Calls on the right, Puts on the left

How to read it: a two-sided chart — call open interest to the right (green), put open interest to the left (red); the two Walls in gold. In the real case: Put Wall 7,300 (9,683 contracts) and Call Wall 7,600 (4,610). The huge stock of puts at 6,000 and 6,100 (over 50,000 contracts each) also jumps out: structural portfolio hedges, not tradable support levels — and that's exactly why the ±10% filter exists.

Volume: today's activity

Same format, but with the contracts traded during the session: it shows where today's activity is concentrating, to be compared with the static positioning of open interest. It's the difference between "where the market is already positioned" and "where it's positioning right now."

Daily volume by strike — Calls on the right, Puts on the left

How to read it: calls to the right, puts to the left. The Put/Call ratio on daily volume is 2.49: today's flow is dominated by puts too, consistent with the risk-off session. Note the block of puts traded around 5,800 and the call activity concentrated at 7,500–7,600.

Drift (VWAS): the center of gravity of the flows

VWAS (Volume-Weighted Average Strike) is an original indicator of the tool: the center of gravity of all of the day's volume, calls and puts together. If it sits above the spot, the session's activity has a bullish bias; if it sits below, bearish. In our example the verdict is clear-cut:

Drift summary — volume center of gravity vs. Spot

Spot7,457.69
VWAS7,094.77

How to read it: the arrow starts at the Spot and points to the VWAS. Here the volume center of gravity (7,094.77) is more than 360 points below the spot: a decidedly bearish drift, pulled down by purchases of out-of-the-money puts.

Vol/OI: where tomorrow's positioning is being built

The last tool on this tab: the ratio between today's volume and existing open interest, strike by strike. When it exceeds 1, more volume traded at that strike today than all the contracts already open: that's not management of old positions, it's new positioning being built right there.

Volume/OI ratio by strike — unusual activity

How to read it: calls to the right, puts to the left; long bars = strikes where today's activity is off the charts relative to existing positioning. Two put bars run off the chart's scale: 6,810 (ratio ~766) and 6,910 (~261) — someone opened massive positions today at strikes that were nearly empty before. Watchlist levels: this is how tomorrow's walls are born.

How to use it in practice. Walls act as support/resistance and as magnets: the 7,300–7,600 corridor is the statistical "cage" for this expiration, and as expiry approaches the pinning effect on the most heavily loaded strikes grows. A decisive break of a Wall, however, reverses the effect: the hedging that was acting as a brake accelerates the move, and broken support tends to turn into resistance. Vol/OI above 1 at a specific strike is a flow alert worth noting; VWAS below the spot with volume P/C above 2 confirms the session's defensive tone.

The Stats tab: Max Pain, Put/Call Ratio, Expected Move

Max Pain: the theoretical expiration magnet

Max Pain is the strike at which, if the index landed exactly there at expiration, the total value paid out to option buyers would be at its minimum — and therefore the buyers' "pain" at its maximum. The idea: whoever sold options in bulk has an economic interest in price expiring near that point, and hedging activity tends to weakly nudge it there.

Total payout curve by expiration price

How to read it: for each possible expiration price, the total that sellers would have to pay buyers. The "V" shape is typical: huge payouts at the extremes, a minimum in the equilibrium zone. The minimum — the yellow line — is Max Pain: 7,505.

Put/Call Ratio and Expected Move

⚖️ Put/Call Ratio — the sentiment thermometer

Two versions: on open interest (accumulated positioning) and on volume (today's activity). Above 1, puts dominate. In the real case: P/C OI = 3.91 — an extreme value but typical of SPX expirations used as an institutional hedging vehicle — and P/C Volume = 2.49. On SPX the P/C is structurally above 1: what matters is the comparison with its usual values, not the absolute threshold. At the extremes it remains a classic contrarian signal.

📏 Expected Move — the expiration's yardstick

From the implied volatility of at-the-money options and the time remaining, the tool derives the move "priced in" by the market through expiration: here ±135.82 points, i.e. the 7,321.87 – 7,593.51 band. That's roughly one standard deviation: a ~68% theoretical probability that SPX expires inside it. Useful for calibrating credit spread strikes and setting realistic targets and alert thresholds: a decisive break out of the bands signals a larger-than-expected move.

The combined reading (and this is where the tool shines). In our example the levels converge remarkably: Put Wall 7,300 ≈ lower Expected Move band 7,322 · Call Wall 7,600 ≈ upper band 7,594 · Max Pain 7,505 ≈ positive gamma cluster 7,500–7,550 ≈ Vanna Flip 7,495. When positioning, volatility pricing and magnets all point to the same zone, those levels gain statistical weight: the 7,300–7,600 range centered around ~7,500 is the week's working map for this expiration.
Caution. Max Pain is a weak tendency, not a forecast: in the hierarchy, Walls and the Gamma Flip matter more. The Expected Move assumes constant volatility and a lognormal distribution: it's a yardstick, not an oracle.

The Vol Surface tab: volatility in three dimensions

The last tab leaves the single expiration behind and uses the entire chain: it builds the 3D implied volatility surface, with strikes on one axis, days to expiration on the other, and IV as height and color. To keep it clean, it uses only out-of-the-money options (the most liquid and representative), discards implausible IVs and interpolates missing points.

3D implied volatility surface of SPX: skew toward lower strikes and an IV spike on short-dated expirations near the spot

How to read it (in the tool the chart is interactive: rotate, zoom, hover over the points): the "wall" rising toward the lower strikes is the skew — out-of-the-money puts systematically cost more than calls, because downside insurance comes at a price. The profile along the time axis is the term structure. The isolated spike on the very shortest expirations near the spot reflects the nervous session in the example file.

An important control is the minimum delta slider at the top of the tab: it filters out options that are too far out of the money and illiquid, whose IV is mostly noise (the artificial 100–300% spikes that appear when you lower the filter). The default value works fine in most cases.

How to use it in practice. Steep skew = demand for protection and nervousness; flat skew = complacency. Inverted term structure (short expirations pricier than long ones) = stress or an imminent event; the opposite is normal. High IV favors premium-selling strategies (with caution, especially in a short gamma regime!), low IV favors buying premium. Always compare it with the Expected Move from the Stats tab: they're two views of the same pricing.

The bonus: an AI-ready JSON export

In the tool's sidebar there's a button I'm particularly fond of: "Scarica JSON Analisi (LLM Ready)" (Download Analysis JSON). It exports all the calculations for the selected expiration into a single structured file — not just the totals, but the full strike-by-strike profiles of GEX, DEX, VEX, open interest and activity. The file is designed to be fed to an AI like Claude or ChatGPT: the assistant can identify gamma clusters, concentration nodes and anomalous strikes on its own — rather than just commenting on the summary numbers. The methodological caveats travel inside the file too, so the automated analysis also inherits the model's conventions and limitations.

A starter prompt that works well:

Attached is the JSON generated by Kriterion Quant's SPX Options Chain Analyzer for the [date] expiration. Following the conventions described in the disclaimer field: 1) classify the gamma regime and the distance from the flip; 2) identify from the GEX profile the 5 strikes with the largest exposure (positive and negative); 3) cross-reference walls, expected move and max pain to define the trading range; 4) flag the strikes with a Volume/OI ratio above 1; 5) summarize the positioning picture in 5 points, distinguishing facts (data) from assumptions (model).

A habit I recommend: archive one export a day. Over time, the history of your JSON files becomes a proprietary positioning dataset — something you'd normally pay for, built for free with five minutes a day.

Putting it all together: the level map and the daily routine

Let's recap the real case in a single table — it's the kind of "map" the tool hands you every day in five minutes:

LevelValueSourceRole
Call Wall7,600Max call OI within +10%Potential resistance / upper edge of the range
Upper EM band7,593.51Expected MoveUpper bound priced by volatility (≈1σ)
Gamma Flip7,543.55Recomputed zero-gammaRegime divide: above = cushioned market
Max Pain7,505Payout minimumTheoretical expiration magnet
Vanna Flip7,495.20Recomputed zero-vannaShift in volatility sensitivity
Spot7,457.69CSV headerBelow both flips: short gamma regime
Lower EM band7,321.87Expected MoveLower bound priced by volatility (≈1σ)
Put Wall7,300Max put OI within −10%Potential support / lower edge of the range

Expiration context: Net GEX −$4.27B (short gamma) · Net DEX −$13.41B · Net VEX +$148.4M · P/C OI 3.91 · P/C Volume 2.49 · ATM IV 14.21% · VWAS 7,094.8 (bearish bias).

And this is the routine I recommend for using it, every day or before any trade on the index:

  1. Download the updated CSV from CBOE (Options Range: All) and upload it to the tool.
  2. Regime: check the sign of Net GEX and the spot's distance from the Gamma Flip. Short gamma → expect wide swings; long gamma → range-bound trading and mean reversion.
  3. Range: Put Wall and Call Wall plus the Expected Move bands. If they converge, as in our example, the range becomes more reliable.
  4. Magnets: Max Pain and gamma clusters from a pinning perspective, with increasing weight as expiration approaches.
  5. Daily flows: VWAS drift, volume P/C, strikes with Volume/OI above 1 — that's where tomorrow's positioning is being built.
  6. Volatility: at-the-money IV, skew and term structure on the 3D surface, to decide whether premium should be bought or sold.
  7. Export the JSON and archive it: you're building your own positioning history.

Limitations and caveats (the real ones)

A serious tool is also judged by how honest it is about its own limitations. These are the main ones, also stated inside the dashboard:

Disclaimer. The tool and this article are for informational and educational purposes only and do not constitute financial advice or a solicitation to invest. Positioning readings are based on model assumptions and do not represent positions actually observed in the market. Always independently verify the spot price, timestamp and expirations extracted from the file. No guarantee of results.

Options positioning doesn't tell you where the market will go: it tells you what field the game is being played on — where the walls are, where the regime changes, how much movement is already priced in. It's the context layer I use on top of my systematic strategies, and starting today it's available to anyone, for free. Open it, upload your first CSV and keep it open next to this guide: after two or three sessions, the level map becomes second nature.

This article is also available in Italian.

LD
Luca De Cesare Systematic trader and options specialist. Trades his own capital on the same systems as the model portfolio. About me →

Try the tool, then see what we build on top of it.

The SPX Options Chain Analyzer is free and will stay that way. It reflects the same rigor — verifiable data, stated assumptions, no hidden numbers — with which I build and monitor the systems in the Kriterion Quant model portfolio, with a public track record.