{"slug":"is-high-implied-volatility-good","qid":"iv_rank_context","label":"The same reading against each name's own 52-week implied volatility range (July 28, 2026)","post_title":"Is High Implied Volatility Good? IV in Context","post_url":"/blog/is-high-implied-volatility-good#q-iv_rank_context","columns":["ticker","iv_now_pct","iv_52w_low_pct","iv_52w_high_pct","iv_rank"],"rows":[{"ticker":"QQQ","iv_now_pct":26,"iv_52w_low_pct":13.3,"iv_52w_high_pct":29,"iv_rank":80.7},{"ticker":"PLTR","iv_now_pct":67.8,"iv_52w_low_pct":42.1,"iv_52w_high_pct":76.7,"iv_rank":74.4},{"ticker":"COIN","iv_now_pct":78.9,"iv_52w_low_pct":37.2,"iv_52w_high_pct":93.5,"iv_rank":74.1},{"ticker":"KO","iv_now_pct":20.9,"iv_52w_low_pct":12.5,"iv_52w_high_pct":24.7,"iv_rank":68.7},{"ticker":"MSFT","iv_now_pct":43.3,"iv_52w_low_pct":8.9,"iv_52w_high_pct":60.4,"iv_rank":66.8},{"ticker":"JNJ","iv_now_pct":24,"iv_52w_low_pct":11.3,"iv_52w_high_pct":33.4,"iv_rank":57.7},{"ticker":"AAPL","iv_now_pct":29.3,"iv_52w_low_pct":19.3,"iv_52w_high_pct":36.7,"iv_rank":57.4},{"ticker":"MSTR","iv_now_pct":80.2,"iv_52w_low_pct":50.2,"iv_52w_high_pct":127.6,"iv_rank":38.8},{"ticker":"NVDA","iv_now_pct":43.9,"iv_52w_low_pct":32.7,"iv_52w_high_pct":61.7,"iv_rank":38.5},{"ticker":"TSLA","iv_now_pct":47.3,"iv_52w_low_pct":37,"iv_52w_high_pct":69.4,"iv_rank":31.9},{"ticker":"SPY","iv_now_pct":15.3,"iv_52w_low_pct":11.6,"iv_52w_high_pct":25.9,"iv_rank":25.7}],"shape":"table","sql":"WITH per_session AS (\n    SELECT underlying_symbol AS u,\n           date AS d,\n           100 * quantileExact(0.5)(implied_volatility) AS iv_pct\n    FROM global_markets.options_greeks\n    WHERE date BETWEEN '2025-07-28' AND '2026-07-28'\n      AND underlying_symbol IN ('KO','JNJ','SPY','QQQ','AAPL','MSFT','NVDA','TSLA','PLTR','COIN','MSTR')\n      AND iv_converged AND implied_volatility BETWEEN 0.02 AND 5\n      AND abs(strike_price / underlying_close - 1) <= 0.05\n      AND expiration_date BETWEEN date + 20 AND date + 60\n    GROUP BY u, d\n    HAVING count() >= 10\n)\nSELECT u AS ticker,\n       round(anyIf(iv_pct, d = '2026-07-28'), 1) AS iv_now_pct,\n       round(min(iv_pct), 1) AS iv_52w_low_pct,\n       round(max(iv_pct), 1) AS iv_52w_high_pct,\n       round(100 * (anyIf(iv_pct, d = '2026-07-28') - min(iv_pct)) / (max(iv_pct) - min(iv_pct)), 1) AS iv_rank\nFROM per_session\nGROUP BY ticker\nHAVING countIf(d = '2026-07-28') = 1 AND count() >= 200\nORDER BY iv_rank DESC","computed_at":"2026-08-17T14:10:27.098297+00:00","elapsed":0.004128112}