{"slug":"implied-volatility-vs-vega","qid":"vega_by_moneyness","label":"Where vega peaks: AAPL vega and IV across strikes, 20 to 45 days out (July 2026)","post_title":"Implied Volatility vs Vega: The Difference","post_url":"/blog/implied-volatility-vs-vega#q-vega_by_moneyness","columns":["strike_vs_spot","avg_iv_pct","vega_vs_peak","contract_day_count"],"rows":[{"strike_vs_spot":"-12% from spot","avg_iv_pct":35.5,"vega_vs_peak":0.46,"contract_day_count":187},{"strike_vs_spot":"-10% from spot","avg_iv_pct":32.7,"vega_vs_peak":0.55,"contract_day_count":182},{"strike_vs_spot":"-8% from spot","avg_iv_pct":31.9,"vega_vs_peak":0.68,"contract_day_count":197},{"strike_vs_spot":"-6% from spot","avg_iv_pct":30.9,"vega_vs_peak":0.81,"contract_day_count":238},{"strike_vs_spot":"-4% from spot","avg_iv_pct":30.7,"vega_vs_peak":0.92,"contract_day_count":206},{"strike_vs_spot":"-2% from spot","avg_iv_pct":29.8,"vega_vs_peak":0.99,"contract_day_count":226},{"strike_vs_spot":"0% from spot","avg_iv_pct":29.2,"vega_vs_peak":1,"contract_day_count":233},{"strike_vs_spot":"2% from spot","avg_iv_pct":29,"vega_vs_peak":0.97,"contract_day_count":210},{"strike_vs_spot":"4% from spot","avg_iv_pct":29.6,"vega_vs_peak":0.88,"contract_day_count":201},{"strike_vs_spot":"6% from spot","avg_iv_pct":29.2,"vega_vs_peak":0.76,"contract_day_count":169},{"strike_vs_spot":"8% from spot","avg_iv_pct":29.6,"vega_vs_peak":0.65,"contract_day_count":133},{"strike_vs_spot":"10% from spot","avg_iv_pct":29.3,"vega_vs_peak":0.52,"contract_day_count":130}],"shape":"ranking","sql":"WITH mny AS\n(\n    SELECT\n        floor((toFloat64(strike_price) / toFloat64(underlying_close) - 1) * 50) / 50 AS strike_offset,\n        avg(toFloat64(vega))    AS vega_avg,\n        avg(implied_volatility) AS iv_avg,\n        count()                 AS contract_days\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'AAPL'\n      AND date >= '2026-07-01'\n      AND date <  '2026-08-01'\n      AND iv_converged = 1\n      AND volume > 0\n      AND days_to_expiry BETWEEN 20 AND 45\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) <= 0.12\n    GROUP BY strike_offset\n    HAVING count() >= 30\n)\nSELECT\n    concat(toString(toInt32(round(strike_offset * 100))), '% from spot') AS strike_vs_spot,\n    round(iv_avg * 100, 1)                                              AS avg_iv_pct,\n    round(vega_avg / max(vega_avg) OVER (), 2)                          AS vega_vs_peak,\n    toUInt32(contract_days)                                             AS contract_day_count\nFROM mny\nORDER BY strike_offset","computed_at":"2026-08-13T15:29:08.340735+00:00","elapsed":0.002864483}