ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Calcula el máximo acumulado de las rentabilidades acumuladas del ETF de petróleo USO (cum_rets) usando np.maximum.accumulate().
  • Donde el máximo acumulado (running_max) caiga por debajo de 1, establece el máximo acumulado igual a 1.
  • Calcula drawdown usando la fórmula sencilla anterior con cum_rets y running_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()
Editar y ejecutar código