使用 Python 進行債券評價與分析
Joshua Mayhew
Options Trader
拿回本金的「平均」時間
等越久=對利率曝險越大
存續期間是價格對殖利率的導數(變動率)
切線的斜率就是存續期間


我們可以這樣研究影響存續期間的因素:
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)
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 進行債券評價與分析