Asymétrie et kurtose

Introduction à la gestion du risque de portefeuille en Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

L'asymétrie est le troisième moment d'une distribution.

  • Asymétrie négative : La masse de la distribution est à droite. Courbe penchée vers la droite en général
  • Asymétrie positive : La masse de la distribution est à gauche. Courbe penchée vers la gauche en général
  • En finance, on privilégie souvent une asymétrie positive

 

Introduction à la gestion du risque de portefeuille en Python

Asymétrie en Python

Supposons que vous avez préchargé les rendements boursiers dans l'objet StockData.

Pour calculer l'asymétrie des rendements :

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

Remarquez que l'asymétrie est supérieure à 0 ici, ce qui suggère une non-normalité.

Introduction à la gestion du risque de portefeuille en Python

La kurtose mesure l'épaisseur des queues d'une distribution.

  • La plupart des rendements financiers sont leptokurtiques
  • Leptokurtique : Distribution avec kurtose excédentaire positive (kurtose supérieure à 3)
  • Kurtose excédentaire : Soustraire 3 de la kurtose de l'échantillon pour obtenir la « kurtose excédentaire »

 

Introduction à la gestion du risque de portefeuille en Python

Kurtose excédentaire en Python

Supposons que vous avez préchargé les rendements boursiers dans l'objet StockData. Pour calculer la kurtose excédentaire des rendements :

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

Notez la kurtose excédentaire supérieure à 0 ici, ce qui suggère une non-normalité.

Introduction à la gestion du risque de portefeuille en Python

Vérifier la normalité en Python

Comment effectuer un test statistique de normalité ?

L'hypothèse nulle du test de Shapiro–Wilk est que les données suivent une loi normale.

# Exécuter le test de normalité de Shapiro–Wilk en 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.")

La p-valeur est la deuxième variable renvoyée dans la liste. Si elle est inférieure à 0,05, on rejette l'hypothèse nulle, car les données sont vraisemblablement non normales.

Introduction à la gestion du risque de portefeuille en Python

Passons à la pratique !

Introduction à la gestion du risque de portefeuille en Python

Preparing Video For Download...