{"slug":"how-implied-volatility-is-calculated","qid":"iv_by_underlying","label":"At the money implied volatility and solver convergence, eight names, June 30, 2026","post_title":"How Implied Volatility Is Calculated","post_url":"/blog/how-implied-volatility-is-calculated#q-iv_by_underlying","columns":["symbol","atm_iv_pct","solved_pct","contract_count"],"rows":[{"symbol":"TSLA","atm_iv_pct":47.7,"solved_pct":97.8,"contract_count":364},{"symbol":"MSFT","atm_iv_pct":39.6,"solved_pct":95.5,"contract_count":221},{"symbol":"AMZN","atm_iv_pct":38.7,"solved_pct":96.3,"contract_count":163},{"symbol":"NVDA","atm_iv_pct":38.2,"solved_pct":93.8,"contract_count":209},{"symbol":"JNJ","atm_iv_pct":28.3,"solved_pct":100,"contract_count":53},{"symbol":"AAPL","atm_iv_pct":27.8,"solved_pct":89.6,"contract_count":154},{"symbol":"KO","atm_iv_pct":20.9,"solved_pct":100,"contract_count":79},{"symbol":"SPY","atm_iv_pct":14.4,"solved_pct":98.5,"contract_count":739}],"shape":"ranking","sql":"WITH abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) AS distance_from_spot\nSELECT underlying_symbol AS symbol,\n       round(100 * avgIf(toFloat64(implied_volatility), iv_converged = 1 AND distance_from_spot < 0.05), 1) AS atm_iv_pct,\n       round(100 * countIf(iv_converged = 1) / count(), 1) AS solved_pct,\n       count() AS contract_count\nFROM global_markets.options_greeks\nWHERE date = toDate('2026-06-30')\n  AND underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'AMZN', 'TSLA', 'SPY', 'KO', 'JNJ')\n  AND days_to_expiry BETWEEN 20 AND 45\n  AND volume > 0\nGROUP BY symbol\nHAVING countIf(iv_converged = 1 AND distance_from_spot < 0.05) > 0\nORDER BY atm_iv_pct DESC","computed_at":"2026-08-25T14:06:53.217127+00:00","elapsed":0.002940277}