{"slug":"how-to-calculate-covered-call-returns","qid":"iv_by_name","label":"Median implied volatility on 20 to 45 day near-the-money calls, July 2026","post_title":"How to Calculate Covered Call Returns","post_url":"/blog/how-to-calculate-covered-call-returns#q-iv_by_name","columns":["symbol","median_iv_pct","contract_count"],"rows":[{"symbol":"MSFT","median_iv_pct":43.4,"contract_count":660},{"symbol":"NVDA","median_iv_pct":41.8,"contract_count":357},{"symbol":"AAPL","median_iv_pct":28.4,"contract_count":568},{"symbol":"KO","median_iv_pct":21.8,"contract_count":571},{"symbol":"SPY","median_iv_pct":13.4,"contract_count":5338}],"shape":"ranking","sql":"SELECT\n    underlying_symbol AS symbol,\n    round(100 * quantileDeterministic(0.5)(toFloat64(implied_volatility), cityHash64(ticker)), 1) AS median_iv_pct,\n    count() AS contract_count\nFROM global_markets.options_greeks\nWHERE underlying_symbol IN ('AAPL', 'MSFT', 'NVDA', 'KO', 'SPY')\n  AND date >= '2026-07-01'\n  AND date <  '2026-08-01'\n  AND iv_converged = 1\n  AND volume > 0\n  AND delta > 0\n  AND days_to_expiry BETWEEN 20 AND 45\n  AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05\nGROUP BY underlying_symbol\nORDER BY median_iv_pct DESC","computed_at":"2026-08-05T15:18:29.072082+00:00","elapsed":0.002614127}