CommencezCommencez gratuitement

Convertissez votre code en une fonction d'évaluation d'obligation

Dans les exercices précédents, vous avez suivi étape par étape le calcul de la valeur d'une obligation. Cependant, répéter toutes ces étapes pour évaluer plusieurs obligations devient vite contraignant. Heureusement, vous pouvez créer une fonction qui effectue ces mêmes calculs de façon répétée 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 lien avec notre exemple précédent, il faut que la fonction puisse intégrer la valeur nominale, le taux du coupon, l'échéance (temps jusqu'à l'échéance) et le rendement.

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

Cette activité fait partie du cours

Évaluation et analyse des obligations avec R

Voir le cours

Instructions de l’exercice

  • Une fonction partiellement construite, bondprc, a été générée dans votre espace de travail. Terminez la fonction en écrivant la commande function() et en fournissant le nom de quatre entrées : p pour la valeur nominale, r pour le taux du coupon, ttm pour le temps jusqu'à 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 ayant une valeur nominale de 100 \), un taux du 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 ce code d’exemple.

# 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