用 Python 进行债券定价与分析
Joshua Mayhew
Options Trader
-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
若利率上升至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年期对利率更敏感
我们将使用一个简化的久期公式:
${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$
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 进行债券定价与分析