EmpezarEmpieza gratis

Representar duración frente al factor

Representar en un gráfico la duración frente a un factor como la madurez, los cupones o las TIR es una gran forma de ver cómo ese factor afecta a la duración de un bono.

En el vídeo, representamos la duración frente a la madurez. En este ejercicio, vas a hacer lo mismo pero para el tipo de cupón. Usarás un bono a 10 años con una TIR del 5% y un valor nominal de 100 USD.

numpy, numpy_financial, pandas y matplotlib ya se han importado por ti 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

  • Crea un array de cupones de 0 a 10 con incrementos de 0,1 y conviértelo en un DataFrame de pandas.
  • Añade cuatro columnas adicionales al DataFrame: price, price_up, price_down y duration para el bono.
  • Dibuja un gráfico con bond_coupon en el eje x y duration en el eje y.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# Create array of coupon rates and assign to pandas DataFrame
bond_coupon = np.arange(____, ____, ____)
bond = pd.DataFrame(____, columns=['____'])

# Calculate bond price, price_up, price_down, and duration
bond['price'] = -npf.pv(rate=0.05, nper=10, pmt=bond['bond_coupon'], fv=100)
bond['price_up'] = ____
bond['price_down'] = ____
bond['duration'] = (bond['____'] - bond['____']) / (2 * bond['____'] * 0.01)

# Plot coupon vs. duration, add labels & title, show plot
plt.plot(____, ____)
plt.xlabel('Coupon (%)')
plt.ylabel('Duration (%)')
plt.show()
Editar y ejecutar código