{"slug":"what-is-an-implied-volatility-index","qid":"term_structure","label":"term_structure","post_title":"what-is-an-implied-volatility-index","post_url":"/blog/what-is-an-implied-volatility-index#q-term_structure","columns":["expiry_date","expiry_label","time_to_expiry","atm_iv_pct","contract_count"],"rows":[{"expiry_date":"2026-06-17","expiry_label":"June 17","time_to_expiry":"2 days","atm_iv_pct":25.51,"contract_count":12},{"expiry_date":"2026-06-18","expiry_label":"June 18","time_to_expiry":"3 days","atm_iv_pct":25.89,"contract_count":12},{"expiry_date":"2026-06-22","expiry_label":"June 22","time_to_expiry":"7 days","atm_iv_pct":20.86,"contract_count":12},{"expiry_date":"2026-06-24","expiry_label":"June 24","time_to_expiry":"9 days","atm_iv_pct":22.1,"contract_count":12},{"expiry_date":"2026-06-26","expiry_label":"June 26","time_to_expiry":"11 days","atm_iv_pct":22.68,"contract_count":12},{"expiry_date":"2026-06-29","expiry_label":"June 29","time_to_expiry":"14 days","atm_iv_pct":21.17,"contract_count":6},{"expiry_date":"2026-07-02","expiry_label":"July 2","time_to_expiry":"17 days","atm_iv_pct":22.17,"contract_count":11},{"expiry_date":"2026-07-10","expiry_label":"July 10","time_to_expiry":"25 days","atm_iv_pct":21.77,"contract_count":6},{"expiry_date":"2026-07-17","expiry_label":"July 17","time_to_expiry":"32 days","atm_iv_pct":21.85,"contract_count":6},{"expiry_date":"2026-07-24","expiry_label":"July 24","time_to_expiry":"39 days","atm_iv_pct":22.41,"contract_count":6},{"expiry_date":"2026-07-31","expiry_label":"July 31","time_to_expiry":"46 days","atm_iv_pct":25.45,"contract_count":6},{"expiry_date":"2026-08-21","expiry_label":"August 21","time_to_expiry":"67 days","atm_iv_pct":25.01,"contract_count":6},{"expiry_date":"2026-09-18","expiry_label":"September 18","time_to_expiry":"95 days","atm_iv_pct":25.45,"contract_count":6}],"shape":"series","sql":"SELECT\n    toString(expiration_date)                                              AS expiry_date,\n    concat(monthName(expiration_date), ' ', toString(toDayOfMonth(expiration_date))) AS expiry_label,\n    concat(toString(days_to_expiry), ' days')                              AS time_to_expiry,\n    round(avg(toFloat64(implied_volatility)) * 100, 2)                     AS atm_iv_pct,\n    count()                                                                AS contract_count\nFROM global_markets.options_greeks\nWHERE underlying_symbol = 'AAPL'\n  AND date = '2026-06-15'\n  AND iv_converged = 1\n  AND volume > 0\n  AND days_to_expiry BETWEEN 1 AND 120\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025\nGROUP BY expiration_date, days_to_expiry\nHAVING contract_count >= 2\nORDER BY expiration_date","computed_at":"2026-09-12T01:31:10.752460+00:00","elapsed":0.00285066}