ComeçarComece de graça

Drawdown histórico

O mercado de ações tende a subir ao longo do tempo, mas isso não significa que você não terá períodos de drawdown.

O drawdown pode ser medido como a porcentagem de perda a partir do ponto histórico cumulativo mais alto.

Em Python, você pode usar as funções .accumulate() e .maximum() para calcular o máximo corrente (running maximum) e a fórmula simples abaixo para calcular o drawdown:

$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

  • \(r_t\): Retorno acumulado no tempo t
  • \(RM\): Máximo corrente (running maximum)

Os retornos acumulados do USO, um ETF que acompanha os preços do petróleo, estão disponíveis na variável cum_rets.

Este exercício faz parte do curso

Introdução ao Gerenciamento de Risco de Portfólio em Python

Ver curso

Instruções do exercício

  • Calcule o máximo corrente dos retornos acumulados do ETF de petróleo USO (cum_rets) usando np.maximum.accumulate().
  • Onde o máximo corrente (running_max) ficar abaixo de 1, defina-o igual a 1.
  • Calcule drawdown usando a fórmula simples acima com cum_rets e running_max.
  • Confira o gráfico.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código