4. 债券现金流
债券定价的本质,是把未来一系列现金流按合适的贴现率折算到当前时点。因此,在进入定价公式之前,必须先回答一个更基础的问题:这只债券到底会在什么时间、支付多少钱?这就是现金流时间表要解决的核心任务。它既是定价的输入,也是收益率计算、风险度量和会计核算的共同基础。
一、核心原理:债券现金流由四类要素决定
一只标准固定利率债券的现金流,可以拆解为四个相互关联的要素:票息支付、本金偿还、付息频率和应计利息。它们共同决定了每一笔现金流的金额与时间点。
- 票息支付:每期利息 = 面值 × 票面利率 ÷ 每年付息次数。票息是债券持有人定期获得的“租金”,金额在发行时通常固定。
- 本金偿还:多数债券到期一次性偿还面值(bullet bond);也有分期摊还、提前赎回或含权结构,会改变本金流的时间分布。
- 付息频率:年付、半年付、季付甚至月付。频率越高,名义利率相同的情况下实际复利效应越强,现金流笔数也越多。
- 应计利息:在两个付息日之间买入债券时,买方需向卖方补偿已产生但尚未支付的利息,它不属于未来现金流,但影响结算价格。
关键关系:现金流时间表 = 时间轴 × 每期现金流金额。时间轴由付息频率和到期日决定,金额由票面利率、面值和本金偿还方式决定。
二、方法流程:构建现金流时间表的五步法
- 确定基准日与到期日:明确估值日、起息日、到期日,计算剩余期数。若估值日不在付息日,需单独处理首期不足整期的情况。
- 确定付息频率与付息日:根据募集说明书确定每年付息次数,并列出所有未来付息日。注意节假日顺延规则可能改变实际收付日。
- 计算每期票息:票息 = 面值 × 票面利率 ÷ 频率。若为浮动利率,需按基准利率加利差逐期重估。
- 加入本金偿还:到期日现金流 = 当期票息 + 偿还本金。若为摊还债,需在每期分别列示本金与利息。
- 计算应计利息并生成结算调整:应计利息 = 面值 × 票面利率 × 已计息天数 ÷ 计息基准天数。全价 = 净价 + 应计利息。
下面用一个可复用的参数结构来组织时间表,便于后续定价与收益率计算直接调用:
bond = {
face: 100, // 面值
coupon_rate: 0.045, // 年票面利率
freq: 2, // 每年付息次数
maturity_years: 3, // 剩余年限
day_count: "ACT/ACT" // 计息基准
}
// 每期票息 = 100 × 0.045 / 2 = 2.25
// 期数 = 3 × 2 = 6,最后一期现金流 = 2.25 + 100 = 102.25
三、案例场景:一只三年期半年付息债券
假设某债券面值100元,票面利率4.5%,每年付息两次,剩余期限3年,当前估值日恰好在付息日。其现金流时间表如下:
| 期数 | 时间(年) | 票息 | 本金 | 合计现金流 |
|---|---|---|---|---|
| 1 | 0.5 | 2.25 | 0 | 2.25 |
| 2 | 1.0 | 2.25 | 0 | 2.25 |
| 3 | 1.5 | 2.25 | 0 | 2.25 |
| 4 | 2.0 | 2.25 | 0 | 2.25 |
| 5 | 2.5 | 2.25 | 0 | 2.25 |
| 6 | 3.0 | 2.25 | 100 | 102.25 |
若估值日不在付息日,例如距离下一付息日还有40天,则应计利息为:100 × 4.5% × (180−40)/180 ≈ 3.50元(按半年180天简化)。此时买方支付的全价应包含这部分补偿。
四、误区与复盘:时间表构建中最容易出错的五个点
以下问题在实务中高频出现,任何一处出错都会直接导致定价偏差或收益率计算失真。
- 把应计利息当作未来现金流:应计利息是结算价格的组成部分,不是未来收到的票息,不能重复计入时间表。
- 忽略首期不足整期:当估值日不在付息日时,首期现金流的时间间隔和金额都可能需要按实际天数调整。
- 付息频率与计息基准混用:频率决定每年付几次,计息基准决定每次算几天,两者不能相互替代。
- 含权条款未单独建模:可赎回、可回售债券的现金流具有不确定性,需按情景分别构建时间表。
- 节假日顺延未处理:实际收付日可能晚于名义付息日,影响短期资金成本和贴现天数。
复盘建议:构建完时间表后,先做三项自检——期数是否等于剩余年限×频率;最后一期是否包含本金;所有现金流之和是否等于“总票息 + 面值”。三项通过,时间表基本可靠。
现金流时间表是债券分析的“地基”。只有把每一笔现金流的时间与金额都准确列出,后续的贴现定价、到期收益率、久期与凸性计算才有意义。掌握五步构建法,并对应计利息和含权条款保持敏感,就能在实战中稳定输出可靠的现金流模型。