{"slug":"where-to-find-options-trade-data","qid":"iv_skew","label":"iv_skew","post_title":"where-to-find-options-trade-data","post_url":"/blog/where-to-find-options-trade-data#q-iv_skew","columns":["strike","put_iv_pct","call_iv_pct","contracts_volume"],"rows":[{"strike":"573","put_iv_pct":18,"call_iv_pct":15.6,"contracts_volume":430},{"strike":"574","put_iv_pct":18.2,"call_iv_pct":14.9,"contracts_volume":487},{"strike":"575","put_iv_pct":17.7,"call_iv_pct":17,"contracts_volume":17465},{"strike":"576","put_iv_pct":17.6,"call_iv_pct":15.6,"contracts_volume":940},{"strike":"577","put_iv_pct":17.2,"call_iv_pct":15.8,"contracts_volume":378},{"strike":"578","put_iv_pct":17.3,"call_iv_pct":16.8,"contracts_volume":868},{"strike":"579","put_iv_pct":17.2,"call_iv_pct":15.6,"contracts_volume":1696},{"strike":"580","put_iv_pct":16.9,"call_iv_pct":16.1,"contracts_volume":6640},{"strike":"581","put_iv_pct":17.1,"call_iv_pct":15.2,"contracts_volume":574},{"strike":"582","put_iv_pct":16.6,"call_iv_pct":14.7,"contracts_volume":450},{"strike":"583","put_iv_pct":16.8,"call_iv_pct":15.2,"contracts_volume":909},{"strike":"584","put_iv_pct":16.5,"call_iv_pct":15.1,"contracts_volume":475},{"strike":"585","put_iv_pct":16.3,"call_iv_pct":15.4,"contracts_volume":7892},{"strike":"586","put_iv_pct":16.2,"call_iv_pct":14.5,"contracts_volume":2163},{"strike":"587","put_iv_pct":16,"call_iv_pct":14.4,"contracts_volume":2827},{"strike":"588","put_iv_pct":15.8,"call_iv_pct":15,"contracts_volume":2069},{"strike":"589","put_iv_pct":15.8,"call_iv_pct":14.8,"contracts_volume":1670},{"strike":"590","put_iv_pct":15.7,"call_iv_pct":14.6,"contracts_volume":7707},{"strike":"591","put_iv_pct":15.6,"call_iv_pct":14.7,"contracts_volume":1059},{"strike":"592","put_iv_pct":16.2,"call_iv_pct":14.4,"contracts_volume":2371},{"strike":"593","put_iv_pct":15.4,"call_iv_pct":14.2,"contracts_volume":480},{"strike":"594","put_iv_pct":15.8,"call_iv_pct":13.6,"contracts_volume":2473},{"strike":"595","put_iv_pct":15.3,"call_iv_pct":14,"contracts_volume":2645},{"strike":"596","put_iv_pct":16.1,"call_iv_pct":14,"contracts_volume":616},{"strike":"597","put_iv_pct":16.2,"call_iv_pct":13.9,"contracts_volume":325},{"strike":"598","put_iv_pct":15.5,"call_iv_pct":13.8,"contracts_volume":539},{"strike":"599","put_iv_pct":15.7,"call_iv_pct":13.3,"contracts_volume":244},{"strike":"600","put_iv_pct":15.1,"call_iv_pct":13.6,"contracts_volume":10169},{"strike":"605","put_iv_pct":15.5,"call_iv_pct":13.2,"contracts_volume":8151}],"shape":"table","sql":"SELECT\n    toString(toFloat64(strike_price))                                                    AS strike,\n    round(maxIf(implied_volatility, lower(toString(option_type)) LIKE 'p%') * 100, 1)   AS put_iv_pct,\n    round(maxIf(implied_volatility, lower(toString(option_type)) LIKE 'c%') * 100, 1)   AS call_iv_pct,\n    sum(volume)                                                                          AS contracts_volume\nFROM global_markets.options_greeks\nWHERE underlying_symbol = 'SPY'\n  AND date = '2025-05-15'\n  AND expiration_date = '2025-06-20'\n  AND iv_converged = 1\n  AND volume > 0\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.03\nGROUP BY strike_price\nHAVING countIf(lower(toString(option_type)) LIKE 'p%') > 0\n   AND countIf(lower(toString(option_type)) LIKE 'c%') > 0\nORDER BY strike_price","computed_at":"2026-09-18T15:41:19.891232+00:00","elapsed":0.003130449}