CommencerCommencer gratuitement

Transformez votre code en une fonction d’évaluation d’obligation

Dans les exercices précédents, vous avez calculé pas à pas la valeur d’une obligation. Cependant, répéter toutes ces étapes pour évaluer de nombreuses obligations serait fastidieux. Heureusement, vous pouvez créer une fonction qui effectue ces mêmes calculs à répétition pour différentes obligations.

La fonction que vous allez créer doit être suffisamment flexible pour vous permettre de saisir les caractéristiques clés de l’obligation. En reprenant notre exemple, il vous faudra que la fonction intègre la valeur nominale (par value), le taux du coupon, l’échéance (time to maturity) et le rendement (yield).

Dans cet exercice, vous allez créer la fonction bondprc qui prend ces quatre entrées pour calculer la valeur d’une obligation. Rappelez‑vous que pour créer une fonction, vous pouvez utiliser function(input 1, input 2, ...) { [lines of code] }.

Cet exercice fait partie du cours

Évaluation et analyse des obligations avec R

Afficher le cours

Instructions

  • Une fonction partiellement construite, bondprc, a été générée dans votre espace de travail. Complétez la fonction en écrivant la commande function() et en fournissant les noms des quatre entrées : p pour la valeur nominale, r pour le taux du coupon, ttm pour l’échéance, et y pour le rendement.
  • Vérifiez que la fonction bondprc renvoie un prix de 95,79 \( pour la valeur d’une obligation avec une valeur nominale de 100 \), un coupon de 5 %, une échéance de 5 ans et un rendement à l’échéance de 6 %.

Exercice interactif pratique

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

# Create function
bondprc <- ___(___, ___, ___, ___) {
  cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  cf <- data.frame(cf)
  cf$t <- as.numeric(rownames(cf))
  cf$pv_factor <- 1 / (1 + y)^cf$t
  cf$pv <- cf$cf * cf$pv_factor
  sum(cf$pv)
}

# Verify prior result
bondprc(___, ___, ___, ___)
Modifier et exécuter le code