{"slug":"how-stock-settlement-works-t-plus-1","qid":"era_shift","label":"Gap between ex-dividend date and record date, by year","post_title":"How Stock Settlement Works Under T+1","post_url":"/blog/how-stock-settlement-works-t-plus-1#q-era_shift","columns":["year","avg_gap_days","same_day_pct"],"rows":[{"year":"2015","avg_gap_days":2.91,"same_day_pct":0.1},{"year":"2016","avg_gap_days":2.8,"same_day_pct":0},{"year":"2017","avg_gap_days":2.3,"same_day_pct":0},{"year":"2018","avg_gap_days":1.51,"same_day_pct":0.2},{"year":"2019","avg_gap_days":1.53,"same_day_pct":0.1},{"year":"2020","avg_gap_days":1.41,"same_day_pct":0},{"year":"2021","avg_gap_days":1.45,"same_day_pct":0.1},{"year":"2022","avg_gap_days":1.48,"same_day_pct":0.1},{"year":"2023","avg_gap_days":1.43,"same_day_pct":0.1},{"year":"2024","avg_gap_days":0.54,"same_day_pct":63.7},{"year":"2025","avg_gap_days":0.03,"same_day_pct":98.1},{"year":"2026","avg_gap_days":0.03,"same_day_pct":98.2}],"shape":"ranking","sql":"SELECT\n    toString(toYear(ex_date))                       AS year,\n    round(avg(gap_days), 2)                         AS avg_gap_days,\n    round(100 * countIf(gap_days = 0) / count(), 1) AS same_day_pct\nFROM\n(\n    SELECT\n        ticker,\n        ex_dividend_date                                    AS ex_date,\n        dateDiff('day', ex_dividend_date, max(record_date)) AS gap_days\n    FROM global_markets.stocks_dividends\n    WHERE ex_dividend_date >= '2015-01-01'\n      AND ex_dividend_date <  today()\n      AND record_date >= ex_dividend_date\n      AND match(ticker, '^[A-Z]{1,5}$')\n    GROUP BY ticker, ex_dividend_date\n)\nGROUP BY year\nORDER BY year","computed_at":"2026-08-22T04:13:45.450684+00:00","elapsed":0.332088846}