Does Dividend Capture Actually Work?
Dividend capture buys before the ex dividend date and sells after. See how far prices really open down, and what stacks up against the dividend collected.
Dividend capture is the practice of buying a stock shortly before its ex-dividend date, holding it over the date that fixes who receives the payment, then selling soon after. The appeal is easy to state: one night of ownership, one dividend. The complication is that the stock opens the ex-dividend date at a price the exchange has already reduced by roughly the dividend, and this page measures how close that reduction runs to the payment across tens of thousands of ex-dividend dates.
What is a dividend capture strategy?
Three dates run the calendar. The declaration date announces the payment. The ex-dividend date is the first session on which a buyer no longer receives the coming dividend. The record date identifies the holders on the company's books. A share bought on the ex-dividend date carries no claim to that quarter's cash; a share bought the session before does. The ex-dividend date guide walks the full timeline, and record date vs ex-dividend date separates the two dates readers most often merge.
Dividend capture turns that entitlement rule into a schedule: buy before the ex-dividend date, hold through the open, sell, repeat on the next name. The strategy is old, widely described, and rests on a single measurable question. When the stock reopens without the dividend attached, how much of the payment does the opening price give back?
What happens to the price on the ex-dividend date?
On the ex-dividend date the exchange reduces the prior close by the dividend amount when it sets the reference price, and the opening auction takes it from there. Ten household payers, each with twelve quarterly ex-dividend dates between July 2023 and June 2026, put a number on the overnight difference:
The exact SQL behind every number
WITH tk AS (SELECT ['KO','JNJ','PG','XOM','CVX','VZ','MRK','PEP','MCD','MMM'] AS t),
px AS (
SELECT ticker,
date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND date BETWEEN toDate('2023-06-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
dv AS (
SELECT ticker, ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY ticker, d
)
SELECT px.ticker AS ticker,
count() AS ex_dates,
round(avg(dv.div_amount), 3) AS avg_dividend_usd,
round(avg(px.prev_close - px.day_open), 3) AS avg_overnight_decline_usd,
round(avg(px.prev_close - px.day_open) / avg(dv.div_amount), 2) AS decline_per_dividend_ratio
FROM px
INNER JOIN dv ON px.ticker = dv.ticker AND px.date = dv.d
WHERE px.prev_close > 0
GROUP BY px.ticker
ORDER BY decline_per_dividend_ratio DESCRead the last column as cents of opening decline per cent of dividend. At the top, KO averaged an opening decline of $0.544 against an average dividend of $0.497, a ratio of 1.1. At the bottom, PG shows $-0.22: the minus sign says the average ex-dividend open sat above the prior close over those 12 dates. Most of the ten names land within a third of a dividend either side of the payment, which is the pattern the mechanics describe, and the two ends of the table are where a capture schedule either flatters or disappoints.
An average of twelve dates hides the spread inside them, so the next panel widens the sample.
How often does the drop match the dividend?
Every regular quarterly cash dividend on a US-listed stock above $5, from January 2024 through June 2026, sorted by how the overnight difference compared with the payment. A ratio of 1 means the open gave back exactly the dividend; 0 means the open matched the prior close.
The exact SQL behind every number
WITH divs AS (
SELECT ticker, ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE distribution_type = 'recurring'
AND frequency = 4
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2024-01-01') AND toDate('2026-06-30')
GROUP BY ticker, d
),
px AS (
SELECT ticker,
date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE date BETWEEN toDate('2023-12-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
ev AS (
SELECT (px.prev_close - px.day_open) / divs.div_amount AS ratio
FROM px
INNER JOIN divs ON px.ticker = divs.ticker AND px.date = divs.d
WHERE px.prev_close >= 5
AND divs.div_amount / px.prev_close BETWEEN 0.001 AND 0.05
)
SELECT multiIf(ratio < 0, 'opened higher',
ratio < 0.5, 'fell under half',
ratio < 1, 'fell half to full',
ratio < 1.5, 'fell 1 to 1.5x',
'fell over 1.5x') AS drop_bucket,
count() AS ex_dates,
round(100 * count() / (SELECT count() FROM ev), 1) AS share_pct
FROM ev
GROUP BY drop_bucket
ORDER BY multiIf(drop_bucket = 'opened higher', 0,
drop_bucket = 'fell under half', 1,
drop_bucket = 'fell half to full', 2,
drop_bucket = 'fell 1 to 1.5x', 3, 4)The middle of the distribution behaves as the textbook says. The largest single bucket is the one that fell half to full, at 25.8% of dates across 8217 observations, with another 17.3% in the band that fell 1 to 1.5x. The tails are the story for a capture schedule. On 20.8% of these ex-dividend dates the stock opened higher than the prior close, and on 22.4% it fell over 1.5x. Roughly two ex-dividend dates in five sit outside the half-to-1.5x middle entirely.
That dispersion is the honest description of the trade. The payment is fixed and known. The price the shares are sold at is neither.
A quarter by quarter trace
One name over three years shows how the two quantities travel together. Coca-Cola paid twelve recurring dividends over the window; the panel puts the overnight decline beside each payment and takes the difference.
The exact SQL behind every number
WITH px AS (
SELECT date,
toFloat64(open) AS day_open,
lagInFrame(toFloat64(close)) OVER (ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date BETWEEN toDate('2023-06-01') AND toDate('2026-06-30')
AND open > 0 AND close > 0
),
dv AS (
SELECT ex_dividend_date AS d, max(cash_amount) AS div_amount
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY d
)
SELECT formatDateTime(px.date, '%Y-%m-%d') AS date,
round(dv.div_amount, 3) AS dividend_usd,
round(px.prev_close - px.day_open, 3) AS overnight_decline_usd,
round((px.prev_close - px.day_open) - dv.div_amount, 3) AS decline_minus_dividend_usd
FROM px
INNER JOIN dv ON px.date = dv.d
ORDER BY dateThe dividend line is close to flat: $0.46 on the first date, $0.53 on the last, raised twice in between. The decline line is jagged around it. On 2023-09-14 the open gave back $0.2 of a $0.46 payment; on 2026-06-15 it gave back $1.54 of $0.53. Across all 12 dates the third column, the decline minus the dividend, runs from $-0.26 on the first date to $1.01 on the last. A one-night holder collected the same cash each quarter and met a different opening price every time.
The dividend next to a normal day's move
A single quarterly dividend is small relative to the price. Ordinary daily movement in the same stock is not, and the capture window carries a full session of it.
The exact SQL behind every number
WITH tk AS (SELECT ['KO','JNJ','PG','XOM','CVX','VZ','MRK','PEP','MCD','MMM'] AS t),
r AS (
SELECT ticker,
date,
toFloat64(close) AS close,
lagInFrame(toFloat64(close)) OVER (PARTITION BY ticker ORDER BY date
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_close
FROM global_markets.stocks_daily_aggs
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
AND close > 0
),
vol AS (
SELECT ticker,
round(100 * avg(abs(close / prev_close - 1)), 2) AS avg_daily_move_pct,
round(quantileDeterministic(0.95)(100 * abs(close / prev_close - 1), cityHash64(date)), 2) AS p95_daily_move_pct,
avg(close) AS avg_close
FROM r
WHERE prev_close > 0
GROUP BY ticker
),
dv AS (
SELECT ticker, avg(cash_amount) AS avg_dividend_usd
FROM global_markets.stocks_dividends
WHERE ticker IN (SELECT arrayJoin(t) FROM tk)
AND distribution_type = 'recurring'
AND cash_amount > 0
AND ex_dividend_date BETWEEN toDate('2023-07-01') AND toDate('2026-06-30')
GROUP BY ticker
)
SELECT vol.ticker AS ticker,
round(100 * dv.avg_dividend_usd / vol.avg_close, 2) AS dividend_pct_of_price,
vol.avg_daily_move_pct AS avg_daily_move_pct,
vol.p95_daily_move_pct AS p95_daily_move_pct
FROM vol
INNER JOIN dv ON vol.ticker = dv.ticker
ORDER BY dividend_pct_of_price DESCThe largest quarterly payment in the group, VZ, came to 1.64% of the average share price, against an average daily move of 1.01% and a 95th-percentile day of 2.95%. At the other end, MCD paid 0.59% of price per quarter while moving 0.82% on an average day. The target sits inside the noise for every name in the panel. That is the arithmetic a capture schedule lives with: the payment is known in advance, and it is smaller than one ordinary session's range.
What sits between the dividend and a gain
Four items stack on top of the opening adjustment measured above.
- The round trip. Entering and exiting means crossing the bid ask spread twice, and ex-dividend mornings fall inside the window where spreads run widest. On a hypothetical $50 stock quoted 49.98 bid and 50.02 offer, the round trip costs 4 cents against a 40 cent dividend.
- Tax treatment. Under US rules as of July 2026, a dividend is qualified only when the share is held more than 60 days during the 121-day window centred on the ex-dividend date. A one-night hold fails that test, and the payment is taxed as ordinary income at the holder's marginal rate. A long-term holding can meet it.
- The open price itself. The panels above measure the opening print. A holder who exits later in the session takes whatever the rest of the day does.
- Hedged versions. Selling a call or buying a put over the ex-dividend date removes the price risk and, once the option is priced, most of the dividend with it. Ex-dividend dates and options shows how the payment is already embedded in option prices, which is also where early assignment clusters.
Why a visible edge is hard to keep
Every ex-dividend date is public months ahead. Declaration dates, amounts, and calendars reach every desk at once, and dividend capture is described in textbooks, brokerage help pages, and screeners. An opportunity that requires no forecast and appears on a published calendar attracts participants with lower costs than a retail account: market makers already holding inventory, dealers paying institutional commissions, and firms taxed under different rules. Their competition for the same shares lifts the pre-ex-date price and presses the post-ex-date price, and what remains is the distribution in the second panel, wide, centred near one dividend, with no free cash sitting in the middle of it.
The measurable exceptions are narrow. Openings in thinly traded names deviate more from the dividend, and special or unusually large dividends move a bigger share of the price, which changes the arithmetic without removing the round-trip and tax items above.
FAQ
Does a stock always fall by the dividend on the ex-dividend date?
No. Across US quarterly payers from January 2024 through June 2026, the opening price fell between half the dividend and 1.5 times the dividend on a bit under half of all ex-dividend dates, and it opened above the prior close on 20.8% of them. The exchange adjusts the reference price by the dividend; the opening auction then prices supply and demand on the day.
How long do you have to hold a stock to get the dividend?
Ownership on the record date is the requirement, which means buying before the ex-dividend date and holding through it. Selling on the ex-dividend date itself keeps the dividend. Holding longer changes nothing about entitlement, though it does change the tax character of the payment.
Is a dividend from a one-day hold taxed differently?
Yes. As of July 2026, US qualified-dividend treatment requires holding the share more than 60 days inside the 121-day window centred on the ex-dividend date, so a payment captured overnight is taxed as ordinary income rather than at long-term capital-gains rates.
Does dividend capture work better with high-yield stocks?
A larger dividend is a larger target, and it also comes with a larger opening adjustment. The panels above show dispersion around that adjustment rather than a systematic gap. Dividend yield and the payout ratio describe what a high yield usually indicates about the payer.
Every number above comes from a stored, versioned query over filed dividend records and daily price history. Expand any panel to read the SQL, or run the same ex-dividend comparison on the Strasmore terminal.