Transformați codul într-o funcție

Evaluarea și analiza obligațiunilor în R

Clifford Ang

Senior Vice President, Compass Lexecon

Funcția de evaluare a obligațiunilor

  • Vom evalua multe obligațiuni în acest curs
  • Pașii din capitolul anterior vor fi repetați
  • Vom crea funcția bondprc() pentru a simplifica calculele
Evaluarea și analiza obligațiunilor în R

Pași în evaluarea obligațiunilor

  • Generalizați aceste intrări:
    • p pentru valoarea nominală
    • r pentru rata cuponului
    • ttm pentru durata până la scadență
    • y pentru randament
  • Unele părți ale codului sunt, de asemenea, generalizate
Evaluarea și analiza obligațiunilor în R

Pași în evaluarea obligațiunilor

cf <- c(rep(p * r, ttm - 1), p * (1 + r))
  • rep(x, y) - repetă valoarea lui x de y ori
  • x = p * r = plata cuponului
  • y = ttm - 1 = durata până la scadență minus un an
  • p * (1 + r) = principal + plata finală a cuponului
Evaluarea și analiza obligațiunilor în R

Pași în evaluarea obligațiunilor

cf <- data.frame(cf)
  • Conversie la data frame pentru a putea adăuga variabile (la fel ca în secțiunea anterioară)
cf$t <- as.numeric(rownames(cf))
  • Crearea indexului de timp folosit pentru actualizare
    • rownames() ale vectorului cf este egal cu 1, 2, 3, 4, până la ttm al obligațiunii
    • as.numeric() este necesar pentru a se asigura că valorile sunt citite ca numere
Evaluarea și analiza obligațiunilor în R

Pași în evaluarea obligațiunilor

cf$pv_factor <- 1 / (1 + y)^cf$t
  • Calcularea factorului PV
cf$pv <- cf$cf * cf$pv_factor
  • Calcularea PV pentru fiecare flux de numerar
sum(cf$pv)
  • Suma PV pentru a obține valoarea obligațiunii
Evaluarea și analiza obligațiunilor în R

Încapsulați codul

  • Creați funcția bondprc()
  • Va accepta ca intrări p, r, ttm și 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)
}
Evaluarea și analiza obligațiunilor în R

Să exersăm!

Evaluarea și analiza obligațiunilor în R

Preparing Video For Download...