Transformez votre code en fonction

Évaluation et analyse des obligations avec R

Clifford Ang

Senior Vice President, Compass Lexecon

Fonction d'évaluation d'une obligation

  • Nous allons évaluer plusieurs obligations dans ce cours
  • Les étapes du chapitre précédent seront répétées
  • Nous créerons la fonction bondprc() pour simplifier les calculs
Évaluation et analyse des obligations avec R

Étapes de l'évaluation d'une obligation

  • Généralisez ces entrées :
    • p pour la valeur nominale
    • r pour le taux du coupon
    • ttm pour l'échéance (time to maturity)
    • y pour le rendement
  • Nous rendons aussi une partie du code plus générique
Évaluation et analyse des obligations avec R

Étapes de l'évaluation d'une obligation

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) : répète y fois la valeur x
  • x = p * r = paiement du coupon
  • y = ttm - 1 = échéance de l'obligation moins un an
  • p * (1 + r) = principal + dernier coupon
Évaluation et analyse des obligations avec R

Étapes de l'évaluation d'une obligation

cf <- data.frame(cf)
  • Convertissez en trame de données pour ajouter des variables (comme dans la section précédente)
cf$t <- as.numeric(rownames(cf))
  • Créez l'indice temporel pour l'actualisation
    • rownames() de cf vaut 1, 2, 3, 4, jusqu'à ttm de l'obligation
    • as.numeric() s'assure que les valeurs sont lues comme des nombres
Évaluation et analyse des obligations avec R

Étapes de l'évaluation d'une obligation

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Calculez le facteur d'actualisation (PV)
cf$pv <- cf$cf * cf$pv_factor
  • Calculez la PV de chaque flux de trésorerie
sum(cf$pv)
  • Faites la somme des PV pour obtenir la valeur de l'obligation
Évaluation et analyse des obligations avec R

Encapsuler le code

  • Créez la fonction bondprc()
  • Elle prend en entrée p, r, ttm et y
bondprc <- function(p, r, ttm, y){
   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)
}
Évaluation et analyse des obligations avec R

Passons à la pratique !

Évaluation et analyse des obligations avec R

Preparing Video For Download...