Estimando o risco de cauda

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

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Estimando o risco de cauda

Risco de cauda é o risco de resultados extremos de investimento, sobretudo no lado negativo da distribuição.

  • Drawdown histórico
  • Value at Risk
  • Conditional Value at Risk
  • Simulação de Monte Carlo
Introdução ao Gerenciamento de Risco de Portfólio em Python

Drawdown histórico

Drawdown é a perda percentual a partir do maior ponto histórico acumulado.

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

  • $r_t$: Retorno acumulado no tempo t
  • $RM$: Máximo acumulado
Drawdown histórico do ETF de petróleo USO

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

Drawdown histórico em Python

Assumindo que cum_rets é um np.array de retornos acumulados ao longo do tempo

running_max = np.maximum.accumulate(cum_rets)
running_max[running_max < 1] = 1
drawdown = (cum_rets) / running_max - 1
drawdown
Date        Return
2007-01-03    -0.042636
2007-01-04    -0.081589
2007-01-05    -0.073062
Introdução ao Gerenciamento de Risco de Portfólio em Python

Value at Risk histórico

Value at Risk, ou VaR, é um limiar com um dado nível de confiança de que as perdas não (ou mais precisamente, historicamente não) excederão certo nível.

O VaR costuma ser citado com quantis como 95, 99 e 99,9.

Exemplo: VaR(95) = -2,3%

95% de certeza de que as perdas não excederão -2,3% em um dia, com base no histórico.

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

Value at Risk histórico em Python

var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
var_95
-0.023
Introdução ao Gerenciamento de Risco de Portfólio em Python

Perda esperada histórica

Conditional Value at Risk, ou CVaR, é uma estimativa da perda esperada nos piores 1 - x% dos cenários.

O CVaR costuma ser citado com quantis como 95, 99 e 99,9.

Exemplo: CVaR(95) = -2,5%

Nos piores 5% dos casos, as perdas foram em média superiores a -2,5% historicamente.

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

Perda esperada histórica em Python

Assumindo que você tem um objeto StockReturns, uma série temporal de retornos de ações.

Para calcular o CVaR(95) histórico:

var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
cvar_95 = StockReturns[StockReturns <= var_95].mean()
cvar_95
-0.025
Introdução ao Gerenciamento de Risco de Portfólio em Python

Vamos praticar!

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

Preparing Video For Download...