{"slug":"what-is-volatility-skew","qid":"skew_census","label":"OTM put IV vs OTM call IV across every active underlying, July 15, 2026","post_title":"What Is Volatility Skew? The Smile, Measured","post_url":"/blog/what-is-volatility-skew#q-skew_census","columns":["underlyings","puts_richer","pct_puts_richer","median_skew_points"],"rows":[{"underlyings":348,"puts_richer":245,"pct_puts_richer":70.4,"median_skew_points":2.2}],"shape":"scalar","sql":"SELECT count() AS underlyings,\n       countIf(put_iv > call_iv) AS puts_richer,\n       round(100.0 * countIf(put_iv > call_iv) / count(), 1) AS pct_puts_richer,\n       round(100 * quantileExact(0.5)(put_iv - call_iv), 1) AS median_skew_points\nFROM (\n    SELECT underlying_symbol,\n           medianIf(implied_volatility, option_type = 'P' AND strike_price / underlying_close BETWEEN 0.85 AND 0.95) AS put_iv,\n           medianIf(implied_volatility, option_type = 'C' AND strike_price / underlying_close BETWEEN 1.05 AND 1.15) AS call_iv\n    FROM global_markets.options_greeks\n    WHERE date = toDate('2026-07-15') AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5\n      AND expiration_date BETWEEN date + 20 AND date + 60\n    GROUP BY underlying_symbol\n    HAVING countIf(option_type = 'P' AND strike_price / underlying_close BETWEEN 0.85 AND 0.95) >= 5\n       AND countIf(option_type = 'C' AND strike_price / underlying_close BETWEEN 1.05 AND 1.15) >= 5\n       AND sum(volume) >= 500\n)\nWHERE put_iv > 0 AND call_iv > 0","computed_at":"2026-08-14T14:33:38.801900+00:00","elapsed":0.003208529}