影響存續期間的因素

使用 Python 進行債券評價與分析

Joshua Mayhew

Options Trader

以「平均」時間看存續期間

拿回本金的「平均」時間

等越久=對利率曝險越大

使用 Python 進行債券評價與分析

存續期間是切線斜率

存續期間是價格對殖利率的導數(變動率)

切線的斜率就是存續期間

使用 Python 進行債券評價與分析

到期 vs. 存續期間

  • 到期越長=拿回本金越晚
  • 等越久=對利率變動更敏感
  • 到期越長=存續期間越高
使用 Python 進行債券評價與分析

息票率 vs. 存續期間

  • 息票率越高=「平均」回本時間越短
  • 因此對利率變動的曝險較小
  • 所以息票率越高=存續期間越低
  • 零息債的存續期間高於付息債
使用 Python 進行債券評價與分析

殖利率 vs. 存續期間

  • 殖利率越低,債券價格曲線越陡
  • 殖利率較低=對利率敏感度較高=存續期間較高
使用 Python 進行債券評價與分析

研究存續期間的方法

我們可以這樣研究影響存續期間的因素:

  • 變動單一因素並直接計算存續期間
  • 繪製價格/殖利率圖,看哪裡最陡
  • 繪製存續期間/因素圖
使用 Python 進行債券評價與分析

繪製債券到期對存續期間

import numpy as np
import numpy_financial as npf
import pandas as pd
import matplotlib.pyplot as plt
bond_maturity = np.arange(0, 30, 0.1)

bond = pd.DataFrame(bond_maturity, columns=['bond_maturity'])
bond['price'] = -npf.pv(rate=0.05, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['price_up'] = -npf.pv(rate=0.05 + 0.01, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['price_down'] = -npf.pv(rate=0.05 - 0.01, nper=bond['bond_maturity'], pmt=5, fv=100)
bond['duration'] = (bond['price_down'] - bond['price_up']) / (2 * bond['price'] * 0.01)
使用 Python 進行債券評價與分析

繪製債券到期對存續期間

plt.plot(bond['bond_maturity'], bond['duration'])

plt.xlabel('Maturity (Years)')
plt.ylabel('Duration (%)')
plt.title("Effect of Varying Maturity On Bond Duration")
plt.show()

使用 Python 進行債券評價與分析

重點整理

債券的存續期間會因下列情況增加:

  • 到期越長
  • 息票率越低
  • 殖利率水準越低
使用 Python 進行債券評價與分析

一起來練習吧!

使用 Python 進行債券評價與分析

Preparing Video For Download...