{"slug":"gold-miner-covered-call-etfs","qid":"iv_trend","label":"Monthly at-the-money IV: GDX, GDXJ and SPY over the past year","post_title":"Gold Miner Covered Call ETFs: Yield vs Upside","post_url":"/blog/gold-miner-covered-call-etfs#q-iv_trend","columns":["month","gdx_iv_pct","gdxj_iv_pct","spy_iv_pct","gdx_spy_spread_pts"],"rows":[{"month":"2025-10","gdx_iv_pct":42.4,"gdxj_iv_pct":46.9,"spy_iv_pct":15.7,"gdx_spy_spread_pts":26.7},{"month":"2025-11","gdx_iv_pct":41.1,"gdxj_iv_pct":46.3,"spy_iv_pct":16.7,"gdx_spy_spread_pts":24.4},{"month":"2025-12","gdx_iv_pct":40.9,"gdxj_iv_pct":46.4,"spy_iv_pct":13.5,"gdx_spy_spread_pts":27.4},{"month":"2026-01","gdx_iv_pct":48,"gdxj_iv_pct":55.1,"spy_iv_pct":14,"gdx_spy_spread_pts":34},{"month":"2026-02","gdx_iv_pct":51.5,"gdxj_iv_pct":57.9,"spy_iv_pct":16.4,"gdx_spy_spread_pts":35.1},{"month":"2026-03","gdx_iv_pct":54.3,"gdxj_iv_pct":60.2,"spy_iv_pct":21,"gdx_spy_spread_pts":33.3},{"month":"2026-04","gdx_iv_pct":49.3,"gdxj_iv_pct":55.8,"spy_iv_pct":17.2,"gdx_spy_spread_pts":32.1},{"month":"2026-05","gdx_iv_pct":46.4,"gdxj_iv_pct":51.7,"spy_iv_pct":15.4,"gdx_spy_spread_pts":31},{"month":"2026-06","gdx_iv_pct":47.5,"gdxj_iv_pct":52.6,"spy_iv_pct":15.7,"gdx_spy_spread_pts":31.8},{"month":"2026-07","gdx_iv_pct":44,"gdxj_iv_pct":48.8,"spy_iv_pct":14.8,"gdx_spy_spread_pts":29.2},{"month":"2026-08","gdx_iv_pct":44.7,"gdxj_iv_pct":49.6,"spy_iv_pct":13.3,"gdx_spy_spread_pts":31.3},{"month":"2026-09","gdx_iv_pct":43.6,"gdxj_iv_pct":48.5,"spy_iv_pct":13.5,"gdx_spy_spread_pts":30.1},{"month":"2026-10","gdx_iv_pct":41.1,"gdxj_iv_pct":44.5,"spy_iv_pct":14.1,"gdx_spy_spread_pts":27}],"shape":"series","sql":"SELECT\n    formatDateTime(toStartOfMonth(date), '%Y-%m')                                    AS month,\n    round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'GDX') * 100, 1)  AS gdx_iv_pct,\n    round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'GDXJ') * 100, 1) AS gdxj_iv_pct,\n    round(avgIf(toFloat64(implied_volatility), underlying_symbol = 'SPY') * 100, 1)  AS spy_iv_pct,\n    round((avgIf(toFloat64(implied_volatility), underlying_symbol = 'GDX')\n         - avgIf(toFloat64(implied_volatility), underlying_symbol = 'SPY')) * 100, 1) AS gdx_spy_spread_pts\nFROM global_markets.options_greeks\nWHERE underlying_symbol IN ('GDX', 'GDXJ', 'SPY')\n  AND date >= '2025-10-01'\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 month\nHAVING countIf(underlying_symbol = 'GDX') > 0\n   AND countIf(underlying_symbol = 'GDXJ') > 0\n   AND countIf(underlying_symbol = 'SPY') > 0\nORDER BY month","computed_at":"2026-10-04T15:03:40.167415+00:00","elapsed":0.004018676}