跳到主要內容跳到頁尾

債券付息日與存續期間:COUPNCD、COUPDAYS、DURATION、MDURATION 與 ACCRINT

5 分鐘閱讀Lv.3 中級摘要與日期

整理 Google 試算表的債券付息日系列 COUPPCD、COUPNCD、COUPNUM、COUPDAYBS、COUPDAYS、COUPDAYSNC,以及 DURATION、MDURATION、ACCRINT、ACCRINTM。附 day count basis 0 到 4 的比較表。

發布 更新

文章目錄

今天要整理債券的付息日系列 COUPPCD、COUPNCD 這幾個長得很像的函式,再加上 DURATION、MDURATION,還有算應計利息的 ACCRINT、ACCRINTM。

我沒有在工作上算過債券,這篇當工具書。看債券條款時常會問:下一次付息是哪天、到下次付息還有幾天、已經累積多少利息、利率變動時價格大概會動多少,這些就是這一組在回答的。價格與殖利率的函式在 債券價格函式 那篇。本文所有數字僅示範計算,不是投資建議。

怎麼選

想知道用這個
上一個付息日/下一個付息日COUPPCD/COUPNCD
到期前還剩幾次付息COUPNUM
這一期已過幾天/整期幾天/還剩幾天COUPDAYBS/COUPDAYS/COUPDAYSNC
利率敏感度DURATION、MDURATION
已累積的利息金額ACCRINT(定期付息)、ACCRINTM(到期付息)

例子與 day count basis

後面 COUP 系列與存續期間都用同一檔假想債券:2026/07/01 交割,2030/11/15 到期,每年付息 2 次,所以付息日落在每年 5/15 與 11/15。

day count basis 是選填的最後一個參數,沒填等於 0:

basis名稱天數算法
0美國 30/360每月 30 天,一期 360/次數 天
1實際/實際實際日曆天,一期用實際天數
2實際/360實際日曆天,一期 360/次數 天
3實際/365實際日曆天,一期 365/次數 天
4歐洲 30/360每月 30 天,一期 360/次數 天

30/360 規則:天數 = (年差 × 360) + (月差 × 30) + (日差),起日是 31 就當 30;basis 0 迄日是 31 且起日(調整後)是 30 以上時迄日當 30,basis 4 的 31 一律當 30。2 月底的處理上,basis 0 依 NASD 規則把 2 月底當 30 日,basis 4 沒有這條規則。例如到期日是 2030/2/28 時,COUPDAYBS 的 basis 0 是 121 天(2/28 當 30 日),basis 1 是 123 天(實際天數)。

付息日

COUPPCD

交割日之前的上一個付息日。

語法:

Google 試算表公式
fx

COUPPCD:上一個付息日

=COUPPCD(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

結果是 2026/05/15。回傳的是日期序號,儲存格要套日期格式才會看到日期。

COUPNCD

交割日之後的下一個付息日。

語法:

Google 試算表公式
fx

COUPNCD:下一個付息日

=COUPNCD(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

結果是 2026/11/15。

COUPNUM

交割後到到期日之間還有幾次付息。

語法:

Google 試算表公式
fx

COUPNUM:剩餘付息次數

=COUPNUM(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

結果是 9:2026/11 一次,2027 到 2030 每年 2 次共 8 次。

付息期天數

這三個函式一起看最清楚,同一組日期換 basis 的結果:

basisCOUPDAYBSCOUPDAYSCOUPDAYSNC
046180134
147184137
247180137
347182.5137
446180134

COUPDAYBS

從上一個付息日到交割日的天數。

語法:

Google 試算表公式
fx

COUPDAYBS:5/15 到 7/1

=COUPDAYBS(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

basis 0 是 2 × 30 + (1 − 15) = 46;basis 1 用實際日曆天,5/15 到 7/1 是 47 天。

COUPDAYS

包含交割日的那一個付息期,整期有幾天。

語法:

Google 試算表公式
fx

COUPDAYS:整期天數

=COUPDAYS(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

basis 0 是 360 ÷ 2 = 180。basis 1 是實際的 5/15 到 11/15,共 184 天。basis 3 是 365 ÷ 2 = 182.5。

COUPDAYSNC

從交割日到下一個付息日的天數。

語法:

Google 試算表公式
fx

COUPDAYSNC:7/1 到 11/15

=COUPDAYSNC(DATE(2026,7,1), DATE(2030,11,15), 2, 0)

basis 0 是 180 − 46 = 134,basis 1 是實際天數 137。basis 0 的這個例子,不管是「整期減已過」(180 − 46),還是直接用 30/360 算 7/1 到 11/15(4 × 30 + 14),結果都是 134。

存續期間

存續期間是債券現金流量的加權平均回收時間,單位是年,也用來粗估利率變動 1% 時價格大約變動多少 %。

DURATION

算 Macaulay 存續期間。

語法:

Google 試算表公式
fx

DURATION:票面 4.75%,殖利率 5.8%

=DURATION(DATE(2026,7,1), DATE(2030,11,15), 0.0475, 0.058, 2, 0)

結果是 3.9663 年。算法:把每期現金流量(利息 2.375,最後一期加 100)用殖利率折現,乘上時間(年)加權,再除以現值總和。比距離到期的約 4.4 年短,因為中間有領利息。

MDURATION

修正存續期間:DURATION ÷ (1 + 殖利率 ÷ 付息次數)。

語法:

Google 試算表公式
fx

MDURATION:同一檔債券

=MDURATION(DATE(2026,7,1), DATE(2030,11,15), 0.0475, 0.058, 2, 0)

結果是 3.8545,驗算 3.9663 ÷ (1 + 0.058 ÷ 2) = 3.8545。意思是殖利率上升 1 個百分點,價格約下跌 3.85%,這是近似。

應計利息

ACCRINT

定期付息債券,從發行日到交割日累積的利息。

語法:

Google 試算表公式
fx

ACCRINT:面額 1000,票面 4.75%

=ACCRINT(DATE(2026,3,1), DATE(2026,9,1), DATE(2026,8,15), 0.0475, 1000, 2, 0)

basis 0 下 3/1 到 8/15 是 5 × 30 + 14 = 164 天,利息 = 1000 × 4.75% × 164 ÷ 360 = 21.6389。交割日晚於首次付息日時(例如交割日改成 10/15),Sheets 仍從發行日起算,3/1 到 10/15 是 224 天,結果是 29.5556。

Excel 的 ACCRINT 多一個第 8 個參數 calc_method:填 FALSE 時,交割日晚於首次付息日的部分會從首次付息日起算。Sheets 的官方說明沒有列這個參數,填 FALSE 也不會改變結果。所以在 Excel 明確填 FALSE 的話,這種情況的數字會和 Sheets 不一樣。

ACCRINTM

到期一次付息的證券,發行日到到期日的利息。

語法:

Google 試算表公式
fx

ACCRINTM:basis 0

=ACCRINTM(DATE(2026,3,1), DATE(2026,9,1), 0.0475, 1000, 0)

30/360 是 180 天,1000 × 4.75% × 180 ÷ 360 = 23.7500。改成 basis 3,實際 184 天除以 365,結果是 23.9452。官方語法把面額列為選填,但沒有寫省略時的預設值,我習慣一律寫明。

要找價格或殖利率,回 債券價格函式。

分享:
#債券#付息日#存續期間#應計利息#財務函式
喜特先生 Mr. Sheet

喜特先生 Mr. Sheet

數據分析師/商業分析師

八年工作經驗,跨不同業界解決數據需求。做過的案例都整理在作品集。

接下來可以

相關文章

查看所有文章

留言討論

共 0 則留言

訂閱電子報,新文章上線就通知你

免費,隨時可取消。

送出即表示同意服務條款與隱私權政策。