為何股票在除息日下跌?實際開盤跌幅
股票在除息日下跌通常是股息造成的機械性調整,而非拋售潮。了解參考價如何下調,並查看大型股息支付者實際開盤低於前收的幅度。
股票在除息日下跌,通常是預定調整,而非拋售潮。除息日買進的投資人無法取得即將發放的股息,因此股票在轉手時,比前一日下午少了這筆股息的權利;交易所也會為了圖表與委託價格用途,按股息金額下調前一交易日的收盤價。股票實際開盤的位置則是另一個問題。下方各圖表以一批大型股息支付者在五年內的除息日資料進行衡量。
為何股票在除息日下跌:調整機制
股息發放涉及四個日期。宣告日是董事會宣布發放股息的日期。除息日是股票首次在不附帶股息權利的情況下交易的交易日。股東名冊日是公司確認股東名單的日期,發放日則是現金入帳的日期。我們的除息日指南完整說明整個流程,而股東名冊日與除息日的差異則區分最常被混淆的兩個日期。
在除息日交易開始前,交易所會進行兩項機械性調整:
- 前一交易日的收盤價會按股息金額下調,作為參考用途。圖表、漲跌幅欄位、移動平均線,以及開盤集合競價所引用的參考價,均使用調整後數字。
- 掛在市場下方的未成交委託,會按股息金額下調。
這兩項調整都不是交易。沒有股票轉手,也不會產生成交量紀錄。股票會以較低的參考點開始交易;若價格序列忽略這項調整,每季都會顯示一個虛假的跌幅。
交易所會在除息日調降你的未成交委託嗎?
會,但僅限於低於當前價格的委託類型。交易所會在除息日按股息金額調降未成交買進限價單與未成交賣出停損單,包括賣出停損限價單。若股息為 $0.50,除息日前掛出的 $50.00 買進限價單,會在除息日開盤時變成 $49.50 的買進限價單。高於市場價格的委託,例如賣出限價單或買進停損單,則不會調整。這項調降可讓未成交委託與市場之間的距離,大致維持在委託人前一日設定的水準;由於美國股票以美分報價,調整會以完整美分為單位呈現。
DNR 是 Do Not Reduce 的縮寫,表示不調降委託的指示。附加這項指示後,$50.00 的買進限價單在除息日期間仍維持 $50.00。並非所有零售交易平台都會在下單介面提供 DNR;若有提供,通常會與委託有效期間並列為勾選欄位,或放在特殊指示下拉選單中。相對應的 DNI(Do Not Increase)則處理股票股利與股票分割後的股數調整機制,應收股利與股票分割對此有詳細拆解。
股票在除息日實際下跌多少?
下方圖表選取一批大型股息支付者,並納入其2021年至2025年的每個除息日。這些股票在該期間內都沒有進行股票分割,因此原始價格與原始現金金額可以直接比較。每個除息日的計算,都是比較前一交易日收盤價與除息日開盤價,再將跌幅加總後與已支付的股息總額比較。
每個數據背後的精確 SQL 語法
WITH
prices AS
(
SELECT
ticker,
date,
open_px,
any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM
(
SELECT
ticker,
date,
toFloat64(max(open)) AS open_px,
toFloat64(max(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND date >= '2020-12-01'
AND date < '2026-01-01'
GROUP BY ticker, date
)
),
ex_days AS
(
SELECT
ticker,
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS dividend
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND ex_dividend_date >= '2021-01-01'
AND ex_dividend_date < '2026-01-01'
AND cash_amount > 0
GROUP BY ticker, ex_dividend_date
)
SELECT
e.ticker AS ticker,
count() AS payment_count,
round(avg(e.dividend), 4) AS avg_dividend_usd,
round(sum(p.prior_close - p.open_px) / sum(e.dividend), 2) AS drop_per_dollar_paid
FROM ex_days AS e
INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
WHERE p.prior_close > 0
GROUP BY e.ticker
ORDER BY drop_per_dollar_paid DESC最後一欄應解讀為每一美元股息所對應的開盤跌幅美元數。在這 10 個名稱中,該數值從圖表底部的 0.28 延伸至頂部的 1.23;最高值來自 ABBV,涵蓋 20 次股息支付。若數值為 1.00,表示股票平均在前一交易日收盤價下方完整一筆股息的金額開盤。
將每一筆股息按曆年合併後,可以看出答案會隨所選樣本而大幅變動。
每個數據背後的精確 SQL 語法
WITH
prices AS
(
SELECT
ticker,
date,
open_px,
any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM
(
SELECT
ticker,
date,
toFloat64(max(open)) AS open_px,
toFloat64(max(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND date >= '2020-12-01'
AND date < '2026-01-01'
GROUP BY ticker, date
)
),
ex_days AS
(
SELECT
ticker,
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS dividend
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND ex_dividend_date >= '2021-01-01'
AND ex_dividend_date < '2026-01-01'
AND cash_amount > 0
GROUP BY ticker, ex_dividend_date
)
SELECT
toString(toYear(e.ex_date)) AS year,
count() AS payment_count,
round(sum(p.prior_close - p.open_px) / sum(e.dividend), 2) AS drop_per_dollar_paid
FROM ex_days AS e
INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
WHERE p.prior_close > 0
GROUP BY year
ORDER BY year合併數值在 2021 的 40 次股息支付中為 0.85,在 2025 的 40 次股息支付中則為 0.81。任何認定除息日跌幅固定占股息某一比例的說法,都只是從這麼寬廣的分布中抽取的一次樣本。
為何單一除息日無法提供有意義的結論
Coca-Cola(KO)數十年來一直維持穩定的季度發放時程。將每個除息日的每股股息與實際開盤跌幅繪製在同一張圖上,可以把測量問題集中呈現。
每個數據背後的精確 SQL 語法
WITH
prices AS
(
SELECT
date,
open_px,
any(close_px) OVER (ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM
(
SELECT
date,
toFloat64(max(open)) AS open_px,
toFloat64(max(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'KO'
AND date >= '2020-12-01'
AND date < '2026-01-01'
GROUP BY date
)
),
ex_days AS
(
SELECT
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS dividend
FROM global_markets.stocks_dividends
WHERE ticker = 'KO'
AND ex_dividend_date >= '2021-01-01'
AND ex_dividend_date < '2026-01-01'
AND cash_amount > 0
GROUP BY ex_dividend_date
)
SELECT
toString(e.ex_date) AS ex_date,
concat(monthName(e.ex_date), ' ', toString(toDayOfMonth(e.ex_date)), ', ', toString(toYear(e.ex_date))) AS ex_date_label,
round(e.dividend, 4) AS dividend_per_share,
round(p.prior_close - p.open_px, 2) AS drop_at_open
FROM ex_days AS e
INNER JOIN prices AS p ON p.date = e.ex_date
WHERE p.prior_close > 0
ORDER BY e.ex_date股息線接近水平,每年上調一次。跌幅線則在其周圍波動;有些除息日的開盤價遠低於調整後應有的水準,也有些除息日的開盤價直接高於前一交易日收盤價。KO 在 March 12, 2021 每股支付 $0.42,在 December 1, 2025 每股支付 $0.51;該期間共涵蓋 20 個除息日。
在這個尺度下,單日走勢難以判讀。大型股息支付者的季度股息通常不到股價的百分之一,而一般隔夜波動就可能涵蓋相近幅度。下方圖表以基點比較兩者;一個基點是百分之一個百分點,並計算單靠一般隔夜波動就大於整筆季度股息的次數。
每個數據背後的精確 SQL 語法
WITH
prices AS
(
SELECT
ticker,
date,
open_px,
any(close_px) OVER (PARTITION BY ticker ORDER BY date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) AS prior_close
FROM
(
SELECT
ticker,
date,
toFloat64(max(open)) AS open_px,
toFloat64(max(close)) AS close_px
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND date >= '2020-12-01'
AND date < '2026-01-01'
GROUP BY ticker, date
)
),
ex_days AS
(
SELECT
ticker,
ex_dividend_date AS ex_date,
toFloat64(max(cash_amount)) AS dividend
FROM global_markets.stocks_dividends
WHERE ticker IN ('KO','PG','JNJ','PEP','XOM','CVX','MCD','HD','VZ','ABBV')
AND ex_dividend_date >= '2021-01-01'
AND ex_dividend_date < '2026-01-01'
AND cash_amount > 0
GROUP BY ticker, ex_dividend_date
),
div_size AS
(
SELECT
e.ticker AS ticker,
avg(e.dividend / p.prior_close) * 10000 AS dividend_bps
FROM ex_days AS e
INNER JOIN prices AS p ON p.ticker = e.ticker AND p.date = e.ex_date
WHERE p.prior_close > 0
GROUP BY e.ticker
),
ordinary AS
(
SELECT
ticker,
date,
abs(open_px / prior_close - 1) * 10000 AS abs_gap_bps
FROM prices
WHERE prior_close > 0
AND date >= '2021-01-01'
AND (ticker, date) NOT IN (SELECT ticker, ex_date FROM ex_days)
)
SELECT
o.ticker AS ticker,
round(max(d.dividend_bps), 1) AS dividend_bps,
round(quantileDeterministic(0.5)(o.abs_gap_bps, toUInt32(o.date)), 1) AS median_gap_bps,
round(100 * countIf(o.abs_gap_bps > d.dividend_bps) / count(), 1) AS sessions_over_dividend_pct
FROM ordinary AS o
INNER JOIN div_size AS d ON d.ticker = o.ticker
GROUP BY o.ticker
ORDER BY sessions_over_dividend_pct DESC在 HD 中,一般隔夜波動的中位數為 40.5 個基點,而季度股息相當於 60.7;在 33.2 的一般交易日中,單靠隔夜波動的幅度就大於整筆股息。圖表另一端的 VZ,則在 3.2 的交易日中以這種方式超過其股息。單一除息日只是該分布中的一個樣本,股息則疊加在這個樣本之上。
為何跌幅通常小於股息
有兩項機制會使觀察到的跌幅低於完整股息。
第一項是稅負。對應稅持有人而言,一美元股息與一美元股價並不具有相同的稅後價值:股息在收到當年課稅,未實現資本利得則要到出售時才課稅,且適用當時的稅率。若邊際持有人對一美元股息的評價為一減股息稅率,對一美元股價的評價為一減資本利得稅率,則使兩者無差異的跌幅為股息乘以 (1 - td) / (1 - tg)。以下採用示意稅率,而非現行法律。若持有人須就合格股息負擔20%的稅率,長期資本利得稅率為15%,則該筆股息的價值為 0.80 / 0.85,即每一美元約值94美分;這支持 $0.50 股息約出現 $0.47 的跌幅。若同一持有人的稅率改為37%與20%,比率便為 0.63 / 0.80,約為每一美元79美分;相同股息的跌幅約為 $0.39。適用何種稅率取決於持有期間與帳戶類型,合格股息的持有期間說明相關判定標準。稅率會隨時間變動,但算式的結構不變。
第二項是最小報價單位。價格以完整美分交易,而 $0.235 的股息無法在開盤成交價中精確表達。
可以在前一天買進以取得股息嗎?
先計算數字。某股票在除息日前一日下午收於 $50.00,並附帶 $0.50 股息。若在該收盤價買進100股,持有的股票價值為 $5,000。隔日早上,調整後的參考收盤價為 $49.50,100股的市值約為 $4,950;同時,你持有一筆 $50 的應收股息,數週後於發放日結算。在稅前,除息日前後兩邊合計仍是 $5,000。你只是把 $50 的股價轉換為 $50 的現金;在應稅帳戶中,這也會產生一筆課稅事件。
除息日前一天買進,決定的是你何時取得這筆收入。特定早晨的開盤價會高於或低於調整後參考價,這就是上方 KO 圖表中的雜訊。刻意交易這段價差的做法有其名稱,股息捕捉策略說明執行成本。至於賣出端的交易機制,在除息日賣出會直接回答這個問題。
這些圖表的建構方式
我們選取具有連續季度股息紀錄的大型美國股息支付者,且這些股票在2021年至2025年間均未進行股票分割,因此未調整的開盤價與現金金額可在整個期間內比較。每個除息日的前一交易日收盤價,取自該股票每日交易序列中的前一列;這樣可以處理週末與假日,不必硬編交易日曆。股息資料列按股票代號與除息日去除重複。比率圖表是將跌幅總額除以股息總額,而不是平均各事件的比率,因此不會讓某一筆小額股息主導結果。
常見問題
為什麼股價會在除息日下跌?
在除息日,買方不再取得即將發放的股息,交易所也會為了參考價與委託價格用途,按股息金額下調前一交易日的收盤價。這項跌幅已寫入該日期的交易機制中,並在任何交易發生前出現。
股票是否總會剛好下跌一筆股息的金額?
不會。參考收盤價的調整幅度確實等於股息,但開盤成交價則取決於集合競價的結果。將許多除息日平均後,跌幅通常低於完整股息;在單一早晨,一般價格波動也經常大於股息本身。
什麼是 DNR 委託?
DNR 代表 Do Not Reduce。這是一項附加在未成交買進限價單或賣出停損單上的指示,要求交易所在除息日維持原委託價格,不要按股息金額調降。
如果在除息日買進,能拿到股息嗎?
不能。在除息日或之後買進,下一筆股息仍歸賣方所有。要取得股息,必須在除息日開盤前持有股票;這正是除息日所標示的分界。
除息日下跌是否代表我虧損?
稅前來看,價值只是從股價轉移至現金。持有股票度過除息日的投資人,會看到部位市值下調,同時出現一筆應收股息。實務上造成兩者差異的因素,是稅負與股息發放日的時間間隔。
本文每一張圖表都附有完整 SQL,讓你查看哪些交易日被納入、哪些被排除。若要在 Strasmore terminal 上對你已持有的股息支付者執行相同比較,請以自然語言提出問題。