台股除權息機制與散戶三大誤解 — 從最後買進日到填息速度的完整時程
台股每年 6-9 月集中進入除權息季,上市公司依序公告配息日期,散戶帳戶相繼出現「低開」紀錄。然而關於除權息機制,市場流傳的幾個常見認知並不準確:「除息日買進就能領息」「填息代表白賺」「殖利率高就是好股票」。這三個誤解的根源在於混淆了關鍵日期的定義,以及對稅後報酬計算方式的省略。本文依據 TWSE 官方除息制度整理日期流程、逐一釐清三個誤解,並說明如何透過 TWSE 開放資料 API 即時取得殖利率資料。
① 關鍵日期流程
現金股利的發放,從董事會宣告到股利入帳,涉及五個關鍵時間點,各有明確定義:
董事會宣告股利
↓
最後買進日(除權息交易日前一個營業日)
↓ 持有截止點
除權息交易日(股價自動扣除股利金額、低開,序列最前)
↓ 成交後 T+2 完成交割
停止過戶起始日(公司停止變更股東名簿記載)
↓ 停止過戶期間(長度由公司公告,非固定)
除權息基準日(停止過戶期間最後一天,序列最後)
↓ 約 1 個月後
股利實際入帳
| 日期名稱 | 定義 | 關鍵規則 |
|---|---|---|
| 最後買進日 | 要領股利,必須在這天或之前持有 | 除權息交易日前一個營業日;在這天賣出仍可領息 |
| 除權息交易日 | 股價自動下調相當於股利金額 | 序列最前;股價扣除股利後出現「低開」 |
| 停止過戶起始日 | 成交後 T+2 完成交割,公司停止變更股東名簿記載 | 此後買進已無法參與本次權利分配 |
| 停止過戶期間 | 由上市公司訂定、須於起始日前 12 個營業日公告,長度非固定 | 期間仍可自由買賣,但過戶不即時辦理 |
| 除權息基準日 | 停止過戶期間最後一天(序列最後) | 公司完成股東名冊確認,決定誰有資格領息 |
| 股利入帳日 | 約 1 個月後 | 現金股利、股票股利可能分開入帳 |
兩個容易混淆的細節:最後買進日當天賣出仍可領息(持有到最後買進日即具資格);除權息日的低開是機制設計,不是漲跌停觸發(相關機制見 台股漲跌停計算機制)。
② 三個常見誤解
誤解 1:除息日當天買進就能領息
實際機制:除息日當天股價已完成扣除動作。具備領息資格的條件是在最後買進日(除息日前一個交易日)持有,而非除息日當天。
若在除息日當天才買進,不具領息資格,且買入的是已扣除股利後的較低股價,並不會因此少付或佔到便宜 — 而是在一個已反映股利扣除的基準上建立部位。
日期識別上的混淆在於:媒體報導通常只寫「X 月 Y 日除息」,不另行標注最後買進日是 X 月 Y-1 日(交易日)。確認最後買進日需回查公司公告或 TWSE 公告欄。
誤解 2:填息就是白賺
實際機制:除息日當天,股價會自動扣除股利金額,稱為「除息低開」。例如股利為每股若干元,除息日開盤參考價即下調相同金額。持有者手上多了股利,但帳面股票市值等額減少。
填息,是指除息後股價漲回除息前水準的過程。填息完成後,帳面回本。但「白賺」的說法省略了兩個成本:
- 所得稅:股利可選擇併入綜合所得稅(享 8.5% 抵減,上限 8 萬),或採分開計稅 28% 稅率,擇一申報
- 二代健保補充費:單次股利超過門檻時,另需繳納補充保費
因此,即使填息完成,稅後實際入帳的報酬低於股利面額。若未填息(股價除息後繼續下跌),則等於:帳面虧損 + 股利稅費雙重損失。
誤解 3:殖利率高就代表報酬好
實際機制:殖利率(DividendYield)的公式為年度股利除以股價,是靜態的比率數字。但影響實際報酬的關鍵不只是殖利率的高低,還有填息速度。
若殖利率高,但股價在除息後長期未能填息,持有者承受帳面損失,拿到的股利也需扣稅;反之,殖利率較低但填息速度快的標的,總報酬不一定較差。
評估存股報酬需同時考量:稅後股利 × 填息速度,而非單純比較殖利率數字。殖利率是起點資訊,不是終點判斷。
③ ETF 季配息特殊機制
台股高股息 ETF 採季配息制,除息機制與個股相同(股價自動低開、需要填息),但有兩個特殊之處:
配息時間點固定:ETF 依照基金公告的配息月份,在特定月份進行除息,非依個別成分股時程。
ETF 殖利率資料不在 BWIBBU_d:TWSE BWIBBU_d / BWIBBU_ALL 僅涵蓋上市個股(4 碼代號),完全不含 ETF(5 碼代號)。0056、00878、00919、00713 在這兩支 endpoint 都查不到(find(Code==='0056') 永遠回 undefined)。ETF 的配息與殖利率資料須改用 TWSE ETF 專屬資料源(TWSE ETF 配息清單)。
主要高股息 ETF 配息月份對照(機制參考,非推薦):
| ETF | 配息月份(除息月) |
|---|---|
| 0056 | 1、4、7、10 月 |
| 00878 | 2、5、8、11 月 |
| 00713 | 3、6、9、12 月 |
| 00919 | 3、6、9、12 月 |
其中 00878 為國泰永續高股息、00919 為群益台灣精選高息。每檔 ETF 的實際除息日以 TWSE 公告為準,月份對照僅反映季配頻率,不代表固定日期。
④ 即時殖利率資料:TWSE BWIBBU_d Endpoint
散戶查詢殖利率通常倚賴第三方財經網站,但 TWSE 官方開放資料 API 提供相同資訊,且每交易日收盤後即時更新:
GET https://openapi.twse.com.tw/v1/exchangeReport/BWIBBU_d
回傳全體上市股票當日本益比、殖利率、股價淨值比,無需申請 API key,直接取用。
關鍵欄位
每筆資料實際包含 9 個欄位:
| 欄位名稱 | 中文含義 | 說明 |
|---|---|---|
Date | 資料日期 | 西元年月日(例:20260529) |
Code | 股票代號 | 僅 4 碼上市個股,不含 ETF |
Name | 公司名稱 | |
ClosePrice | 收盤價 | |
DividendYield | 殖利率 | 年度股利 / 股價(%);部分股票為空字串 |
DividendYear | 股利對應年度 | 民國年(例:114 = 2025) |
PEratio | 本益比 | 部分股票為空字串(成因不限於虧損,見下方邊界情況) |
PBratio | 股價淨值比 | |
FiscalYearQuarter | 財報年度季別 | 例:2026Q1 |
欄位命名為英文(與 T86 使用中文欄位不同),詳見 TWSE 欄位命名實況。
基本取值範例
curl https://openapi.twse.com.tw/v1/exchangeReport/BWIBBU_d
// 取特定股票殖利率(對齊 BWIBBU_d 回傳結構)
// 注意:BWIBBU_d 僅含 4 碼上市個股,不含 ETF(5 碼代號查不到,find 會回 undefined)
const record = data.find(d => d.Code === targetCode);
// 空值處理:未發股利的個股 DividendYield 可能為空字串
if (!record || record.DividendYield === '') {
return null; // 不做空字串除法,避免 NaN
}
const dividendYield = parseFloat(record.DividendYield);
自動化串接 BWIBBU_d 與 T86 等 TWSE OpenAPI 端點時,常見作法是定時呼叫、空值過濾、再送入推播或彙整報告。floviq 盤前推播模板系列(盤前法人摘要、外資週報等)即基於此類端點建立自動化流程;取值時對每個欄位明確判斷空字串、避免 NaN 靜默進入計算,是基本的可靠度門檻。回傳結構應以官方 API 實際輸出為準,不宜依賴第三方文件揣測欄位格式。
⑤ 邊界情況與已知限制
DividendYield 空字串
未發股利的公司、或無股利記錄的股票,DividendYield 欄位為空字串(非 null、非 0)。對空字串執行 parseFloat 會得 NaN,計算時需顯式判斷。
PEratio 空字串
PEratio 可能因虧損或 TWSE 計算規則而為空字串,成因不限於 EPS 為負:實際資料中明顯獲利的配息公司(例:1101 台泥 DividendYield='3.28'、1301 台塑 DividendYield='1.05'),PEratio 同樣是空字串。因此不能假設「PEratio 空 = 虧損股」;串接時應一律對空字串做判斷再進行除法計算。(ETF 不在 BWIBBU_d 內,此情形不適用於 ETF。)
除息日與漲跌停的交互
除息日的「低開」是機制設計,股價開盤可能大幅低於前日收盤。此低開不受 ±10% 漲跌停限制保護(除息低開可合法超出正常漲跌停範圍),但除息後的當日盤中漲跌仍受升降單位與漲跌停機制約束,詳見 台股漲跌停 ±10% 計算機制。
BWIBBU_d 更新時序
BWIBBU_d 每交易日收盤後更新,非盤中即時資料。盤中查詢仍為前一交易日數字。假日呼叫行為以 TWSE OpenAPI 實測為準,建議在程式端加上回傳驗證(遇到空陣列或過舊日期時備援處理)。
See also
- 台股漲跌停 ±10% 計算機制 — 除息低開後的盤中漲跌停範圍適用規則
- TWSE T86 欄位命名實況 — BWIBBU_d 英文欄位 vs T86 中文欄位的命名差異
- TWSE OpenAPI 總覽:https://openapi.twse.com.tw/
- TWSE ETF 配息清單:https://www.twse.com.tw/zh/ETFortune/dividendList
- floviq 模板:基於 TWSE OpenAPI 的盤前 / 週報推播自動化模板 (Telegram / LINE / Discord) · https://portaly.cc/floviq
修正紀錄
先前版本有以下更正:
- ①:除息交易日的時序 → 在基準日之前(低開、序列最前),非之後。
- ①:停止過戶期間長度 → 由公司自訂、須提前公告,非固定 5 日。
- ③④⑤:高股息 ETF 殖利率 → 不在 BWIBBU_d,須改用 TWSE ETF 配息清單。
- ③:00878 配息月份
3、6、9、12 月→ 2、5、8、11 月;009192、5、8、11 月→ 3、6、9、12 月。 - ④:關鍵欄位 → 補齊為 9 欄(原列 6 欄)。
- ⑤:PEratio 空字串成因 → 不限於虧損(獲利股亦可能為空)。
※ 本文描述台股除權息日期流程與計算機制 · 不構成投資建議,投資請自行評估風險。
資料來源:TWSE OpenAPI BWIBBU_d endpoint (https://openapi.twse.com.tw/v1/exchangeReport/BWIBBU_d) · TWSE ETF 配息清單 (https://www.twse.com.tw/zh/ETFortune/dividendList)
如果這篇對你有用: