3. 货币时间价值
债券定价的本质,是把未来不同时点发生的现金流,按统一的时间价值尺度折算到当前时点。理解货币时间价值,是后续计算债券全价、净价、到期收益率与久期的前提。本节围绕现值、终值、年金、贴现因子、复利频率与连续复利六个核心概念展开,并给出可直接用于债券计算的公式与代码。
一、核心原理:今天的1元不等于明天的1元
货币时间价值的基本命题是:在正利率环境下,当前持有的1元,其价值高于未来同等金额的1元。原因在于当前资金可以投资获得利息,因此未来金额必须经过“贴现”才能与当前金额比较。围绕这一命题,形成两组基本运算:
- 终值(FV):把当前金额按利率向前滚动到未来某时点,反映资金增长结果。
- 现值(PV):把未来金额按利率折回当前时点,反映未来现金流的当前等价价值。
在离散复利下,若当前本金为 PV,年利率为 r,每年计息 m 次,期限 t 年,则终值与现值互为逆运算:
FV = PV × (1 + r/m)^(m×t)
PV = FV / (1 + r/m)^(m×t)
其中 (1 + r/m)^(-m×t) 就是该时点的贴现因子,它把未来1元现金流映射为当前价值。债券定价中,每一笔票息和本金都乘以对应期限的贴现因子后求和。
二、方法流程:从单笔现金流到年金与债券现金流
实际债券分析中,现金流往往不是单笔,而是周期性发生的票息加上到期本金。此时需要引入年金概念。年金是等间隔、等金额的一系列现金流。普通年金(期末支付)的现值公式为:
PV_annuity = C × [1 - (1 + r/m)^(-m×t)] / (r/m)
其中 C 为每期现金流。若债券每半年付息一次,则 m=2,每期票息为票面利率除以2乘以面值。债券定价可拆解为“票息年金现值 + 本金单笔现值”:
Bond_Price = Σ [C / (1 + y/m)^(k)] + [F / (1 + y/m)^(m×t)]
其中 k = 1, 2, ..., m×t,y 为到期收益率,F 为面值
计算流程可归纳为四步:
- 确定现金流时间表:票息频率、付息日、到期日、本金金额。
- 确定折现率与复利频率:市场收益率、计息方式、是否连续复利。
- 逐笔计算贴现因子,乘以对应现金流。
- 加总得到债券理论价格,并与市场报价比较。
三、复利频率与连续复利:频率如何影响结果
同样的年利率,计息频率不同,实际增长结果不同。频率越高,复利效应越强。当计息频率趋于无穷大时,进入连续复利情形:
连续复利终值:FV = PV × e^(r×t)
连续复利现值:PV = FV × e^(-r×t)
连续复利贴现因子:DF = e^(-r×t)
连续复利在债券与衍生品定价中非常重要,因为它使不同期限的利率可以直接加减,便于构建无套利模型。下表对比不同复利频率下,年利率5%、期限1年的1元终值:
| 复利频率 | 计息次数 m | 1元终值 | 贴现因子 |
|---|---|---|---|
| 每年 | 1 | 1.050000 | 0.952381 |
| 每半年 | 2 | 1.050625 | 0.951814 |
| 每季度 | 4 | 1.050945 | 0.951524 |
| 每月 | 12 | 1.051162 | 0.951328 |
| 连续复利 | ∞ | 1.051271 | 0.951229 |
可以看到,频率从每年提高到连续复利,终值仅从1.050000升至1.051271,差异约0.12%。但在大额、长期限或高利率场景下,这一差异会被显著放大,因此债券定价必须明确复利频率假设。
四、案例与误区复盘
假设一张面值100元、票面利率6%、每半年付息一次、剩余期限2年的债券,市场到期收益率为5%。每期票息为3元,共4期,本金100元。按半年复利计算:
每期收益率 = 5% / 2 = 2.5%
DF1 = 1 / 1.025^1 = 0.975610
DF2 = 1 / 1.025^2 = 0.951814
DF3 = 1 / 1.025^3 = 0.928599
DF4 = 1 / 1.025^4 = 0.905951
价格 = 3×(0.975610+0.951814+0.928599+0.905951) + 100×0.905951
= 3×3.761974 + 90.5951
= 11.2859 + 90.5951
= 101.8810 元
该债券理论价格约为101.88元,高于面值,因为票面利率6%高于市场收益率5%。若误用每年复利一次计算,结果会偏离真实报价,说明复利频率假设不可忽略。
复盘要点:先统一时间单位与复利频率,再计算贴现因子;年金公式只适用于等额、等间隔现金流;连续复利下所有期限利率可直接线性加减,适合构建曲线,但报价时需转换回市场惯例频率。掌握这些原理后,后续债券定价与收益率计算才能保持口径一致、结果可比。