{"slug":"why-would-anyone-sell-a-put-option","qid":"cushion_outcomes","label":"cushion_outcomes","post_title":"why-would-anyone-sell-a-put-option","post_url":"/blog/why-would-anyone-sell-a-put-option#q-cushion_outcomes","columns":["strike_cushion","expired_worthless_pct","avg_loss_when_itm_pct","avg_loss_all_windows_pct","worst_window_pct","sample"],"rows":[{"strike_cushion":"2% below spot","expired_worthless_pct":68.2,"avg_loss_when_itm_pct":4.99,"avg_loss_all_windows_pct":1.59,"worst_window_pct":22.2,"sample":"1418 windows"},{"strike_cushion":"5% below spot","expired_worthless_pct":77.3,"avg_loss_when_itm_pct":3.36,"avg_loss_all_windows_pct":0.76,"worst_window_pct":19.2,"sample":"1418 windows"},{"strike_cushion":"10% below spot","expired_worthless_pct":95.1,"avg_loss_when_itm_pct":2.73,"avg_loss_all_windows_pct":0.13,"worst_window_pct":14.2,"sample":"1418 windows"},{"strike_cushion":"15% below spot","expired_worthless_pct":99.4,"avg_loss_when_itm_pct":3.42,"avg_loss_all_windows_pct":0.02,"worst_window_pct":9.2,"sample":"1418 windows"}],"shape":"table","sql":"SELECT\n    concat(toString(cushion_pct), '% below spot')                                      AS strike_cushion,\n    round(100 * countIf(move_pct > -1 * cushion_pct) / count(), 1)                     AS expired_worthless_pct,\n    round(avgIf(-1 * (move_pct + cushion_pct), move_pct <= -1 * cushion_pct), 2)       AS avg_loss_when_itm_pct,\n    round(avg(if(move_pct <= -1 * cushion_pct, -1 * (move_pct + cushion_pct), 0)), 2)  AS avg_loss_all_windows_pct,\n    round(-1 * min(move_pct) - cushion_pct, 2)                                         AS worst_window_pct,\n    concat(toString(count()), ' windows')                                              AS sample\nFROM\n(\n    SELECT (end_px / start_px - 1) * 100 AS move_pct\n    FROM\n    (\n        SELECT\n            close_px                                                                                 AS start_px,\n            leadInFrame(close_px, 21) OVER (ORDER BY date ROWS BETWEEN CURRENT ROW AND 21 FOLLOWING) AS end_px\n        FROM\n        (\n            SELECT\n                date,\n                max(toFloat64(close)) AS close_px\n            FROM global_markets.stocks_daily_aggs\n            WHERE ticker = 'AAPL'\n              AND date BETWEEN '2021-01-04' AND '2026-09-25'\n            GROUP BY date\n        ) AS daily\n    ) AS shifted\n    WHERE end_px > 0\n) AS windows\nCROSS JOIN\n(\n    SELECT arrayJoin([2, 5, 10, 15]) AS cushion_pct\n) AS cushions\nGROUP BY cushion_pct\nHAVING countIf(move_pct <= -1 * cushion_pct) > 0\nORDER BY cushion_pct","computed_at":"2026-10-02T15:32:53.106805+00:00","elapsed":0.106112649}