Guide · July 25, 2026

Reading one ticker's option activity: what the chain does and doesn't say

Written and reviewed by ConvexValue · Updated July 25, 2026

The most common request in the demo library is some version of “show me what is happening in this name’s options”. It is a good question with a narrower answer than most tools imply.

What a chain snapshot contains

Per contract: session volume, the latest open interest, Massive fair market value, greeks and implied volatility. FMV is a proprietary estimate; cvforge does not provide option bids, asks, midpoint, quote sizes, NBBO, or last trades. Aggregated, the snapshot supports a description of activity — where volume sits across strikes and expirations, how it compares with existing open interest, and how the call and put sides split.

What it does not contain is who traded, whether a trade opened or closed a position, or which side initiated it. Those are transaction-level questions and no build on snapshot data can answer them.

That boundary is worth internalising because so much commentary assumes otherwise.

The call/put split describes contracts, not direction

Heavier call volume does not mean “more bulls”. Every contract traded has a buyer and a seller, so a call/put ratio describes which contracts changed hands — not net positioning and not consensus.

What it is good for is attention. A name sitting far from its usual ratio, on a day when its volume is also elevated, is worth a second look. The ratio’s level is close to meaningless; its deviation from the name’s own norm is not.

Split by timeframe

The single best improvement to a positioning dashboard: report the put/call ratio by expiration bucket rather than as one number.

Near-dated and long-dated positioning frequently disagree — hedged over the next few weeks, constructive over a year — and a blended ratio averages that away entirely. The horizon breakdown is a better question than any overall verdict.

Weight by premium, not contract count

Ten thousand low-value contracts and a hundred high-value contracts can have similar notional significance and wildly different contract counts. An estimated premium weighting — FMV times volume — puts them on a comparable scale and can be more useful than volume alone.

This remains an estimate, not traded premium: FMV is not an executable price and the snapshot cannot identify the price at which the reported volume traded.

Comparing two names

Two rules make a comparison valid:

Use delta, not strike, for the axis. Two names trading at different prices cannot be overlaid on a strike axis — their activity lands in different regions and the comparison says nothing. Delta is dimensionless, so the 0.25-delta call is the same relative position in both.

Account for activity. In a thinner chain a handful of contracts can dominate the volume picture, so the same chart carries less weight. That is a real difference between two panels, not a rendering artefact.

”Today” is a partial day

Session volume against yesterday’s open interest is always comparing a partial figure with a completed one. Early in the session almost nothing looks unusual; by the close the same chart reads very differently. Any ratio-based reading needs to know what time it is.

Fields you need

day_volume, open_interest, implied_volatility, delta, strike_price, expiration_date, contract_type and underlying_price — all on the free data tier.

Watch it built

More in the single-ticker activity section, and see volume vs open interest for the ratio in detail.

This is research and education, not investment advice.