Introdução ao Gerenciamento de Risco de Portfólio em Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Assimetria é o terceiro momento de uma distribuição.

Suponha que você já tenha carregado os retornos das ações no objeto StockData.
Para calcular a assimetria dos retornos:
from scipy.stats import skew
skew(StockData["Returns"].dropna())
0.225
Note que a assimetria é maior que 0 neste exemplo, sugerindo não normalidade.
Curtose mede a espessura das caudas de uma distribuição

Suponha que você já tenha carregado os retornos das ações no objeto StockData. Para calcular o excesso de curtose dos retornos:
from scipy.stats import kurtosis
kurtosis(StockData["Returns"].dropna())
2.44
Note o excesso de curtose maior que 0 neste exemplo, sugerindo não normalidade.
Como executar um teste estatístico de normalidade?
A hipótese nula do teste de Shapiro-Wilk é que os dados são normalmente distribuídos.
# Executar o teste de normalidade de Shapiro-Wilk no Python
from scipy import stats
p_value = stats.shapiro(StockData["Returns"].dropna())[1]
if p_value <= 0.05:
print("Hipótese nula de normalidade rejeitada.")
else:
print("Hipótese nula de normalidade aceita.")
O p-valor é a segunda variável retornada na lista. Se o p-valor for menor que 0,05, rejeita-se a hipótese nula, pois os dados provavelmente não são normais.
Introdução ao Gerenciamento de Risco de Portfólio em Python