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
Instruções do exercício
- Calcule o máximo corrente dos retornos acumulados do ETF de petróleo USO (
cum_rets) usandonp.maximum.accumulate(). - Onde o máximo corrente (
running_max) ficar abaixo de 1, defina-o igual a 1. - Calcule
drawdownusando a fórmula simples acima comcum_retserunning_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()