Wycena i analiza obligacji w Pythonie
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
Jeśli stopy procentowe wzrosną do 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
Obligacja 5-letnia straciła 4,21% wartości, a 10-letnia – 7,36%
Obligacja 10-letnia była bardziej wrażliwa na zmiany stóp procentowych
Użyjemy uproszczonego wzoru na duration:
${\large Duration = \frac{P_{down}\ -\ P_{up} }{2\ \times\ P\ \times\ \Delta y}}$
Obligacja 10-letnia, kupon 5% rocznie, YTM 4% – jaka jest jej duration?
${ 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
Zmiana stóp procentowych o 1% powoduje zmianę ceny obligacji o 7,74%.
Wycena i analiza obligacji w Pythonie