2. 债券定价与收益率:现金流贴现、到期收益率、即期利率与远期利率

债券定价,说白了就是回答一个问题:这张债券到底值多少钱?

我刚开始做固收那会儿,总觉得定价就是套公式。后来在2013年钱荒那阵子,市场利率一天跳几十个BP,我才真正意识到——定价模型里的每一个参数,背后都是真金白银的博弈。

这一章,我们就把债券定价的几块基石掰开揉碎讲清楚。

2.1 现金流贴现:一切定价的起点

债券的本质是什么?是一系列未来现金流的承诺。你借钱给发行人,他承诺在未来某个时间点还本付息。

所以债券的价格,就是把这些未来的现金流,用合适的折现率,全部折算到今天。

核心公式:

P = Σ [CFt / (1 + rt)t]

其中:P = 债券价格,CFt = 第t期的现金流,rt = 第t期的折现率

举个例子。一张3年期债券,面值100元,票面利率5%,每年付息一次。

它的现金流长这样:

年份 现金流
第1年 5元(利息)
第2年 5元(利息)
第3年 105元(利息+本金)

假设市场要求的折现率是4%,那么价格就是:

P = 5/(1.04) + 5/(1.04)² + 105/(1.04)³
  = 4.81 + 4.62 + 93.32
  = 102.75元

你看,当票面利率(5%)高于市场利率(4%)时,债券就溢价交易。反过来就是折价。这个逻辑,我在做利率债交易时每天都要过一遍。

实战小技巧:

我个人习惯用Excel的NPV函数快速验算。但要注意,Excel的NPV默认第一期是t=1,别搞混了。

2.2 到期收益率:债券的"内部回报率"

到期收益率(YTM),是债券市场最常用的收益率指标。

它的定义很简单:使债券未来现金流现值等于当前市场价格的折现率

说白了,YTM就是你买入债券并持有到期的年化回报率。前提是——所有现金流都能按时拿到,并且你拿到的利息也能按YTM再投资。

嗯,这里要注意。YTM有两个隐含假设:

  • 持有至到期——中途不卖
  • 利息再投资收益率等于YTM——这个假设在现实中很难满足

我曾经在2016年做过一个回测:如果利息再投资收益率比YTM低1%,实际回报率会差多少?结果发现,对于10年期国债,差距能达到0.3%-0.5%每年。所以别把YTM当成实际回报的保证。

计算YTM没有解析解,只能用试错法或数值方法。比如刚才的例子,如果市场价格是102.75元,那么YTM就是4%。

# Python示例:用牛顿法求YTM
def ytm_calculator(price, coupon, maturity, face=100):
    # 简化版,实际要考虑付息频率
    def bond_price(ytm):
        cf = [coupon] * (maturity - 1) + [coupon + face]
        return sum([c / (1 + ytm)**(t+1) for t, c in enumerate(cf)])
    
    # 牛顿迭代
    ytm = 0.05  # 初始猜测
    for _ in range(100):
        f = bond_price(ytm) - price
        # 导数近似
        df = (bond_price(ytm + 1e-6) - bond_price(ytm - 1e-6)) / 2e-6
        ytm -= f / df
        if abs(f) < 1e-8:
            break
    return ytm

避坑指南:

我曾经在计算含权债券的YTM时吃过亏。对于可赎回债券,YTM可能严重高估实际回报。因为发行人会在利率下行时提前赎回,你根本拿不到那么高的收益。

2.3 即期利率:不同期限的"真实"折现率

YTM假设所有现金流都用同一个折现率,这显然不合理。你想想看,1年后的5块钱和3年后的105块钱,风险能一样吗?

即期利率(Spot Rate)就是解决这个问题的。它是指从现在开始,到未来某个时点到期的零息债券的年化收益率

用即期利率给债券定价,公式变成:

P = CF₁/(1+s₁) + CF₂/(1+s₂)² + ... + CFₙ/(1+sₙ)ⁿ

其中s₁, s₂, ..., sₙ就是不同期限的即期利率。

怎么得到即期利率?最经典的方法是Bootstrapping(剥离法)。从短期国债开始,一步步剥离出各期限的即期利率。

Bootstrapping核心思路:

  1. 用1年期国债的YTM作为s₁
  2. 用2年期国债的价格和s₁,反推出s₂
  3. 以此类推,逐层剥离

我在做利率曲线建模时,Bootstrapping是每天开盘前的必修课。市场波动大的时候,即期利率曲线和YTM曲线能差出5-10个BP,这对组合估值的影响可不小。

2.4 远期利率:锁定未来的"时间机器"

远期利率(Forward Rate),是未来某个时间点开始的、一定期限的利率

比如"1年后的1年期利率",记作f(1,2)。它告诉你:如果你现在签一个合约,约定1年后借入1年期资金,利率是多少。

远期利率和即期利率之间,存在一个无套利关系:

(1+s₂)² = (1+s₁) × (1+f(1,2))

所以:f(1,2) = (1+s₂)²/(1+s₁) - 1

这个公式背后的逻辑很简单:投资2年期的收益,应该等于先投1年期、再续投1年期的收益。否则就有套利空间。

我记得2019年做利率互换交易时,就是靠这个逻辑来定价IRS的。市场上一旦出现偏离,我们就会快速捕捉。

实战应用:

远期利率曲线是判断市场利率预期的利器。如果远期利率明显高于即期利率,说明市场预期未来利率会上升。反之亦然。

2.5 知识体系总览

下面这张图,把这一章的核心逻辑串起来了:

债券定价与收益率:知识体系 债券定价 现金流贴现 (DCF) 到期收益率 (YTM) 即期利率 (Spot) 远期利率 (Forward) 未来现金流 折现因子 内部回报率 再投资假设 零息利率 Bootstrapping 无套利定价 利率预期 核心逻辑:现金流 → 折现率 → 价格 → 收益率

这张图把四个概念串成了一条线。你从现金流贴现出发,理解YTM是统一折现率,然后拆解成即期利率,再推导出远期利率。每一步都有它的实际用途。

我个人建议,刚入行的朋友先把现金流贴现和YTM吃透。这两个是日常交易中最常用的。即期利率和远期利率,在做利率曲线交易和衍生品定价时才会频繁用到。

好了,这一章就到这里。记住一句话:债券定价的核心,就是找到正确的折现率。剩下的,都是技术细节。


专注资料整理