Asimetrie și kurtoză

Introducere în gestionarea riscului de portofoliu în Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Asimetria este al treilea moment al unei distribuții.

  • Asimetrie negativă: Masa distribuției este concentrată în dreapta. De obicei o curbă înclinată spre dreapta
  • Asimetrie pozitivă: Masa distribuției este concentrată în stânga. De obicei o curbă înclinată spre stânga
  • În finanțe, este de preferat o asimetrie pozitivă

 

Introducere în gestionarea riscului de portofoliu în Python

Asimetrie în Python

Presupuneți că aveți datele privind randamentele acțiunilor preîncărcate în obiectul StockData.

Pentru a calcula asimetria randamentelor:

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

Observați că asimetria este mai mare decât 0 în acest exemplu, sugerând non-normalitate.

Introducere în gestionarea riscului de portofoliu în Python

Kurtoza măsoară grosimea cozilor unei distribuții

  • Majoritatea randamentelor financiare sunt leptokurtice
  • Leptokurtic: O distribuție cu kurtoză în exces pozitivă (kurtoză mai mare decât 3)
  • Kurtoză în exces: Se scade 3 din kurtoza eșantionului pentru a obține „Kurtoza în exces"

 

Introducere în gestionarea riscului de portofoliu în Python

Kurtoză în exces în Python

Presupuneți că aveți datele privind randamentele acțiunilor preîncărcate în obiectul StockData. Pentru a calcula kurtoza în exces a randamentelor:

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

Observați kurtoza în exces mai mare decât 0 în acest exemplu, sugerând non-normalitate.

Introducere în gestionarea riscului de portofoliu în Python

Testarea normalității în Python

Cum se efectuează un test statistic de normalitate?

Ipoteza nulă a testului Shapiro-Wilk este că datele sunt distribuite normal.

# 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.")

Valoarea p este a doua variabilă returnată în listă. Dacă valoarea p este mai mică decât 0.05, ipoteza nulă este respinsă, deoarece datele sunt cel mai probabil non-normale.

Introducere în gestionarea riscului de portofoliu în Python

Să exersăm!

Introducere în gestionarea riscului de portofoliu în Python

Preparing Video For Download...