STRASMORE/EXPLORE 3,022 QUERIES

At-the-money implied volatility: gold miners vs bullion vs the S&P 500

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-10-04, from Gold Miner Covered Call ETFs: Yield vs Upside.

as of table 4×6read in context →
At-the-money implied volatility: gold miners vs bullion vs the S&P 500 — 4 rows by 6 columns, computed from US exchange, SIP and OPRA data.
symbolatm_iv_pctiv_low_pctiv_high_pctsample_countiv_window
GDXJ49.523.780.1705Aug 20 to Oct 1
GDX44.425.480.11974Aug 20 to Oct 1
GLD23.78.3427399Aug 20 to Oct 1
SPY13.42.525.214980Aug 20 to Oct 1
Rows × columns
4 × 6
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 At-the-money implied volatility: gold miners vs bullion vs the S&P 500, derived from the stored result.
ColumnTypeRangeNotes
symbol text 4 distinct values (GDX, GDXJ, GLD…)
atm_iv_pct number 13.4 to 49.5 percent
iv_low_pct number 2.5 to 25.4 percent
iv_high_pct number 25.2 to 80.1 percent
sample_count number 705 to 14,980 count
iv_window text 1 distinct value (Aug 20 to Oct 1)

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
    underlying_symbol                                   AS symbol,
    round(avg(toFloat64(implied_volatility)) * 100, 1)  AS atm_iv_pct,
    round(min(toFloat64(implied_volatility)) * 100, 1)  AS iv_low_pct,
    round(max(toFloat64(implied_volatility)) * 100, 1)  AS iv_high_pct,
    count()                                             AS sample_count,
    concat(formatDateTime(min(date), '%b %e'), ' to ', formatDateTime(max(date), '%b %e')) AS iv_window
FROM global_markets.options_greeks
WHERE underlying_symbol IN ('GDX', 'GDXJ', 'GLD', 'SPY')
  AND date >= today() - 45
  AND iv_converged = 1
  AND volume > 0
  AND days_to_expiry BETWEEN 20 AND 45
  AND toFloat64(underlying_close) > 0
  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05
GROUP BY symbol
ORDER BY atm_iv_pct DESC
⌘/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 analysisGold Miner Covered Call ETFs: Yield vs Upside
2026 price return, distributions and total return: miners, wrapper and bullion table 4×5 → Monthly at-the-money IV: GDX, GDXJ and SPY over the past year series 13×5 → Monthly price move, 2026: GDX vs the covered call wrapper GDXY series 10×3 → QYLD by calendar year: cash paid, average price, implied rate table 5×5 → Count of big up months over the last three years table 3×5 → Every distribution from the most frequent payer, with its annualized rate series 104×4 → See all 3,022 queries →