Updated every night · Open to everyone

Index options flow

What traded in SPX, NDX, RUT and VIX options, day by day: how much, at which implied volatility, and what the gamma, delta and vega of those trades add up to. It is worked out from the prices the contracts really traded at, so it needs no quotes and no open interest.

Loading…
Index Show View
How to read this page — and what it is not

This is flow, not positioning. Every number is built from the contracts that traded that day. It does not know who bought or sold, and it does not know how many contracts are open. The “dealer” sign convention is therefore a convention (calls minus puts, as on every gamma chart), not a measurement. A day of heavy trading in one strike is not the same as a large open position there.

Implied volatility (ATM IV). The volume-weighted implied volatility of contracts within about 1 % of the forward price (6 % for VIX, whose options are priced off a future that moves a lot). It is solved from each contract’s volume-weighted average trade price, not from its last print, which is often stale. The split 0DTE / 1–30 d is on the table view.

Skew. The volume-weighted IV of puts 2–10 % below the forward minus that of calls 2–10 % above it, in volatility points. Positive means downside protection traded at a higher volatility than upside. (VIX uses wider wings.)

Put/call volume and 0DTE share are plain counts of contracts traded that day, for options expiring within 30 days.

Gamma, delta, vega, vanna and charm in dollars are the greeks of the day’s traded contracts times their volume times 100, expressed like the rest of this site: gamma per 1 % move in the index, vega per volatility point, charm per day. Gamma, vanna and charm are shown as calls minus puts.

How the forward is found. The index level is not in the data. For each expiry, a call and a put that both traded at the same strike give the forward by put–call parity; the volume-weighted median of those pairs is used. An expiry with no such pair borrows its forward from the same day’s other expiries (carried), and a day with none falls back on the matching ETF’s close (proxy). The share of volume priced on a true parity forward is shown on every day (the parity column) — the lower it is, the softer the day’s numbers.

Assumptions. The interest rate is that day’s Treasury curve. No dividend yield is used (the forward absorbs it). A 0DTE trade is taken to have three hours left on average. Contracts with no usable price (below 5 cents, or inside intrinsic value) are left out, and the priced column says what share of the volume was kept.

Filling in. History is collected from the newest day backward. A day is shown only once every expiry in its 30-day book has been collected, because until then some of its contracts (the puts, say) are missing. Free-source data reaches back about two years, so that is the longest history here.

End-of-day figures computed from traded prices; they describe what happened, not what will. Not investment advice.