{"slug":"what-is-an-implied-volatility-index","qid":"iv30_trace","label":"iv30_trace","post_title":"what-is-an-implied-volatility-index","post_url":"/blog/what-is-an-implied-volatility-index#q-iv30_trace","columns":["session_date","as_of_label","near_iv_pct","far_iv_pct","iv30_pct"],"rows":[{"session_date":"2026-06-15","as_of_label":"June 15, 2026","near_iv_pct":21.77,"far_iv_pct":21.85,"iv30_pct":21.83},{"session_date":"2026-06-16","as_of_label":"June 16, 2026","near_iv_pct":21.94,"far_iv_pct":21.55,"iv30_pct":21.6},{"session_date":"2026-06-17","as_of_label":"June 17, 2026","near_iv_pct":22.84,"far_iv_pct":22.63,"iv30_pct":22.84},{"session_date":"2026-06-18","as_of_label":"June 18, 2026","near_iv_pct":22.33,"far_iv_pct":22.57,"iv30_pct":22.37},{"session_date":"2026-06-22","as_of_label":"June 22, 2026","near_iv_pct":23.89,"far_iv_pct":24.32,"iv30_pct":24.22},{"session_date":"2026-06-23","as_of_label":"June 23, 2026","near_iv_pct":24.37,"far_iv_pct":23.55,"iv30_pct":23.65},{"session_date":"2026-06-24","as_of_label":"June 24, 2026","near_iv_pct":25.87,"far_iv_pct":28.61,"iv30_pct":25.87},{"session_date":"2026-06-25","as_of_label":"June 25, 2026","near_iv_pct":28.16,"far_iv_pct":29.96,"iv30_pct":28.47},{"session_date":"2026-06-26","as_of_label":"June 26, 2026","near_iv_pct":27.12,"far_iv_pct":29.24,"iv30_pct":27.84},{"session_date":"2026-06-29","as_of_label":"June 29, 2026","near_iv_pct":25.88,"far_iv_pct":29.05,"iv30_pct":28.33},{"session_date":"2026-06-30","as_of_label":"June 30, 2026","near_iv_pct":25.49,"far_iv_pct":29.41,"iv30_pct":28.99},{"session_date":"2026-07-01","as_of_label":"July 1, 2026","near_iv_pct":28.54,"far_iv_pct":27.83,"iv30_pct":28.54},{"session_date":"2026-07-02","as_of_label":"July 2, 2026","near_iv_pct":28.42,"far_iv_pct":28.01,"iv30_pct":28.35},{"session_date":"2026-07-06","as_of_label":"July 6, 2026","near_iv_pct":28.98,"far_iv_pct":28.79,"iv30_pct":28.84},{"session_date":"2026-07-07","as_of_label":"July 7, 2026","near_iv_pct":29.16,"far_iv_pct":28.53,"iv30_pct":28.61},{"session_date":"2026-07-08","as_of_label":"July 8, 2026","near_iv_pct":29.12,"far_iv_pct":27.24,"iv30_pct":29.12},{"session_date":"2026-07-09","as_of_label":"July 9, 2026","near_iv_pct":28.2,"far_iv_pct":27.6,"iv30_pct":28.1},{"session_date":"2026-07-10","as_of_label":"July 10, 2026","near_iv_pct":28.55,"far_iv_pct":26.71,"iv30_pct":27.95},{"session_date":"2026-07-13","as_of_label":"July 13, 2026","near_iv_pct":29.76,"far_iv_pct":28.22,"iv30_pct":28.59},{"session_date":"2026-07-14","as_of_label":"July 14, 2026","near_iv_pct":28.49,"far_iv_pct":28.13,"iv30_pct":28.17},{"session_date":"2026-07-15","as_of_label":"July 15, 2026","near_iv_pct":28.69,"far_iv_pct":27.3,"iv30_pct":28.69},{"session_date":"2026-07-16","as_of_label":"July 16, 2026","near_iv_pct":29.49,"far_iv_pct":29.02,"iv30_pct":29.41},{"session_date":"2026-07-17","as_of_label":"July 17, 2026","near_iv_pct":31.74,"far_iv_pct":30.24,"iv30_pct":31.25},{"session_date":"2026-07-20","as_of_label":"July 20, 2026","near_iv_pct":31.47,"far_iv_pct":30.2,"iv30_pct":30.51},{"session_date":"2026-07-21","as_of_label":"July 21, 2026","near_iv_pct":31.66,"far_iv_pct":30.32,"iv30_pct":30.48},{"session_date":"2026-07-22","as_of_label":"July 22, 2026","near_iv_pct":29.73,"far_iv_pct":29.54,"iv30_pct":29.73},{"session_date":"2026-07-23","as_of_label":"July 23, 2026","near_iv_pct":29.84,"far_iv_pct":28.87,"iv30_pct":29.68},{"session_date":"2026-07-24","as_of_label":"July 24, 2026","near_iv_pct":29.26,"far_iv_pct":28.68,"iv30_pct":29.07},{"session_date":"2026-07-27","as_of_label":"July 27, 2026","near_iv_pct":30.49,"far_iv_pct":29.61,"iv30_pct":29.82},{"session_date":"2026-07-28","as_of_label":"July 28, 2026","near_iv_pct":30.03,"far_iv_pct":28.84,"iv30_pct":28.97},{"session_date":"2026-07-29","as_of_label":"July 29, 2026","near_iv_pct":29.44,"far_iv_pct":29.21,"iv30_pct":29.44},{"session_date":"2026-07-30","as_of_label":"July 30, 2026","near_iv_pct":45.18,"far_iv_pct":38.65,"iv30_pct":44.13},{"session_date":"2026-07-31","as_of_label":"July 31, 2026","near_iv_pct":27.4,"far_iv_pct":26.71,"iv30_pct":27.17},{"session_date":"2026-08-03","as_of_label":"August 3, 2026","near_iv_pct":27.44,"far_iv_pct":27.1,"iv30_pct":27.18},{"session_date":"2026-08-04","as_of_label":"August 4, 2026","near_iv_pct":26.71,"far_iv_pct":26.6,"iv30_pct":26.61},{"session_date":"2026-08-05","as_of_label":"August 5, 2026","near_iv_pct":26.36,"far_iv_pct":26.36,"iv30_pct":26.36},{"session_date":"2026-08-06","as_of_label":"August 6, 2026","near_iv_pct":25.01,"far_iv_pct":25.12,"iv30_pct":25.03},{"session_date":"2026-08-07","as_of_label":"August 7, 2026","near_iv_pct":23.9,"far_iv_pct":24.74,"iv30_pct":24.18},{"session_date":"2026-08-10","as_of_label":"August 10, 2026","near_iv_pct":24.47,"far_iv_pct":24.47,"iv30_pct":24.47},{"session_date":"2026-08-11","as_of_label":"August 11, 2026","near_iv_pct":22.92,"far_iv_pct":23.56,"iv30_pct":23.49},{"session_date":"2026-08-12","as_of_label":"August 12, 2026","near_iv_pct":23.43,"far_iv_pct":23.59,"iv30_pct":23.43},{"session_date":"2026-08-13","as_of_label":"August 13, 2026","near_iv_pct":24.31,"far_iv_pct":23.71,"iv30_pct":24.21},{"session_date":"2026-08-14","as_of_label":"August 14, 2026","near_iv_pct":22.51,"far_iv_pct":22.64,"iv30_pct":22.55},{"session_date":"2026-08-17","as_of_label":"August 17, 2026","near_iv_pct":23.21,"far_iv_pct":23.68,"iv30_pct":23.57},{"session_date":"2026-08-18","as_of_label":"August 18, 2026","near_iv_pct":24.09,"far_iv_pct":24.29,"iv30_pct":24.27},{"session_date":"2026-08-19","as_of_label":"August 19, 2026","near_iv_pct":24.97,"far_iv_pct":25.07,"iv30_pct":24.97},{"session_date":"2026-08-20","as_of_label":"August 20, 2026","near_iv_pct":25.03,"far_iv_pct":25.6,"iv30_pct":25.13},{"session_date":"2026-08-21","as_of_label":"August 21, 2026","near_iv_pct":24.16,"far_iv_pct":24.57,"iv30_pct":24.3},{"session_date":"2026-08-24","as_of_label":"August 24, 2026","near_iv_pct":24.69,"far_iv_pct":24.75,"iv30_pct":24.73},{"session_date":"2026-08-25","as_of_label":"August 25, 2026","near_iv_pct":24.86,"far_iv_pct":24.99,"iv30_pct":24.98},{"session_date":"2026-08-26","as_of_label":"August 26, 2026","near_iv_pct":25.6,"far_iv_pct":24.54,"iv30_pct":25.6},{"session_date":"2026-08-27","as_of_label":"August 27, 2026","near_iv_pct":24.68,"far_iv_pct":25.84,"iv30_pct":24.88},{"session_date":"2026-08-28","as_of_label":"August 28, 2026","near_iv_pct":23.96,"far_iv_pct":24.01,"iv30_pct":23.97},{"session_date":"2026-08-31","as_of_label":"August 31, 2026","near_iv_pct":24.04,"far_iv_pct":24.46,"iv30_pct":24.36}],"shape":"series","sql":"SELECT\n    toString(date)                                              AS session_date,\n    concat(monthName(date), ' ', toString(toDayOfMonth(date)), ', ', toString(toYear(date))) AS as_of_label,\n    round(near_iv * 100, 2)                                     AS near_iv_pct,\n    round(far_iv * 100, 2)                                      AS far_iv_pct,\n    round(sqrt((near_iv * near_iv * near_dte * (far_dte - 30)\n              + far_iv * far_iv * far_dte * (30 - near_dte))\n              / (far_dte - near_dte) / 30) * 100, 2)            AS iv30_pct\nFROM\n(\n    SELECT\n        date,\n        maxIf(days_to_expiry, days_to_expiry <= 30)             AS near_dte,\n        minIf(days_to_expiry, days_to_expiry > 30)              AS far_dte,\n        argMaxIf(atm_iv, days_to_expiry, days_to_expiry <= 30)  AS near_iv,\n        argMinIf(atm_iv, days_to_expiry, days_to_expiry > 30)   AS far_iv\n    FROM\n    (\n        SELECT\n            date,\n            days_to_expiry,\n            avg(toFloat64(implied_volatility))  AS atm_iv,\n            count()                             AS contracts\n        FROM global_markets.options_greeks\n        WHERE underlying_symbol = 'AAPL'\n          AND date BETWEEN '2026-06-15' AND '2026-08-31'\n          AND iv_converged = 1\n          AND volume > 0\n          AND days_to_expiry BETWEEN 7 AND 90\n          AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025\n        GROUP BY date, days_to_expiry\n        HAVING contracts >= 2\n    )\n    GROUP BY date\n    HAVING countIf(days_to_expiry <= 30) > 0\n       AND countIf(days_to_expiry > 30) > 0\n)\nORDER BY date","computed_at":"2026-09-12T01:31:10.939259+00:00","elapsed":0.003974831}