Precios previstos vs. reales II
Representar los precios previstos de un bono para distintos niveles de rendimiento usando la duración y compararlos con los precios reales del bono es una forma estupenda de visualizar la precisión de la duración.
En el ejercicio anterior calculaste la duración del bono y creaste un DataFrame con los precios reales del bono para cada nivel de rendimiento. En este ejercicio, añadirás columnas a este DataFrame con los precios previstos usando la duración y después representarás la diferencia entre el precio previsto y el real.
numpy, numpy_financial, pandas y matplotlib ya se han importado como np, npf, pd y plt, respectivamente, así como el código del ejercicio anterior.
Este ejercicio forma parte del curso
Valoración y análisis de bonos en Python
Instrucciones del ejercicio
- Añade la columna
yield_changecon el rendimiento actual menos el rendimiento original. - Añade la columna
price_changecon el cambio de precio del bono previsto usando la duración en dólares. - Añade la columna
predicted_pricecombinando el precio original del bono con el cambio de precio. - Añade una gráfica de los rendimientos del bono frente a los precios reales y frente a los precios previstos en los mismos ejes, y muestra la gráfica.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Add a column called yield_change with the current yield minus original yield
bond['yield_change'] = (bond['bond_yield'] - ____)
# Find the predicted bond price change using dollar duration then find predicted price
bond['price_change'] = -100 * ____ * bond['yield_change'] / 100
bond['predicted_price'] = ____ + bond['price_change']
# Plot bond yields against predicted and actual prices, add labels, legend, and display
plt.plot(bond['bond_yield'], bond['price'])
plt.plot(____, ____)
plt.xlabel('Yield (%)')
plt.ylabel('Price (USD)')
plt.legend(["Actual Price", "Predicted Price"])
____