Aan de slagGa gratis aan de slag

Voorspelde vs. werkelijke prijzen I

De voorspelde obligatieprijzen voor verschillende renteniveaus plotten met duration en deze voorspelde prijzen vergelijken met de werkelijke prijs is een mooie manier om de nauwkeurigheid van duration te visualiseren.

In deze oefening begin je met het bepalen van de duration van de obligatie en de prijs van de obligatie bij verschillende renteniveaus. In de volgende oefening bereken je de voorspelde prijs op basis van duration en plot je het verschil.

De obligatie die je bekijkt is een 10-jarige obligatie met een jaarlijkse coupon van 5% en een yield to maturity van 5%.

numpy, numpy_financial, pandas en matplotlib zijn al voor je geïmporteerd als respectievelijk np, npf, pd en plt.

Deze oefening maakt deel uit van de cursus

Waardering en analyse van obligaties in Python

Cursus bekijken

Oefeninstructies

  • Bepaal de duration en de dollar duration van de obligatie.
  • Maak een array van obligatierentes van 0 tot 10 in stappen van 0,1 en zet deze array om naar een pandas DataFrame met de naam bond_yield.
  • Voeg de kolom price toe met de obligatieprijs voor elk renteniveau.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____

# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____

# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)
Code bewerken en uitvoeren