{"slug":"when-do-short-options-get-assigned-early","qid":"expiry_clock","label":"AAPL calls 1 to 5 percent in the money, by days left to expiry","post_title":"When Short Options Get Assigned Early","post_url":"/blog/when-do-short-options-get-assigned-early#q-expiry_clock","columns":["dte_bucket","avg_vega","avg_delta","contracts"],"rows":[{"dte_bucket":"under 2 days","avg_vega":0.037,"avg_delta":0.831,"contracts":82},{"dte_bucket":"2 to 3 days","avg_vega":0.062,"avg_delta":0.814,"contracts":236},{"dte_bucket":"4 to 7 days","avg_vega":0.108,"avg_delta":0.775,"contracts":547},{"dte_bucket":"8 to 14 days","avg_vega":0.167,"avg_delta":0.734,"contracts":887},{"dte_bucket":"15 to 30 days","avg_vega":0.249,"avg_delta":0.699,"contracts":639},{"dte_bucket":"31 to 60 days","avg_vega":0.37,"avg_delta":0.664,"contracts":493}],"shape":"ranking","sql":"SELECT\n    dte_bucket,\n    round(avg(vega_f), 3)  AS avg_vega,\n    round(avg(delta_f), 3) AS avg_delta,\n    count()                AS contracts\nFROM\n(\n    SELECT\n        toFloat64(vega)  AS vega_f,\n        toFloat64(delta) AS delta_f,\n        days_to_expiry,\n        multiIf(days_to_expiry <= 1,  'under 2 days',\n                days_to_expiry <= 3,  '2 to 3 days',\n                days_to_expiry <= 7,  '4 to 7 days',\n                days_to_expiry <= 14, '8 to 14 days',\n                days_to_expiry <= 30, '15 to 30 days',\n                                      '31 to 60 days') AS dte_bucket\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'AAPL'\n      AND date >= today() - 120\n      AND iv_converged = 1\n      AND volume > 0\n      AND delta > 0\n      AND days_to_expiry BETWEEN 0 AND 60\n      AND toFloat64(underlying_close) / toFloat64(strike_price) - 1 BETWEEN 0.01 AND 0.05\n)\nGROUP BY dte_bucket\nORDER BY min(days_to_expiry)","computed_at":"2026-08-22T04:35:53.891573+00:00","elapsed":0.151835262}