STRASMORE/EXPLORE 2,358 QUERIES

spy_term_structure

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-18, from what-is-the-cme-cvol-index.

as of ranking 7×2read in context →
spy_term_structure — 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
Rows × columns
7 × 2
Computed
Completeness
No missing values
Source
US exchange, SIP and OPRA market data
Licence
Strasmore terms · free, no signup
Formats
JSON · CSV · the SQL below

What each column holds

Column definitions for spy_term_structure, derived from the stored result.
ColumnTypeRangeNotes
tenor text 7 distinct values (1-7 days, 15-21 days, 22-30 days…)
atm_iv_pct number 14.8 to 17.2 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
    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

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-the-cme-cvol-index
spy_strike_weights ranking 11×4 Top 25 weekly-options underlyings by distinct contracts traded, with expiration weekdays ranking 25×4 Annualized volatility vs total return, 25 large caps, calmest to wildest (~2 years) ranking 25×3 SPY options median spread by expiration date, near-the-money strikes only ranking 25×4 Share of prints with a placeholder participant timestamp, one March session per year (IBM and MSFT) ranking 24×4 When market headlines publish, by New York clock hour ranking 24×2 See all 2,358 queries →