STRASMORE/EXPLORE 3,293 QUERIES 22Y EQUITIES · 12Y OPTIONS

3,293 answered market questions

every one with its exact SQL, its result and the date it was computed · free, no signup

What Is the CME CVOL Index? CVOL vs VIX
SPY at-the-money implied volatility by days to expiry, June 2026ranking · 2026-09-18 · 7×2Preview: 7 ranked values, largest first. SPY 30-day OTM strip, June 2026: implied volatility and relative strike weight under each methodranking · 2026-09-18 · 11×4Preview: 11 ranked values, largest first.
SPY at-the-money implied volatility by days to expiry, June 2026

SPY at-the-money implied volatility by days to expiry, June 2026

most recentas of ranking 7×2read in context →
SPY at-the-money implied volatility by days to expiry, June 2026 — 7 rows by 2 columns, computed from US exchange, SIP and OPRA data.
tenoratm_iv_pct
1-7 days17.2
8-14 days14.8
15-21 days15.8
22-30 days15.2
31-45 days15.4
46-60 days15.7
61-90 days16
the exact SQL behind every number
SELECT
    tenor_label                              AS tenor,
    round(100 * avg(implied_volatility), 1)  AS atm_iv_pct
FROM
(
    SELECT
        implied_volatility,
        multiIf(days_to_expiry <= 7,  '1-7 days',
                days_to_expiry <= 14, '8-14 days',
                days_to_expiry <= 21, '15-21 days',
                days_to_expiry <= 30, '22-30 days',
                days_to_expiry <= 45, '31-45 days',
                days_to_expiry <= 60, '46-60 days',
                                      '61-90 days') AS tenor_label,
        multiIf(days_to_expiry <= 7,  1,
                days_to_expiry <= 14, 2,
                days_to_expiry <= 21, 3,
                days_to_expiry <= 30, 4,
                days_to_expiry <= 45, 5,
                days_to_expiry <= 60, 6,
                                      7) AS tenor_order
    FROM global_markets.options_greeks
    WHERE underlying_symbol = 'SPY'
      AND date >= '2026-06-01'
      AND date <  '2026-07-01'
      AND iv_converged = 1
      AND volume > 0
      AND days_to_expiry BETWEEN 1 AND 90
      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.02
)
GROUP BY tenor_label, tenor_order
ORDER BY tenor_order
$