Distribuição não normal dos retornos

Introdução à Análise de Portfólios em Python

Charlotte Werger

Data Scientist

Num mundo perfeito, retornos seriam normais

Distribuição normal dos retornos do S&P500

1 Fonte: Distribuição dos retornos mensais do S&P500 de evestment.com
Introdução à Análise de Portfólios em Python

Mas usar média e desvio padrão pode enganar

Duas distribuições com a mesma média e desvio padrão

1 Fonte: “An Introduction to Omega, Con Keating and William Shadwick, The Finance Development Center, 2002
Introdução à Análise de Portfólios em Python

Assimetria: tendendo ao negativo

Distribuições com assimetrias diferentes

Introdução à Análise de Portfólios em Python

Coeficiente de Assimetria de Pearson

$ $ $ Skewness = \frac{3(mean - median)}{\sigma} $ $ $

Regra prática:

  • $ Skewness < -1 $ ou $ Skewness > 1 \Rightarrow$ Altamente assimétrica
  • $ -1 < Skewness < -0.5 $ ou $ 0.5 < Skewness < 1 \Rightarrow$ Moderadamente assimétrica
  • $ -0.5 < Skewness < 0.5 \Rightarrow$ Aproximadamente simétrica
1 Fonte: https://brownmath.com/stat/shape.htm
Introdução à Análise de Portfólios em Python

Curtose: distribuição com caudas gordas

Distribuição com caudas gordas vs. normal

1 Fonte: Pimco
Introdução à Análise de Portfólios em Python

Interpretando a curtose

“Curtose maior significa que mais da variância vem de desvios extremos e raros, em vez de desvios moderados e frequentes.”

  • Uma distribuição normal tem curtose exatamente 3 (mesocúrtica)
  • Curtose <3: platicúrtica. Caudas mais curtas e finas; pico central mais baixo e amplo.
  • Curtose >3: leptocúrtica. Caudas mais longas e grossas; pico central mais alto e agudo (caudas gordas).
1 Fonte: https://brownmath.com/stat/shape.htm
Introdução à Análise de Portfólios em Python

Calculando assimetria e curtose

apple_returns=apple_price.pct_change()
apple_returns.head(3)

date
2015-01-02         NaN
2015-01-05   -0.028172
2015-01-06    0.000094
Name: AAPL, dtype: float64
apple_returns.hist()
Introdução à Análise de Portfólios em Python

Histograma dos retornos recentes da Apple

Introdução à Análise de Portfólios em Python

Calculando assimetria e curtose

print("mean : ", apple_returns.mean())
print("vol  : ", apple_returns.std())
print("skew : ", apple_returns.skew())
print("kurt : ", apple_returns.kurtosis())
mean :  0.0006855391415724799
vol  :  0.014459504468360529
skew :  -0.012440851735057878
kurt :  3.197244607586669
Introdução à Análise de Portfólios em Python

Vamos praticar!

Introdução à Análise de Portfólios em Python

Preparing Video For Download...