{"slug":"covered-calls","qid":"stages","label":"The same covered call at entry, the SPY peak, the dip, and the final session","post_title":"Covered Calls: Income on Your Shares","post_url":"/blog/covered-calls#q-stages","columns":["stage","spy_price","call_value","moneyness","covered_value"],"rows":[{"stage":"1. Sold the call (May 1)","spy_price":720,"call_value":7.22,"moneyness":"below 740 strike","covered_value":720},{"stage":"2. SPY peak (Jun 2)","spy_price":759.63,"call_value":23.5,"moneyness":"above 740 strike","covered_value":743.35},{"stage":"3. SPY dip (Jun 10)","spy_price":722.88,"call_value":3.17,"moneyness":"below 740 strike","covered_value":726.93},{"stage":"4. Final session (Jun 15)","spy_price":753.91,"call_value":15.41,"moneyness":"above 740 strike","covered_value":745.72}],"shape":"table","sql":"WITH prem AS (\n  SELECT avg(option_close) AS p\n  FROM global_markets.options_greeks\n  WHERE ticker = 'O:SPY260618C00740000' AND date = '2026-05-01' AND implied_volatility > 0.02\n)\nSELECT multiIf(g.date = '2026-05-01', '1. Sold the call (May 1)',\n               g.date = '2026-06-02', '2. SPY peak (Jun 2)',\n               g.date = '2026-06-10', '3. SPY dip (Jun 10)', '4. Final session (Jun 15)') AS stage,\n       round(avg(g.underlying_close), 2) AS spy_price,\n       round(avg(g.option_close), 2) AS call_value,\n       if(avg(g.underlying_close) > 740, 'above 740 strike', 'below 740 strike') AS moneyness,\n       round(avg(g.underlying_close) + any(prem.p) - avg(g.option_close), 2) AS covered_value\nFROM global_markets.options_greeks g, prem\nWHERE g.ticker = 'O:SPY260618C00740000'\n  AND g.date IN ('2026-05-01', '2026-06-02', '2026-06-10', '2026-06-15')\n  AND g.implied_volatility > 0.02\nGROUP BY g.date ORDER BY g.date","computed_at":"2026-07-16T10:03:50.865802+00:00","elapsed":0.002940874}