Czynniki wpływające na durację

Wycena i analiza obligacji w Pythonie

Joshua Mayhew

Options Trader

Duracja jako „średni" czas

„Średni" czas oczekiwania na zwrot środków

Dłuższe oczekiwanie = większa ekspozycja na stopy procentowe

Wycena i analiza obligacji w Pythonie

Duracja jako nachylenie stycznej

Duracja to pochodna (tempo zmiany) ceny względem rentowności

Nachylenie stycznej to duracja

Wycena i analiza obligacji w Pythonie

Zapadalność a duracja

  • Dłuższa zapadalność = dłuższe oczekiwanie na zwrot środków
  • Dłuższe oczekiwanie = większa ekspozycja na zmiany stóp procentowych
  • Dłuższa zapadalność = wyższa duracja
Wycena i analiza obligacji w Pythonie

Stopa kuponowa a duracja

  • Wyższy kupon = krótszy „średni" czas oczekiwania na zwrot środków
  • Mniejsza ekspozycja na zmiany stóp procentowych
  • Wyższy kupon = niższa duracja
  • Obligacje zerokuponowe mają wyższą durację niż kuponowe
Wycena i analiza obligacji w Pythonie

Rentowność obligacji a duracja

  • Krzywa ceny obligacji jest stroma przy niskiej rentowności
  • Niższa rentowność = wyższa wrażliwość na stopy procentowe = wyższa duracja
Wycena i analiza obligacji w Pythonie

Metody badania duracji

Czynniki wpływające na durację można zbadać przez:

  • Zmianę jednego czynnika i bezpośrednie obliczenie duracji
  • Wykres ceny/rentowności i obserwację jego stromości
  • Wykres duracji w zależności od czynnika
Wycena i analiza obligacji w Pythonie

Wykres zapadalności obligacji względem duracji

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)
Wycena i analiza obligacji w Pythonie

Wykres zapadalności obligacji względem duracji

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()

Wycena i analiza obligacji w Pythonie

Podsumowanie

Duracja obligacji rośnie przy:

  • Dłuższej zapadalności
  • Niższej stopie kuponowej
  • Niższym poziomie rentowności
Wycena i analiza obligacji w Pythonie

Czas na ćwiczenia!

Wycena i analiza obligacji w Pythonie

Preparing Video For Download...