{"slug":"covered-calls-on-ko","qid":"ex_date_window","label":"Extrinsic value in KO's in-the-money calls versus the dividend, in the week before each ex date","post_title":"Covered Calls on KO: Premium vs Dividend","post_url":"/blog/covered-calls-on-ko#q-ex_date_window","columns":["ex_dividend_date","ex_date_pretty","dividend_usd","median_extrinsic_usd","pct_under_dividend"],"rows":[{"ex_dividend_date":"2024-03-14","ex_date_pretty":"Mar 14, 2024","dividend_usd":0.48,"median_extrinsic_usd":0.09,"pct_under_dividend":87.7},{"ex_dividend_date":"2024-06-14","ex_date_pretty":"Jun 14, 2024","dividend_usd":0.48,"median_extrinsic_usd":0.12,"pct_under_dividend":89.4},{"ex_dividend_date":"2024-09-13","ex_date_pretty":"Sep 13, 2024","dividend_usd":0.48,"median_extrinsic_usd":0.17,"pct_under_dividend":75.9},{"ex_dividend_date":"2024-11-29","ex_date_pretty":"Nov 29, 2024","dividend_usd":0.48,"median_extrinsic_usd":0.02,"pct_under_dividend":88.2},{"ex_dividend_date":"2025-03-14","ex_date_pretty":"Mar 14, 2025","dividend_usd":0.51,"median_extrinsic_usd":0.15,"pct_under_dividend":70},{"ex_dividend_date":"2025-06-13","ex_date_pretty":"Jun 13, 2025","dividend_usd":0.51,"median_extrinsic_usd":0.04,"pct_under_dividend":84.5},{"ex_dividend_date":"2025-09-15","ex_date_pretty":"Sep 15, 2025","dividend_usd":0.51,"median_extrinsic_usd":0.17,"pct_under_dividend":78.8},{"ex_dividend_date":"2025-12-01","ex_date_pretty":"Dec 1, 2025","dividend_usd":0.51,"median_extrinsic_usd":-0.05,"pct_under_dividend":86.8},{"ex_dividend_date":"2026-03-13","ex_date_pretty":"Mar 13, 2026","dividend_usd":0.53,"median_extrinsic_usd":0.23,"pct_under_dividend":73.3},{"ex_dividend_date":"2026-06-15","ex_date_pretty":"Jun 15, 2026","dividend_usd":0.53,"median_extrinsic_usd":0.12,"pct_under_dividend":64.2},{"ex_dividend_date":"2026-09-15","ex_date_pretty":"Sep 15, 2026","dividend_usd":0.53,"median_extrinsic_usd":0.13,"pct_under_dividend":75.4}],"shape":"series","sql":"SELECT\n    toString(ex_date)                                        AS ex_dividend_date,\n    formatDateTime(ex_date, '%b %e, %Y')                     AS ex_date_pretty,\n    round(any(dividend), 2)                                  AS dividend_usd,\n    round(quantileDeterministic(0.5)(extrinsic, row_key), 2) AS median_extrinsic_usd,\n    round(100 * countIf(extrinsic < dividend) / count(), 1)  AS pct_under_dividend\nFROM\n(\n    WITH\n    (\n        SELECT groupArray((ex_dividend_date, toFloat64(cash_amount)))\n        FROM\n        (\n            SELECT\n                ex_dividend_date,\n                max(cash_amount) AS cash_amount\n            FROM global_markets.stocks_dividends\n            WHERE ticker = 'KO'\n              AND ex_dividend_date >= '2024-01-01'\n              AND ex_dividend_date <  '2026-10-01'\n            GROUP BY ex_dividend_date\n            ORDER BY ex_dividend_date\n        )\n    ) AS ex_schedule\n    SELECT\n        date                                                                                   AS session_date,\n        greatest(arrayFirstIndex(x -> tupleElement(x, 1) > date, ex_schedule), 1)              AS idx,\n        tupleElement(ex_schedule[idx], 1)                                                      AS ex_date,\n        tupleElement(ex_schedule[idx], 2)                                                      AS dividend,\n        toFloat64(option_close) - (toFloat64(underlying_close) - toFloat64(strike_price))      AS extrinsic,\n        cityHash64(ticker)                                                                     AS row_key\n    FROM global_markets.options_greeks\n    WHERE underlying_symbol = 'KO'\n      AND upper(toString(option_type)) IN ('C', 'CALL')\n      AND volume > 0\n      AND date >= '2024-01-01'\n      AND date <  '2026-10-01'\n      AND days_to_expiry BETWEEN 1 AND 60\n      AND toFloat64(strike_price) < toFloat64(underlying_close)\n)\nWHERE dateDiff('day', session_date, ex_date) BETWEEN 1 AND 7\nGROUP BY ex_date\nORDER BY ex_date","computed_at":"2026-10-09T15:38:30.766813+00:00","elapsed":0.004799273}