ComenzarEmpieza gratis

Convierte tu código en una función de valoración de bonos

En los ejercicios anteriores, recorriste paso a paso cómo calcular el valor de un bono. Sin embargo, repetir todos esos pasos para valorar muchos bonos puede ser engorroso. Por suerte, puedes crear una función que realice esos mismos cálculos repetidamente para distintos bonos.

La función que crees debe ser flexible para permitirte introducir las características clave del bono. Siguiendo nuestro ejemplo anterior, necesitarás que la función pueda incorporar el valor nominal del bono (par), el cupón, el tiempo hasta el vencimiento y la yield.

En este ejercicio, crearás la función bondprc que toma estas cuatro entradas para calcular el valor de un bono. Recuerda que para crear una función puedes usar function(input 1, input 2, ...) { [lines of code] }.

Este ejercicio forma parte del curso

Valoración y análisis de bonos en R

Ver curso

Instrucciones del ejercicio

  • En tu espacio de trabajo se ha generado una función parcialmente construida, bondprc. Complétala construyendo el comando function() y proporcionando los nombres de cuatro entradas: p para el valor nominal (par), r para el tipo de cupón, ttm para el tiempo hasta el vencimiento y y para la yield.
  • Verifica que la función bondprc nos da un precio de 95,79 \( para el valor de un bono con un valor nominal de 100 \), cupón del 5 %, 5 años hasta el vencimiento y una yield to maturity del 6 %.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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(___, ___, ___, ___)
Editar y ejecutar código