Drawdown histórico
El mercado bursátil tiende a subir con el tiempo, pero eso no significa que no vayas a tener periodos de drawdown.
El drawdown se puede medir como el porcentaje de pérdida desde el punto histórico acumulado más alto.
En Python, puedes usar las funciones .accumulate() y .maximum() para calcular el máximo acumulado (running maximum), y la fórmula sencilla de abajo para calcular el drawdown:
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$
- \(r_t\): Rentabilidad acumulada en el tiempo t
- \(RM\): Máximo acumulado
Las rentabilidades acumuladas de USO, un ETF que sigue el precio del petróleo, están disponibles en la variable cum_rets.
Este ejercicio forma parte del curso
Introducción a la gestión del riesgo de cartera en Python
Instrucciones del ejercicio
- Calcula el máximo acumulado de las rentabilidades acumuladas del ETF de petróleo USO (
cum_rets) usandonp.maximum.accumulate(). - Donde el máximo acumulado (
running_max) caiga por debajo de 1, establece el máximo acumulado igual a 1. - Calcula
drawdownusando la fórmula sencilla anterior concum_retsyrunning_max. - Revisa el gráfico.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Calculate the running maximum
running_max = ____(cum_rets)
# Ensure the value never drops below 1
running_max[____] = 1
# Calculate the percentage drawdown
drawdown = (____)/____ - 1
# Plot the results
drawdown.plot()
plt.show()