Duration

Wycena i analiza obligacji w Pythonie

Joshua Mayhew

Options Trader

Kontekst duration

  • Ceny i rentowności poruszają się odwrotnie
  • Nie wiemy, jak bardzo obligacja jest wrażliwa na stopy procentowe
  • Duration mierzy tę wrażliwość
Wycena i analiza obligacji w Pythonie

Przykład motywujący

  • Weźmy obligacje 5-letnią i 10-letnią, obie z kuponem 5%
  • Przy rentowności 5% obie mają cenę 100 USD:
-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
Wycena i analiza obligacji w Pythonie

Przykład motywujący

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

Wycena i analiza obligacji w Pythonie

Czym jest duration?

  • Duration to % zmiana ceny przy zmianie rentowności o 1%.
  • Wyższa duration = wyższe ryzyko stopy procentowej
  • Typowe zastosowania:
    • Pomiar ryzyka stopy procentowej
    • Zabezpieczenie przed ryzykiem stopy procentowej
    • Prognozowanie zysków i strat przy zmianach stóp
Wycena i analiza obligacji w Pythonie

Obliczanie duration

Użyjemy uproszczonego wzoru na duration:

 

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

 

  • $P_{down}$ = Cena obligacji przy rentowności niższej o 1%
  • $P_{up}$ = Cena obligacji przy rentowności wyższej o 1%
  • $P$ = Cena obligacji przy bieżącej rentowności
  • $\Delta y$ = Zmiana rentowności (przyjmiemy 1%)
Wycena i analiza obligacji w Pythonie

Przykład – duration

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

Podsumowanie

  • Obligacje mogą reagować różnie na tę samą zmianę rentowności
  • Duration to % zmiana ceny obligacji przy zmianie rentowności o 1%
  • Duration mierzy wrażliwość na stopy procentowe
Wycena i analiza obligacji w Pythonie

Czas na ćwiczenia!

Wycena i analiza obligacji w Pythonie

Preparing Video For Download...