What Is the Put-Call Ratio? A Data Guide
The put-call ratio is puts traded divided by calls traded. Six weeks of full-market options volume show its real range — and what a stressed session does.
The put-call ratio is the day's put volume divided by its call volume: how many bearish-side contracts traded for every bullish-side one. A reading above 1.0 means more puts than calls changed hands; well below 1.0 means calls dominated. Most explanations stop at the definition and a folk rule of thumb. This page computes the real thing — every listed US option contract, every trading day for almost six weeks — so you can see what the ratio actually does.
How is the put-call ratio calculated?
Take every option trade in a session, sum the contract volume in puts, sum it in calls, divide. A put is a contract that gains value as the underlying falls; a call gains as it rises — so the ratio is read as a rough temperature of hedging and downside positioning versus upside positioning. Two important details hide in the word "volume":
- Volume, not open interest. The standard ratio counts contracts traded that day. A variant uses open interest — contracts outstanding — which moves far more slowly. Know which one a chart is showing you.
- Every trade has two sides. A put bought to open, a put sold to close a hedge, and a put written for income all print the same volume. The ratio counts activity, not intent.
What does the market-wide ratio look like?
Computed across every listed US equity and ETF option, day by day, June 1 through July 8, 2026:
The exact SQL behind every number
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 3) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-09 04:00:00'
GROUP BY day
ORDER BY dayThe series opened the window at 0.589 on 2026-06-01 and never crossed 1.0 — calls out-traded puts on every single session. That is the first practical lesson: in this market, put-call parity of volume is rare, and the ratio's information lives in its movement within a range, not around the 1.0 line. The summary statistics for June:
The exact SQL behind every number
WITH daily AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,
sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
GROUP BY day
)
SELECT round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS june_median,
round(max(ratio), 3) AS june_high,
toString(argMax(day, ratio)) AS june_high_day,
round(min(ratio), 3) AS june_low,
toString(argMin(day, ratio)) AS june_low_day
FROM dailyJune's median sat at 0.793, inside a band from 0.589 (on 2026-06-01) up to 0.923 (on 2026-06-25). Now look at the stretch of tape everyone remembers from the month — the June 5 selloff, documented in the June 2026 recap. Options traded 103.1 million contracts — the busiest session in the whole window — and the ratio jumped to 0.866, from 0.679 the day before. The selloff session and the put-heavy, record-volume session were the same session. That is the ratio doing its job: registering a surge of downside positioning during stress, in real time.
Two practical notes on reading a series like this. First, the level drifts with the mix of products trading that week — heavy index-hedging sessions pull it up, heavy single-stock speculation pulls it down — so small day-to-day wiggles inside the band carry little meaning on their own. Second, total volume is essential context: the same ratio on double the contracts is a much louder statement, which is why the panel carries contract counts alongside the ratio.
The ratio depends on what you point it at
A market-wide number hides enormous variation underneath. The same measurement, June 2026, pointed at five of the most active underlyings:
The exact SQL behind every number
SELECT multiIf(ticker LIKE 'O:SPY2%', 'SPY',
ticker LIKE 'O:QQQ2%', 'QQQ',
ticker LIKE 'O:NVDA2%', 'NVDA',
ticker LIKE 'O:TSLA2%', 'TSLA',
'AAPL') AS underlying,
round(sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')
/ sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C'), 2) AS put_call_ratio,
round(sum(toFloat64(volume)) / 1e6, 1) AS contracts_mm
FROM global_markets.options_minute_aggs
WHERE window_start >= '2026-06-01 04:00:00'
AND window_start < '2026-07-01 04:00:00'
AND (ticker LIKE 'O:SPY2%' OR ticker LIKE 'O:QQQ2%' OR ticker LIKE 'O:NVDA2%'
OR ticker LIKE 'O:TSLA2%' OR ticker LIKE 'O:AAPL2%')
GROUP BY underlying
ORDER BY put_call_ratio DESCSPY ran the most put-heavy of the five at 1.16, while NVDA sat at just 0.56. The pattern is structural: index products like SPY and QQQ are the standard vehicles for portfolio hedging, and hedging is done with puts — so index put-call ratios habitually run high. Single stocks attract more speculative call activity, and their ratios run low. This is exactly the reason practitioners track equity-only and index ratios separately: mixing them blurs two different populations. It also means comparing a ticker's ratio to another ticker's is close to meaningless — the useful comparison is a ticker against its own history.
How traders read it — and the honest limits
The common interpretations, stated as interpretations: a rising ratio is read as growing caution or hedging demand; an extreme spike is read by contrarians as capitulation — the moment the crowd has finally bought its insurance. The June 5 session above shows the mechanism honestly: the ratio spiked during the selloff, not before it. In this window the ratio worked as a coincident thermometer, not a forecast. Whatever rule of thumb you meet, test it against the actual series — the panel above is six weeks of ground truth, and 0DTE options (a large and growing share of that volume) keep changing what "normal" looks like.
Put-call ratio FAQ
What is a normal put-call ratio?
It depends on the population. Across all listed US options in June 2026, the daily market-wide ratio's median was 0.793, ranging 0.589 to 0.923 — always below 1.0. Index products habitually run higher (SPY printed 1.16 for the month) and single stocks lower (NVDA: 0.56).
Is a high put-call ratio bullish or bearish?
Both readings exist, and neither is a law. Taken at face value, heavy put volume is downside positioning; contrarians read extreme spikes as a sign the selling crowd is fully positioned. In the June 2026 data the spike arrived on the selloff day itself — coincident, not predictive.
Does the put-call ratio use volume or open interest?
The standard ratio uses the day's traded volume. An open-interest variant exists and moves much more slowly. The two can point in different directions on the same day — volume vs open interest covers the distinction.
Why is the put-call ratio usually below 1?
Across the whole listed market, call volume simply runs heavier than put volume — every session in the six weeks measured here. Single-stock speculation leans on calls, and covered-call writing adds steady call volume. Puts concentrate in index hedging, which is a smaller slice of total contracts.
Every value on this page is a stored query over the full options tape — expand any panel's SQL, or compute the ratio for your own watchlist on the Strasmore terminal.