{"slug":"when-do-short-options-get-assigned-early","qid":"borrow_signal","label":"Put versus call implied volatility, near the money, 20 to 45 days out","post_title":"When Short Options Get Assigned Early","post_url":"/blog/when-do-short-options-get-assigned-early#q-borrow_signal","columns":["ticker","put_iv","call_iv","put_minus_call"],"rows":[{"ticker":"KO","put_iv":20.8,"call_iv":19.4,"put_minus_call":1.5},{"ticker":"MSFT","put_iv":34,"call_iv":33.9,"put_minus_call":0.1},{"ticker":"AAPL","put_iv":25.8,"call_iv":26.4,"put_minus_call":-0.6},{"ticker":"COIN","put_iv":71.2,"call_iv":73.1,"put_minus_call":-2},{"ticker":"MSTR","put_iv":76.2,"call_iv":78.4,"put_minus_call":-2.1}],"shape":"ranking","sql":"SELECT\n    underlying_symbol AS ticker,\n    round(100 * avgIf(iv_f, delta_f < 0), 1) AS put_iv,\n    round(100 * avgIf(iv_f, delta_f > 0), 1) AS call_iv,\n    round(100 * (avgIf(iv_f, delta_f < 0) - avgIf(iv_f, delta_f > 0)), 1) AS put_minus_call\nFROM\n(\n    SELECT\n        underlying_symbol,\n        toFloat64(implied_volatility) AS iv_f,\n        toFloat64(delta)              AS delta_f\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol IN ('MSTR', 'COIN', 'AAPL', 'MSFT', 'KO')\n      AND date >= today() - 120\n      AND iv_converged = 1\n      AND volume > 0\n      AND days_to_expiry BETWEEN 20 AND 45\n      AND abs(toFloat64(strike_price) / toFloat64(underlying_close) - 1) < 0.05\n)\nGROUP BY underlying_symbol\nHAVING countIf(delta_f < 0) > 0 AND countIf(delta_f > 0) > 0\nORDER BY put_minus_call DESC","computed_at":"2026-08-22T04:35:55.537440+00:00","elapsed":0.656661628}