Asimmetria e curtosi

Introduzione alla gestione del rischio di portafoglio in Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

L'asimmetria è il terzo momento di una distribuzione.

  • Asimmetria negativa: La massa della distribuzione è concentrata a destra. Di solito curva inclinata a destra
  • Asimmetria positiva: La massa della distribuzione è concentrata a sinistra. Di solito curva inclinata a sinistra
  • In finanza, in genere si preferisce un'asimmetria positiva

 

Introduzione alla gestione del rischio di portafoglio in Python

Asimmetria in Python

Supponi di avere i rendimenti azionari già caricati nell'oggetto StockData.

Per calcolare l'asimmetria dei rendimenti:

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

Nota che in questo esempio l'asimmetria è maggiore di 0, indicando non normalità.

Introduzione alla gestione del rischio di portafoglio in Python

La curtosi misura lo spessore delle code di una distribuzione.

  • La maggior parte dei rendimenti finanziari è leptocurtica
  • Leptocurtica: una distribuzione con curtosi in eccesso positiva (curtosi maggiore di 3)
  • Curtosi in eccesso: sottrai 3 alla curtosi campionaria per calcolare la "curtosi in eccesso"

 

Introduzione alla gestione del rischio di portafoglio in Python

Curtosi in eccesso in Python

Supponi di avere i rendimenti azionari già caricati nell'oggetto StockData. Per calcolare la curtosi in eccesso dei rendimenti:

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

Nota la curtosi in eccesso maggiore di 0 in questo esempio, indicando non normalità.

Introduzione alla gestione del rischio di portafoglio in Python

Verifica di normalità in Python

Come eseguire un test statistico di normalità?

L'ipotesi nulla del test di Shapiro-Wilk è che i dati siano distribuiti normalmente.

# Esegui il test di normalità di Shapiro-Wilk 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.")

Il p-value è la seconda variabile restituita nella lista. Se il p-value è minore di 0,05, l'ipotesi nulla è respinta perché i dati sono probabilmente non normali.

Introduzione alla gestione del rischio di portafoglio in Python

Esercitiamoci!

Introduzione alla gestione del rischio di portafoglio in Python

Preparing Video For Download...