{"slug":"what-is-vomma","qid":"iv_smile","label":"Implied volatility across strikes on the same SPY expiry","post_title":"What Is Vomma? The Convexity of Vega","post_url":"/blog/what-is-vomma#q-iv_smile","columns":["moneyness","implied_vol_pct","vs_chain_avg_pts","contracts"],"rows":[{"moneyness":"10%+ below spot","implied_vol_pct":34.15,"vs_chain_avg_pts":16.96,"contracts":31},{"moneyness":"5-10% below","implied_vol_pct":19.06,"vs_chain_avg_pts":1.88,"contracts":22},{"moneyness":"2-5% below","implied_vol_pct":16.42,"vs_chain_avg_pts":-0.76,"contracts":31},{"moneyness":"within 2% of spot","implied_vol_pct":13.45,"vs_chain_avg_pts":-3.74,"contracts":58},{"moneyness":"2-5% above","implied_vol_pct":11.67,"vs_chain_avg_pts":-5.51,"contracts":29},{"moneyness":"5-10% above","implied_vol_pct":11.52,"vs_chain_avg_pts":-5.66,"contracts":13},{"moneyness":"10%+ above spot","implied_vol_pct":14.02,"vs_chain_avg_pts":-3.17,"contracts":5}],"shape":"ranking","sql":"WITH\n    (\n        SELECT max(date)\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n    ) AS snap_date,\n    (\n        SELECT argMin(expiration_date, abs(toInt32(days_to_expiry) - 35))\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date = snap_date\n          AND iv_converged = 1\n          AND volume > 0\n          AND days_to_expiry BETWEEN 20 AND 60\n    ) AS expiry\nSELECT\n    strike_band                                        AS moneyness,\n    round(100 * avg_iv, 2)                             AS implied_vol_pct,\n    round(100 * avg_iv - 100 * avg(avg_iv) OVER (), 2) AS vs_chain_avg_pts,\n    contracts\nFROM\n(\n    SELECT\n        multiIf(k < -0.10, '10%+ below spot',\n                k < -0.05, '5-10% below',\n                k < -0.02, '2-5% below',\n                k <= 0.02, 'within 2% of spot',\n                k <= 0.05, '2-5% above',\n                k <= 0.10, '5-10% above',\n                           '10%+ above spot')     AS strike_band,\n        multiIf(k < -0.10, 1, k < -0.05, 2, k < -0.02, 3,\n                k <= 0.02, 4, k <= 0.05, 5, k <= 0.10, 6, 7) AS band_sort,\n        avg(sigma)                                 AS avg_iv,\n        count()                                    AS contracts\n    FROM\n    (\n        SELECT\n            toFloat64(strike_price) / toFloat64(underlying_close) - 1 AS k,\n            toFloat64(implied_volatility)                             AS sigma\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'SPY'\n          AND date = snap_date\n          AND expiration_date = expiry\n          AND iv_converged = 1\n          AND volume > 0\n          AND vega > 0\n          AND days_to_expiry >= 7\n          AND implied_volatility BETWEEN 0.02 AND 3.0\n    )\n    GROUP BY strike_band, band_sort\n)\nORDER BY band_sort","computed_at":"2026-10-05T15:52:54.491841+00:00","elapsed":0.004944404}