CommencerCommencer gratuitement

Tracer la relation prix/rendement

Même s’il existe une relation inverse entre le prix et le rendement, elle n’est pas linéaire. Autrement dit, les variations de prix dues à une variation du rendement peuvent être très différentes selon que le rendement augmente ou diminue. Nous reviendrons sur cette idée clé lorsque nous aborderons la convexité au chapitre trois, et la nécessité d’un ajustement pour tenir compte de la 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 supposez disposer d’une obligation de valeur nominale de 100 $, avec un coupon de 10 % et une échéance à 20 ans. Notez que cela diffère de l’obligation manipulée jusqu’ici ! Votre objectif est de valoriser cette obligation pour différents niveaux de rendement à l’aide de votre fonction bondprc(), disponible dans votre espace de travail.

Cet exercice fait partie du cours

Évaluation et analyse des obligations avec R

Afficher le cours

Instructions

  • Créez le vecteur prc_yld de 2 % (0.02) à 40 % (0.40) par pas de 1 % (0.01) en utilisant la fonction seq().
  • Utilisez data.frame() pour convertir prc_yld en data frame.
  • Utilisez la boucle for préé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 désormais une colonne de rendement (prc_yld) et une colonne de prix (price). Tracez cet objet avec le code préécrit pour visualiser la relation entre le prix et le rendement actuariel (YTM).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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