久期

用 Python 进行债券定价与分析

Joshua Mayhew

Options Trader

久期的背景

  • 价格与收益率反向变动
  • 我们尚不知债券对利率有多敏感
  • 久期衡量利率敏感度
用 Python 进行债券定价与分析

动机示例

  • 取5年期与10年期债券,息票均为5%
  • 在5%收益率下,两者价格均为100美元:
-npf.pv(rate=0.05, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.05, nper=10, pmt=5, fv=100)
100.00
100.00
用 Python 进行债券定价与分析

动机示例

若利率上升至6%:

-npf.pv(rate=0.06, nper=5, pmt=5, fv=100)
-npf.pv(rate=0.06, nper=10, pmt=5, fv=100)
95.79
92.64
  • 5年期债券下跌4.21%,10年期下跌7.36%

  • 10年期对利率更敏感

用 Python 进行债券定价与分析

什么是久期?

  • 久期:收益率变动1%引起的价格百分比变动(利率)
  • 久期越高 = 利率风险越高
  • 常用于:
    • 衡量利率风险
    • 对冲利率风险
    • 预测利率变化下的盈亏
用 Python 进行债券定价与分析

计算久期

我们将使用一个简化的久期公式:

 

${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

 

  • $P_{down}$ = 收益率低1%时的债券价格
  • $P_{up}$ = 收益率高1%时的债券价格
  • $P$ = 当前收益率下的债券价格
  • $\Delta y$ = 收益率变动(此处用1%)
用 Python 进行债券定价与分析

久期示例

10年期债券,5%年息票,4%到期收益率,久期是多少?

${ Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$

price = -npf.pv(rate=0.05, nper=10, pmt=5, fv=100)

price_up = -npf.pv(rate=0.06, nper=10, pmt=5, fv=100) price_down = -npf.pv(rate=0.04, nper=10, pmt=5, fv=100)
duration = (price_down - price_up) / (2 * price * 0.01) print(duration)
7.74

利率变动1%会引起债券价格变动7.74%。

用 Python 进行债券定价与分析

小结

  • 相同收益率变动下,债券反应可能不同
  • 久期:收益率变动1%引起的债券价格百分比变动
  • 久期衡量利率敏感度
用 Python 进行债券定价与分析

开始练习吧!

用 Python 进行债券定价与分析

Preparing Video For Download...