CommencezCommencez gratuitement

Tracer la relation prix/rendement

Même s'il existe une relation inverse entre le prix et le rendement, cette relation n'est pas linéaire. Ainsi, la variation du prix attribuable à une variation du rendement peut différer considérablement selon que le rendement augmente ou diminue. Nous reviendrons sur ce concept important au chapitre trois, lorsque nous aborderons la convexité et la nécessité d'un ajustement pour tenir compte de cette relation courbe entre le prix d'une obligation et son rendement. Pour l'instant, retenez simplement que cette relation inverse est non linéaire.

Dans cet exercice, vous supposerez que vous avez une obligation avec une valeur nominale de 100 $, un taux de coupon de 10 % et une échéance dans 20 ans. Remarquez que cela diffère de l'obligation utilisée jusqu'ici ! Votre objectif est d'évaluer cette obligation à différents niveaux de rendement en utilisant votre fonction bondprc(), qui est disponible dans votre espace de travail.

Cette activité fait partie du cours

Évaluation et analyse des obligations avec R

Voir le cours

Instructions de l’exercice

  • Créez le vecteur prc_yld de 2 % (0.02) à 40 % (0.40) par incréments de 1 % (0.01) à l'aide de la fonction seq().
  • Utilisez data.frame() pour convertir prc_yld en trame de données.
  • Utilisez la boucle for déjà écrite avec bondprc() pour calculer le prix de l'obligation à différents niveaux de rendement dans prc_yld. Essayez de comprendre le comportement de la boucle.
  • Votre objet prc_yld contient maintenant une colonne pour le rendement (prc_yld) et une colonne pour le prix (price). Tracez cet objet à l'aide du code déjà fourni pour visualiser la relation entre le prix et le rendement à l'échéance (YTM).

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Generate prc_yld
prc_yld <- seq(___, ___, ___)

# Convert prc_yld to data frame
prc_yld <- data.frame(___)

# Calculate bond price given different yields
for (i in 1:nrow(prc_yld)) {
     prc_yld$price[i] <- bondprc(100, 0.10, 20, prc_yld$prc_yld[i])  
}

# Plot P/YTM relationship
plot(___,
     type = "l",
     col = "blue",
     main = "Price/YTM Relationship")
Modifier et exécuter le code