EmpezarEmpieza gratis

Precios previstos vs. reales I

Representar los precios previstos de los bonos para distintos niveles de rendimiento usando la duración, y después compararlos con los precios reales del bono, es una forma excelente de visualizar la precisión de la duración.

En este ejercicio, empezarás calculando la duración del bono y el precio del bono a distintos niveles de rendimiento. En el siguiente ejercicio, obtendrás el precio previsto a partir de la duración y representarás la diferencia.

El bono que vas a analizar es un bono a 10 años que paga un cupón anual del 5% y tiene una rentabilidad hasta el vencimiento del 5%.

numpy, numpy_financial, pandas y matplotlib ya se han importado como np, npf, pd y plt, respectivamente.

Este ejercicio forma parte del curso

Valoración y análisis de bonos en Python

Ver curso

Instrucciones del ejercicio

  • Calcula la duración y la duración en dólares del bono.
  • Crea un array de rendimientos del bono de 0 a 10 en incrementos de 0,1 y convierte este array en un DataFrame de pandas llamado bond_yield.
  • Añade la columna price que contenga el precio del bono para cada nivel de rendimiento.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Price a 10 year bond with 5% coupon and 5% yield, reprice at higher and lower yields
price = ____
price_up = ____
price_down = ____

# Find the duration and dollar duration of the bond
duration = ____
dollar_duration = ____ * ____ * ____

# Create an array of yields from 0 to 10 in steps of 0.1, convert to DataFrame
bond_yields = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['bond_yield'])

# Add a column called price with the bond price for each yield level
bond['price'] = -npf.pv(rate=bond['bond_yield'] / 100, ____, ____, ____)
Editar y ejecutar código