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
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 commandefunction()et en fournissant le nom de quatre entrées :ppour la valeur nominale,rpour le taux du coupon,ttmpour le temps jusqu'à l'échéance etypour le rendement. - Vérifiez que la fonction
bondprcrenvoie 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(___, ___, ___, ___)