付息债券

用 Python 进行债券定价与分析

Joshua Mayhew

Options Trader

付息债券定义

  • 在存续期内定期支付现金流(票息)
  • 到期时同时支付票息和面值
  • 票息通常按年或半年支付
  • 每年支付票息的次数称为频率
  • 到期收益率是买入并持有至到期的年化回报
用 Python 进行债券定价与分析

付息债券示例

考虑一只3年期债,年票息3%,面值100美元,到期收益率4%:

注意:票息是固定的,且不会变化!

用 Python 进行债券定价与分析

付息债券定价

将该债券拆分为一组零息债并分别定价:

  • 1年期零息债,面值3美元
  • 2年期零息债,面值3美元
  • 3年期零息债,面值103美元
用 Python 进行债券定价与分析

付息债券定价

3年期债,年票息3%,面值100美元,到期收益率4%

用之前的复利公式:

$ \text{1年期零息价: } \frac{3}{(1 + 0.04)^1} = 2.88$

$ \text{2年期零息价: } \ \frac{3}{(1 + 0.04)^2} = 2.77$

$ \text{3年期零息价: } \ \frac{103}{(1 + 0.04)^3} = 91.57$

$\text{付息债价格: } 2.88 + 2.77 + 91.57 = 97.22$

用 Python 进行债券定价与分析

付息债公式

更一般地,付息债的定价公式为:

$ Price = PV = \frac{C}{(1 + r)^1} + \frac{C}{(1 + r)^2} + ... +\frac{C}{(1 + r)^n} + \frac{P}{(1 + r)^n}$

$ = (\sum_{i=1}^n \frac{C}{(1 + r)^i}) + \frac{P}{(1 + r)^n}$

  • $C$:每期支付的票息
  • $r$:债券的到期收益率
  • $P$:到期支付的面值(本金)
  • $n$:期数(通常为年)
用 Python 进行债券定价与分析

使用 pv() 函数

以同一只3年期债券为例,年票息3%,到期收益率4%:

import numpy_financial as npf
-npf.pv(rate=0.04, nper=3, pmt=3, fv=100)
97.22

我们将 pmt 设为正数。

函数前加负号。

fv 设为100,而非103。

用 Python 进行债券定价与分析

Passons à la pratique !

用 Python 进行债券定价与分析

Preparing Video For Download...