Введение в управление портфельными рисками на Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Асимметрия — это третий момент распределения.

Предположим, что данные о доходности акций уже загружены в объект StockData.
Чтобы вычислить асимметрию доходности:
from scipy.stats import skew
skew(StockData["Returns"].dropna())
0.225
Асимметрия выше 0 — это указывает на отклонение от нормального распределения.
Эксцесс — мера толщины хвостов распределения.

Предположим, что данные о доходности акций уже загружены в объект StockData. Чтобы вычислить избыточный эксцесс доходности:
from scipy.stats import kurtosis
kurtosis(StockData["Returns"].dropna())
2.44
Избыточный эксцесс больше 0 — это указывает на отклонение от нормального распределения.
Как провести статистический тест на нормальность?
Нулевая гипотеза теста Шапиро–Уилка состоит в том, что данные распределены нормально.
# Run the Shapiro-Wilk normality test in Python
from scipy import stats
p_value = stats.shapiro(StockData["Returns"].dropna())[1]
if p_value <= 0.05:
print("Null hypothesis of normality is rejected.")
else:
print("Null hypothesis of normality is accepted.")
P-значение — второй элемент возвращаемого списка. Если оно меньше 0,05, нулевая гипотеза отвергается: данные, вероятнее всего, не подчиняются нормальному распределению.
Введение в управление портфельными рисками на Python