{"slug":"what-is-the-put-call-ratio","qid":"june_extremes","label":"The June 2026 put-call range: median, high and low of the daily market-wide ratio","post_title":"What Is the Put-Call Ratio? A Data Guide","post_url":"/blog/what-is-the-put-call-ratio#q-june_extremes","columns":["june_median","june_high","june_high_day","june_low","june_low_day"],"rows":[{"june_median":0.793,"june_high":0.923,"june_high_day":"June 25","june_low":0.589,"june_low_day":"June 1"}],"shape":"scalar","sql":"WITH daily AS (\n    SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS day,\n           sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'P')\n           / sumIf(toFloat64(volume), substring(ticker, length(ticker) - 8, 1) = 'C') AS ratio\n    FROM global_markets.options_minute_aggs\n    WHERE window_start >= '2026-06-01 04:00:00'\n      AND window_start < '2026-07-01 04:00:00'\n    GROUP BY day\n)\nSELECT round(quantileDeterministic(0.5)(ratio, cityHash64(toString(day))), 3) AS june_median,\n       round(max(ratio), 3) AS june_high,\n       concat(monthName(argMax(day, ratio)), ' ', toString(toDayOfMonth(argMax(day, ratio)))) AS june_high_day,\n       round(min(ratio), 3) AS june_low,\n       concat(monthName(argMin(day, ratio)), ' ', toString(toDayOfMonth(argMin(day, ratio)))) AS june_low_day\nFROM daily","computed_at":"2026-08-11T14:21:17.220146+00:00","elapsed":0.003555506}