Distribuția non-normală a randamentelor

Introducere în analiza portofoliului în Python

Charlotte Werger

Data Scientist

Într-o lume ideală, randamentele sunt distribuite normal

Distribuția normală a randamentelor S&P500

1 Sursă: Distribuția randamentelor lunare ale S&P500 de pe evestment.com
Introducere în analiza portofoliului în Python

Dar media și deviația standard pot fi înșelătoare

Două distribuții cu aceeași medie și deviație standard

1 Sursă: „An Introduction to Omega", Con Keating și William Shadwick, The Finance Development Center, 2002
Introducere în analiza portofoliului în Python

Asimetria: tendință spre valori negative

Distribuții cu asimetrie diferită

Introducere în analiza portofoliului în Python

Coeficientul de asimetrie Pearson

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

Regulă practică:

  • $ Skewness < -1 $ sau $ Skewness > 1 \Rightarrow$ Distribuție puternic asimetrică
  • $ -1 < Skewness < -0.5 $ sau $ 0.5 < Skewness < 1 \Rightarrow$ Distribuție moderat asimetrică
  • $ -0.5 < Skewness < 0.5 \Rightarrow$ Distribuție aproximativ simetrică
1 Sursă: https://brownmath.com/stat/shape.htm
Introducere în analiza portofoliului în Python

Curtoza: distribuție cu cozi groase

Distribuție cu cozi groase comparată cu distribuția normală

1 Sursă: Pimco
Introducere în analiza portofoliului în Python

Interpretarea curtózei

„O curtoză mai mare înseamnă că varianța este rezultatul unor abateri extreme rare, nu al unor abateri moderate frecvente."

  • O distribuție normală are curtoza exact 3 și se numește mezocurtică
  • O distribuție cu curtoza <3 se numește platicurtică. Cozile sunt mai scurte și mai subțiri, vârful central este mai jos și mai larg.
  • O distribuție cu curtoza >3 se numește leptocurtică: Cozile sunt mai lungi și mai groase, vârful central este mai înalt și mai ascuțit (cozi groase)
1 Sursă: https://brownmath.com/stat/shape.htm
Introducere în analiza portofoliului în Python

Calcularea asimetriei și a curtózei

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()
Introducere în analiza portofoliului în Python

Histograma randamentelor recente Apple

Introducere în analiza portofoliului în Python

Calcularea asimetriei și a curtózei

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
Introducere în analiza portofoliului în Python

Să exersăm!

Introducere în analiza portofoliului în Python

Preparing Video For Download...