{"slug":"gold-miner-covered-call-etfs","qid":"atm_iv_by_etf","label":"At-the-money implied volatility: gold miners vs bullion vs the S&P 500","post_title":"Gold Miner Covered Call ETFs: Yield vs Upside","post_url":"/blog/gold-miner-covered-call-etfs#q-atm_iv_by_etf","columns":["symbol","atm_iv_pct","iv_low_pct","iv_high_pct","sample_count","iv_window"],"rows":[{"symbol":"GDXJ","atm_iv_pct":49.5,"iv_low_pct":23.7,"iv_high_pct":80.1,"sample_count":705,"iv_window":"Aug 20 to Oct 1"},{"symbol":"GDX","atm_iv_pct":44.4,"iv_low_pct":25.4,"iv_high_pct":80.1,"sample_count":1974,"iv_window":"Aug 20 to Oct 1"},{"symbol":"GLD","atm_iv_pct":23.7,"iv_low_pct":8.3,"iv_high_pct":42,"sample_count":7399,"iv_window":"Aug 20 to Oct 1"},{"symbol":"SPY","atm_iv_pct":13.4,"iv_low_pct":2.5,"iv_high_pct":25.2,"sample_count":14980,"iv_window":"Aug 20 to Oct 1"}],"shape":"table","sql":"SELECT\n    underlying_symbol                                   AS symbol,\n    round(avg(toFloat64(implied_volatility)) * 100, 1)  AS atm_iv_pct,\n    round(min(toFloat64(implied_volatility)) * 100, 1)  AS iv_low_pct,\n    round(max(toFloat64(implied_volatility)) * 100, 1)  AS iv_high_pct,\n    count()                                             AS sample_count,\n    concat(formatDateTime(min(date), '%b %e'), ' to ', formatDateTime(max(date), '%b %e')) AS iv_window\nFROM global_markets.options_greeks\nWHERE underlying_symbol IN ('GDX', 'GDXJ', 'GLD', 'SPY')\n  AND date >= today() - 45\n  AND iv_converged = 1\n  AND volume > 0\n  AND days_to_expiry BETWEEN 20 AND 45\n  AND toFloat64(underlying_close) > 0\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05\nGROUP BY symbol\nORDER BY atm_iv_pct DESC","computed_at":"2026-10-04T15:03:40.069730+00:00","elapsed":0.260712097}