Skośność i kurtoza

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Skośność to trzeci moment rozkładu.

  • Skośność lewostronna: Masa rozkładu skupia się po prawej stronie. Zazwyczaj krzywa odchylona w prawo
  • Skośność prawostronna: Masa rozkładu skupia się po lewej stronie. Zazwyczaj krzywa odchylona w lewo
  • W finansach pożądana jest zazwyczaj skośność prawostronna

 

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Skośność w Pythonie

Przyjmijmy, że dane o stopach zwrotu akcji są wstępnie załadowane do obiektu StockData.

Obliczanie skośności stóp zwrotu:

from scipy.stats import skew
skew(StockData["Returns"].dropna())
0.225

Skośność jest większa niż 0, co sugeruje odchylenie od normalności.

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Kurtoza mierzy grubość ogonów rozkładu.

  • Większość finansowych stóp zwrotu jest leptokurtyczna
  • Rozkład leptokurtyczny: Ma dodatnią nadmiarową kurtozę (kurtozę większą niż 3)
  • Nadmiarowa kurtoza: Obliczana przez odjęcie 3 od kurtozy próbki

 

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Nadmiarowa kurtoza w Pythonie

Przyjmijmy, że dane o stopach zwrotu akcji są wstępnie załadowane do obiektu StockData. Obliczanie nadmiarowej kurtozy stóp zwrotu:

from scipy.stats import kurtosis
kurtosis(StockData["Returns"].dropna())
2.44

Nadmiarowa kurtoza większa niż 0 sugeruje odchylenie od normalności.

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Testowanie normalności w Pythonie

Jak przeprowadzić statystyczny test normalności?

Hipoteza zerowa testu Shapiro-Wilka mówi, że dane mają rozkład normalny.

# 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-wartość to druga zmienna zwrócona na liście. Jeśli p-wartość jest mniejsza niż 0,05, hipoteza zerowa zostaje odrzucona, ponieważ dane najprawdopodobniej nie mają rozkładu normalnego.

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Czas na ćwiczenia!

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Preparing Video For Download...