STRASMORE/EXPLORE 3,293 QUERIES
Full options quote history: clean NBBO bid/ask snapshots for any US option contract at the interval you choose, by SQL API, $79 a month. See the options quotes plan

Monthly at-the-money 30 day implied volatility: GLD vs SPY

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-23, from GLD Implied Volatility, Explained.

as of series 60×4read in context →
Monthly at-the-money 30 day implied volatility: GLD vs SPY — 60 rows by 4 columns, computed from US exchange, SIP and OPRA data.
monthmonth_labelgld_atm_iv_pctspy_atm_iv_pct
2021-09-01Sep 202114.1915.08
2021-10-01Oct 202114.414.78
2021-11-01Nov 202114.8714.45
2021-12-01Dec 202114.1516.74
2022-01-01Jan 202213.9519.21
2022-02-01Feb 202215.2721.84
2022-03-01Mar 202221.6122.61
2022-04-01Apr 202216.6820.14
2022-05-01May 202217.0526.45
2022-06-01Jun 202215.8525.2
2022-07-01Jul 202217.1722.93
2022-08-01Aug 202215.0220.02
2022-09-01Sep 202216.8924.96
2022-10-01Oct 202218.2227.84
2022-11-01Nov 202215.8722.7
2022-12-01Dec 202214.5620.81
2023-01-01Jan 202315.2219.36
2023-02-01Feb 202314.4418.87
2023-03-01Mar 202316.7120.07
2023-04-01Apr 202316.5116.49
2023-05-01May 202316.1615.73
2023-06-01Jun 202312.8312.58
2023-07-01Jul 202311.912.98
2023-08-01Aug 202311.7514.34
2023-09-01Sep 202310.8413.65
2023-10-01Oct 202314.6217.04
2023-11-01Nov 202312.6813.13
2023-12-01Dec 202313.4712.14
2024-01-01Jan 202412.2712.47
2024-02-01Feb 202410.9612.55
2024-03-01Mar 202412.7212.57
2024-04-01Apr 202416.7114.71
2024-05-01May 202415.1612.27
2024-06-01Jun 202414.711.76
2024-07-01Jul 202414.9413.3
2024-08-01Aug 20241716.01
2024-09-01Sep 202416.1915.06
2024-10-01Oct 202416.9216.58
2024-11-01Nov 202416.0613.77
2024-12-01Dec 202414.512.71
2025-01-01Jan 202514.2614.4
2025-02-01Feb 202515.5514.1
2025-03-01Mar 202515.6319.02
2025-04-01Apr 202521.3227.22
2025-05-01May 202520.2118.48
2025-06-01Jun 202517.8815.86
2025-07-01Jul 202516.0714.96
2025-08-01Aug 202514.9113.72
2025-09-01Sep 202516.7813.27
2025-10-01Oct 202522.8215.71
2025-11-01Nov 202521.116.72
2025-12-01Dec 202520.713.5
2026-01-01Jan 202626.5914
2026-02-01Feb 202630.9616.41
2026-03-01Mar 202632.0821.01
2026-04-01Apr 202627.1817.22
2026-05-01May 202623.2715.44
2026-06-01Jun 20262415.7
2026-07-01Jul 202623.1214.79
2026-08-01Aug 202623.6113.34
Rows × columns
60 × 4
Period covered
to
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 Monthly at-the-money 30 day implied volatility: GLD vs SPY, derived from the stored result.
ColumnTypeRangeNotes
month date 2021-09-01 to 2026-08-01
month_label text 60 distinct values (Apr 2022, Apr 2023, Apr 2024…)
gld_atm_iv_pct number 10.84 to 32.08 percent
spy_atm_iv_pct number 11.76 to 27.84 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.

Run it yourself

This is the exact query behind the result above. Change a ticker, a date or a column and run it against the warehouse — no account, no key. The no-signup tier is smaller than the one this page was computed on; a query that reaches past it comes back saying which plan runs it.

SELECT
    toString(toStartOfMonth(date))                                                  AS month,
    formatDateTime(toStartOfMonth(date), '%b %Y')                                   AS month_label,
    round(avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'GLD'), 2) AS gld_atm_iv_pct,
    round(avgIf(toFloat64(implied_volatility) * 100, underlying_symbol = 'SPY'), 2) AS spy_atm_iv_pct
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('GLD', 'SPY')
  AND date >= '2021-09-01'
  AND date <  '2026-09-01'
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 20 AND 45
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY month, month_label
HAVING countIf(underlying_symbol = 'GLD') > 0
   AND countIf(underlying_symbol = 'SPY') > 0
ORDER BY month
⌘/Ctrl + Enter

Work with this data in your AI assistant

Opens ready to query, with this page's data. Free, no account.

More from this analysisGLD Implied Volatility, Explained
25 delta call minus put implied volatility, in volatility points series 60×5 → Average implied volatility by delta bucket, trailing twelve months ranking 5×3 → Percentile range of daily ATM implied volatility, five year window ranking 5×3 → Monthly at-the-money IV: GDX, GDXJ and SPY over the past year series 14×5 → Monthly price move, 2026: GDX vs the covered call wrapper GDXY series 11×3 → Downside wing cells: SPY put IV dispersion by contract volume, June 2026 ranking 6×4 → See all 3,293 queries →