Prix prédit vs prix réel I
Tracer les prix prédits d’obligations pour différents niveaux de rendement à l’aide de la duration, puis les comparer aux prix réels de l’obligation est un excellent moyen de visualiser la précision de la duration.
Dans cet exercice, vous allez commencer par calculer la duration de l’obligation, ainsi que son prix pour différents niveaux de rendement. Dans le prochain exercice, vous calculerez le prix prédit à partir de la duration et tracerez l’écart.
L’obligation étudiée est une obligation à 10 ans versant un coupon annuel de 5 % et avec un rendement actuariel de 5 %.
numpy, numpy_financial, pandas et matplotlib ont déjà été importés pour vous sous les noms np, npf, pd et plt, respectivement.
Cet exercice fait partie du cours
Évaluation et analyse des obligations en Python
Instructions
- Calculez la duration et la duration en dollars de l’obligation.
- Créez un tableau de rendements obligataires de 0 à 10 par incréments de 0,1 et convertissez ce tableau en DataFrame
pandasnommébond_yield. - Ajoutez la colonne
pricecontenant le prix de l’obligation pour chaque niveau de rendement.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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, ____, ____, ____)