Equity vs Index Put/Call Ratio: What's High?
The total is a call-volume-weighted blend of the two bucketsranking ·
2026-08-22 · 11×4
The same equity ratio, computed with and without ETF optionsseries ·
2026-08-22 · 23×4
Single-stock bucket vs ETF bucket, session by sessionseries ·
2026-08-22 · 33×6
Put/call volume ratio by underlying, trailing 60 sessionstable ·
2026-08-22 · 12×5
The total is a call-volume-weighted blend of the two buckets
The total is a call-volume-weighted blend of the two buckets
| index_share_of_call_volume | equity_ratio | index_ratio | blended_total_ratio |
|---|---|---|---|
| 0% | 0.556 | 1.396 | 0.556 |
| 10% | 0.556 | 1.396 | 0.64 |
| 20% | 0.556 | 1.396 | 0.724 |
| 30% | 0.556 | 1.396 | 0.808 |
| 40% | 0.556 | 1.396 | 0.892 |
| 50% | 0.556 | 1.396 | 0.976 |
| 60% | 0.556 | 1.396 | 1.06 |
| 70% | 0.556 | 1.396 | 1.144 |
| 80% | 0.556 | 1.396 | 1.228 |
| 90% | 0.556 | 1.396 | 1.312 |
| 100% | 0.556 | 1.396 | 1.396 |
the exact SQL behind every number
WITH components AS
(
SELECT
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS equity_ratio,
round(sumIf(volume, startsWith(lower(option_type), 'p') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA'))
/ sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')), 3) AS index_ratio
FROM global_markets.options_greeks
WHERE date >= (SELECT toDate(max(date))
FROM global_markets.options_greeks
WHERE volume > 0) - 60
AND volume > 0
AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'JPM', 'KO', 'JNJ',
'SPY', 'QQQ', 'IWM', 'DIA')
HAVING sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
AND sumIf(volume, startsWith(lower(option_type), 'c') AND underlying_symbol NOT IN ('SPY', 'QQQ', 'IWM', 'DIA')) > 0
)
SELECT
concat(toString(step * 10), '%') AS index_share_of_call_volume,
equity_ratio,
index_ratio,
round(equity_ratio + (index_ratio - equity_ratio) * (step / 10), 3) AS blended_total_ratio
FROM
(
SELECT
equity_ratio,
index_ratio,
arrayJoin(range(11)) AS step
FROM components
)
ORDER BY step
More from this analysisEquity vs Index Put/Call Ratio: What's High?
Single-stock bucket vs ETF bucket, session by session
series 33×6
→
The same equity ratio, computed with and without ETF options
series 23×4
→
Put/call volume ratio by underlying, trailing 60 sessions
table 12×5
→
Put/call volume ratio by underlying: January 1 to July 31, 2026
ranking 13×4
→
See all 2,170 queries →