ComenzarEmpieza gratis

Calcula la duración aproximada de un bono

Una aproximación útil de la fórmula de duración es la duración aproximada, que viene dada por $$(P(down) - P(up)) / (2 * P * \Delta y)$$

donde \(P\) es el precio del bono, \(P(down)\) es el precio del bono si la rentabilidad baja, \(P(up)\) es el precio del bono si la rentabilidad sube, y \(\Delta y\) es el cambio esperado en la rentabilidad.

La fórmula completa de duración es más compleja. Si te interesa, puedes consultar el capítulo "Fixed Income" de mi libro como referencia para esa fórmula.

En este ejercicio, calcularás la duración aproximada de un bono con valor nominal de $100, cupón del 10%, 20 años hasta el vencimiento, rentabilidad a vencimiento del 10% y un cambio esperado en la rentabilidad del 1%. Para hacer este cálculo, usa tu conocida función bondprc(), que ya está precargada en el espacio de trabajo.

Este ejercicio forma parte del curso

Valoración y análisis de bonos en R

Ver curso

Instrucciones del ejercicio

  • Usa bondprc() para calcular el precio del bono hoy dado un 10% de rentabilidad. Guarda el resultado en px y luego visualiza px.
  • Haz otra llamada a bondprc() para calcular el precio del bono (px_up) si la rentabilidad sube un 1%.
  • Haz una tercera llamada a bondprc() para calcular el precio del bono (px_down) si la rentabilidad baja un 1%.
  • Usa tus tres objetos (px, px_up, px_down) para calcular la duración aproximada suponiendo un cambio del 1% en las rentabilidades.

Ejercicio interactivo práctico

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

# Calculate bond price today
px <- bondprc(p = ___, r = ___, ttm = ___, y = ___)
px

# Calculate bond price if yields increase by 1%
px_up <- 
px_up

# Calculate bond price if yields decrease by 1%
px_down <- 
px_down

# Calculate approximate duration
duration <- (___ - ___) / (___ * ___ * ___)
duration
Editar y ejecutar código