{"slug":"is-a-covered-put-really-covered","qid":"asymmetry","label":"Best and worst 21-session moves since 2021","post_title":"Is a Covered Put Actually Covered?","post_url":"/blog/is-a-covered-put-really-covered#q-asymmetry","columns":["ticker","best_21d_gain_pct","worst_21d_drop_pct"],"rows":[{"ticker":"F","best_21d_gain_pct":42.5,"worst_21d_drop_pct":30.2},{"ticker":"XOM","best_21d_gain_pct":32.1,"worst_21d_drop_pct":18.1},{"ticker":"MSFT","best_21d_gain_pct":31.4,"worst_21d_drop_pct":18.5},{"ticker":"AAPL","best_21d_gain_pct":22.4,"worst_21d_drop_pct":24.2},{"ticker":"KO","best_21d_gain_pct":17,"worst_21d_drop_pct":12.8},{"ticker":"SPY","best_21d_gain_pct":15.4,"worst_21d_drop_pct":13.2}],"shape":"ranking","sql":"WITH ranked AS\n(\n    SELECT\n        ticker,\n        date,\n        toFloat64(close) AS c,\n        row_number() OVER (PARTITION BY ticker ORDER BY date) AS n\n    FROM global_markets.stocks_daily_aggs\n    WHERE ticker IN ('AAPL', 'MSFT', 'KO', 'SPY', 'XOM', 'F')\n      AND date >= '2021-01-01'\n      AND date <  '2026-10-01'\n)\nSELECT\n    a.ticker                                 AS ticker,\n    round((max(b.c / a.c) - 1) * 100, 1)     AS best_21d_gain_pct,\n    round(abs(min(b.c / a.c) - 1) * 100, 1)  AS worst_21d_drop_pct\nFROM ranked AS a\nINNER JOIN ranked AS b ON b.ticker = a.ticker AND b.n = a.n + 21\nGROUP BY a.ticker\nORDER BY best_21d_gain_pct DESC","computed_at":"2026-10-06T15:22:21.588033+00:00","elapsed":0.003665419}