iv30_trace
Answered against 22 years of US equities and 12 years of US options data and published with the query that produced it. This result is stored as of 2026-09-12, from what-is-an-implied-volatility-index.
| session_date | as_of_label | near_iv_pct | far_iv_pct | iv30_pct |
|---|---|---|---|---|
| 2026-06-15 | June 15, 2026 | 21.77 | 21.85 | 21.83 |
| 2026-06-16 | June 16, 2026 | 21.94 | 21.55 | 21.6 |
| 2026-06-17 | June 17, 2026 | 22.84 | 22.63 | 22.84 |
| 2026-06-18 | June 18, 2026 | 22.33 | 22.57 | 22.37 |
| 2026-06-22 | June 22, 2026 | 23.89 | 24.32 | 24.22 |
| 2026-06-23 | June 23, 2026 | 24.37 | 23.55 | 23.65 |
| 2026-06-24 | June 24, 2026 | 25.87 | 28.61 | 25.87 |
| 2026-06-25 | June 25, 2026 | 28.16 | 29.96 | 28.47 |
| 2026-06-26 | June 26, 2026 | 27.12 | 29.24 | 27.84 |
| 2026-06-29 | June 29, 2026 | 25.88 | 29.05 | 28.33 |
| 2026-06-30 | June 30, 2026 | 25.49 | 29.41 | 28.99 |
| 2026-07-01 | July 1, 2026 | 28.54 | 27.83 | 28.54 |
| 2026-07-02 | July 2, 2026 | 28.42 | 28.01 | 28.35 |
| 2026-07-06 | July 6, 2026 | 28.98 | 28.79 | 28.84 |
| 2026-07-07 | July 7, 2026 | 29.16 | 28.53 | 28.61 |
| 2026-07-08 | July 8, 2026 | 29.12 | 27.24 | 29.12 |
| 2026-07-09 | July 9, 2026 | 28.2 | 27.6 | 28.1 |
| 2026-07-10 | July 10, 2026 | 28.55 | 26.71 | 27.95 |
| 2026-07-13 | July 13, 2026 | 29.76 | 28.22 | 28.59 |
| 2026-07-14 | July 14, 2026 | 28.49 | 28.13 | 28.17 |
| 2026-07-15 | July 15, 2026 | 28.69 | 27.3 | 28.69 |
| 2026-07-16 | July 16, 2026 | 29.49 | 29.02 | 29.41 |
| 2026-07-17 | July 17, 2026 | 31.74 | 30.24 | 31.25 |
| 2026-07-20 | July 20, 2026 | 31.47 | 30.2 | 30.51 |
| 2026-07-21 | July 21, 2026 | 31.66 | 30.32 | 30.48 |
| 2026-07-22 | July 22, 2026 | 29.73 | 29.54 | 29.73 |
| 2026-07-23 | July 23, 2026 | 29.84 | 28.87 | 29.68 |
| 2026-07-24 | July 24, 2026 | 29.26 | 28.68 | 29.07 |
| 2026-07-27 | July 27, 2026 | 30.49 | 29.61 | 29.82 |
| 2026-07-28 | July 28, 2026 | 30.03 | 28.84 | 28.97 |
| 2026-07-29 | July 29, 2026 | 29.44 | 29.21 | 29.44 |
| 2026-07-30 | July 30, 2026 | 45.18 | 38.65 | 44.13 |
| 2026-07-31 | July 31, 2026 | 27.4 | 26.71 | 27.17 |
| 2026-08-03 | August 3, 2026 | 27.44 | 27.1 | 27.18 |
| 2026-08-04 | August 4, 2026 | 26.71 | 26.6 | 26.61 |
| 2026-08-05 | August 5, 2026 | 26.36 | 26.36 | 26.36 |
| 2026-08-06 | August 6, 2026 | 25.01 | 25.12 | 25.03 |
| 2026-08-07 | August 7, 2026 | 23.9 | 24.74 | 24.18 |
| 2026-08-10 | August 10, 2026 | 24.47 | 24.47 | 24.47 |
| 2026-08-11 | August 11, 2026 | 22.92 | 23.56 | 23.49 |
| 2026-08-12 | August 12, 2026 | 23.43 | 23.59 | 23.43 |
| 2026-08-13 | August 13, 2026 | 24.31 | 23.71 | 24.21 |
| 2026-08-14 | August 14, 2026 | 22.51 | 22.64 | 22.55 |
| 2026-08-17 | August 17, 2026 | 23.21 | 23.68 | 23.57 |
| 2026-08-18 | August 18, 2026 | 24.09 | 24.29 | 24.27 |
| 2026-08-19 | August 19, 2026 | 24.97 | 25.07 | 24.97 |
| 2026-08-20 | August 20, 2026 | 25.03 | 25.6 | 25.13 |
| 2026-08-21 | August 21, 2026 | 24.16 | 24.57 | 24.3 |
| 2026-08-24 | August 24, 2026 | 24.69 | 24.75 | 24.73 |
| 2026-08-25 | August 25, 2026 | 24.86 | 24.99 | 24.98 |
| 2026-08-26 | August 26, 2026 | 25.6 | 24.54 | 25.6 |
| 2026-08-27 | August 27, 2026 | 24.68 | 25.84 | 24.88 |
| 2026-08-28 | August 28, 2026 | 23.96 | 24.01 | 23.97 |
| 2026-08-31 | August 31, 2026 | 24.04 | 24.46 | 24.36 |
- Rows × columns
- 54 × 5
- Period covered
- to
- Computed
- Completeness
- No missing values
- Source
- US exchange, SIP and OPRA market data
- Licence
- Strasmore terms · free, no signup
What each column holds
| Column | Type | Range | Notes |
|---|---|---|---|
session_date |
date | 2026-06-15 to 2026-08-31 | |
as_of_label |
text | 54 distinct values | |
near_iv_pct |
number | 21.77 to 45.18 | percent |
far_iv_pct |
number | 21.55 to 38.65 | percent |
iv30_pct |
number | 21.6 to 44.13 | percent |
Computed from Strasmore's warehouse of US exchange, SIP and OPRA market data. Equity prices are delayed; options greeks and implied volatility are end-of-day. This result is stored, not recomputed on load — it is exactly the numbers that were returned on , and the query below is what returned them.
the exact SQL behind every number
SELECT
toString(date) AS session_date,
concat(monthName(date), ' ', toString(toDayOfMonth(date)), ', ', toString(toYear(date))) AS as_of_label,
round(near_iv * 100, 2) AS near_iv_pct,
round(far_iv * 100, 2) AS far_iv_pct,
round(sqrt((near_iv * near_iv * near_dte * (far_dte - 30)
+ far_iv * far_iv * far_dte * (30 - near_dte))
/ (far_dte - near_dte) / 30) * 100, 2) AS iv30_pct
FROM
(
SELECT
date,
maxIf(days_to_expiry, days_to_expiry <= 30) AS near_dte,
minIf(days_to_expiry, days_to_expiry > 30) AS far_dte,
argMaxIf(atm_iv, days_to_expiry, days_to_expiry <= 30) AS near_iv,
argMinIf(atm_iv, days_to_expiry, days_to_expiry > 30) AS far_iv
FROM
(
SELECT
date,
days_to_expiry,
avg(toFloat64(implied_volatility)) AS atm_iv,
count() AS contracts
FROM global_markets.options_greeks
WHERE underlying_symbol = 'AAPL'
AND date BETWEEN '2026-06-15' AND '2026-08-31'
AND iv_converged = 1
AND volume > 0
AND days_to_expiry BETWEEN 7 AND 90
AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.025
GROUP BY date, days_to_expiry
HAVING contracts >= 2
)
GROUP BY date
HAVING countIf(days_to_expiry <= 30) > 0
AND countIf(days_to_expiry > 30) > 0
)
ORDER BY date
Run your own version of this
The same 22 years of US equities and 12 years of options data are queryable in SQL or plain English. A free account runs 100 queries a day and takes no card.
More from this analysiswhat-is-an-implied-volatility-index
term_structure
series 13×5
→
iv_screener
ranking 6×4
→
bracket_legs
table 2×7
→
One SPY $600 LEAPS call's price over two years (expired Jan 16 2026)
series 470×2
→
2s10s spread, monthly average: last 20 years
series 240×2
→
Growth of $100 in the 1x SOXX vs the 3x SOXL, Jan 2 to Jul 13 2026
series 131×3
→
See all 2,214 queries →