{"slug":"can-i-sell-on-the-ex-dividend-date","qid":"ex_date_gap","label":"Ex-date opening gap by dividend size, US quarterly dividends 2024 to 2025","post_title":"Can You Sell on the Ex-Dividend Date?","post_url":"/blog/can-i-sell-on-the-ex-dividend-date#q-ex_date_gap","columns":["dividend_bucket","sample_size","avg_dividend_pct","avg_open_gap_pct"],"rows":[{"dividend_bucket":"under 0.25%","sample_size":929,"avg_dividend_pct":0.146,"avg_open_gap_pct":0.045},{"dividend_bucket":"0.25% to 0.50%","sample_size":1389,"avg_dividend_pct":0.37,"avg_open_gap_pct":0.228},{"dividend_bucket":"0.50% to 1.00%","sample_size":1907,"avg_dividend_pct":0.734,"avg_open_gap_pct":0.569},{"dividend_bucket":"1.00% to 2.00%","sample_size":1017,"avg_dividend_pct":1.331,"avg_open_gap_pct":1.201},{"dividend_bucket":"over 2.00%","sample_size":270,"avg_dividend_pct":3.047,"avg_open_gap_pct":2.651}],"shape":"ranking","sql":"WITH px AS\n(\n    SELECT\n        ticker,\n        date,\n        toFloat64(open) AS open_px,\n        volume,\n        toFloat64(any(close) OVER (PARTITION BY ticker ORDER BY date ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)) AS prior_close\n    FROM global_markets.stocks_daily_aggs\n    WHERE date BETWEEN toDate('2023-12-15') AND toDate('2025-12-31')\n),\nex AS\n(\n    SELECT\n        ticker,\n        ex_dividend_date,\n        max(cash_amount) AS div_cash\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date BETWEEN toDate('2024-01-01') AND toDate('2025-12-31')\n      AND frequency = 4\n      AND cash_amount > 0\n      AND currency = 'USD'\n    GROUP BY ticker, ex_dividend_date\n)\nSELECT\n    multiIf(\n        div_pct < 0.25, 'under 0.25%',\n        div_pct < 0.50, '0.25% to 0.50%',\n        div_pct < 1.00, '0.50% to 1.00%',\n        div_pct < 2.00, '1.00% to 2.00%',\n                        'over 2.00%')  AS dividend_bucket,\n    count()                            AS sample_size,\n    round(avg(div_pct), 3)             AS avg_dividend_pct,\n    round(avg(open_gap_pct), 3)        AS avg_open_gap_pct\nFROM\n(\n    SELECT\n        100 * toFloat64(ex.div_cash) / px.prior_close         AS div_pct,\n        100 * (px.prior_close - px.open_px) / px.prior_close AS open_gap_pct\n    FROM px\n    INNER JOIN ex ON px.ticker = ex.ticker AND px.date = ex.ex_dividend_date\n    WHERE px.prior_close >= 10\n      AND px.open_px > 0\n      AND px.volume >= 1000000\n)\nGROUP BY dividend_bucket\nORDER BY avg_dividend_pct","computed_at":"2026-08-22T04:03:55.929773+00:00","elapsed":8.174032378}