Distribuzione non normale dei rendimenti

Introduzione all'analisi di portafoglio in Python

Charlotte Werger

Data Scientist

In un mondo ideale i rendimenti sono normali

Distribuzione normale dei rendimenti S&P500

1 Fonte: Distribuzione dei rendimenti mensili dell’S&P500 da evestment.com
Introduzione all'analisi di portafoglio in Python

Attenzione: media e deviazione standard possono ingannare

Due distribuzioni con stessa media e deviazione standard

1 Fonte: “An Introduction to Omega, Con Keating and William Shadwick, The Finance Development Center, 2002
Introduzione all'analisi di portafoglio in Python

Asimmetria: inclinazione verso il negativo

Distribuzioni con diversa asimmetria

Introduzione all'analisi di portafoglio in Python

Coefficiente di asimmetria di Pearson

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

Regola pratica:

  • $ Skewness < -1 $ o $ Skewness > 1 \Rightarrow$ Distribuzione fortemente asimmetrica
  • $ -1 < Skewness < -0.5 $ o $ 0.5 < Skewness < 1 \Rightarrow$ Moderatamente asimmetrica
  • $ -0.5 < Skewness < 0.5 \Rightarrow$ Approssimativamente simmetrica
1 Fonte: https://brownmath.com/stat/shape.htm
Introduzione all'analisi di portafoglio in Python

Curtosi: distribuzione a code grasse

Distribuzione a code grasse vs normale

1 Fonte: Pimco
Introduzione all'analisi di portafoglio in Python

Interpretare la curtosi

Una curtosi più alta indica che gran parte della varianza deriva da rare deviazioni estreme, non da frequenti deviazioni di piccola entità.

  • Una distribuzione normale ha curtosi esattamente 3 (mesocurtica)
  • Con curtosi <3: platicurtica. Code più corte e sottili; picco centrale più basso e largo.
  • Con curtosi >3: leptocurtica. Code più lunghe e spesse; picco centrale più alto e appuntito (code grasse).
1 Fonte: https://brownmath.com/stat/shape.htm
Introduzione all'analisi di portafoglio in Python

Calcolare asimmetria e curtosi

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()
Introduzione all'analisi di portafoglio in Python

Istogramma dei rendimenti recenti di Apple

Introduzione all'analisi di portafoglio in Python

Calcolare asimmetria e curtosi

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
Introduzione all'analisi di portafoglio in Python

Ayo berlatih!

Introduzione all'analisi di portafoglio in Python

Preparing Video For Download...