Corrélation et covariance

Introduction à la gestion du risque de portefeuille en Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Corrélation de Pearson

Exemples de corrélations entre deux variables aléatoires :

Introduction à la gestion du risque de portefeuille en Python

Corrélation de Pearson

Carte thermique d'une matrice de corrélation :

Introduction à la gestion du risque de portefeuille en Python

Matrice de corrélation en Python

En supposant que StockReturns est un DataFrame pandas de rendements boursiers, vous pouvez calculer la matrice de corrélation ainsi :

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Introduction à la gestion du risque de portefeuille en Python

Écart-type du portefeuille

Écart-type d'un portefeuille à deux actifs :

$$ \sigma_p = \sqrt{ w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 \rho_{1, 2} \sigma_1 \sigma_2 }$$

  • $\sigma_p$ : écart-type du portefeuille
  • w : pondération de l'actif
  • $\sigma$ : volatilité de l'actif
  • $\rho_{1, 2}$ : corrélation entre les actifs 1 et 2
Introduction à la gestion du risque de portefeuille en Python

La matrice de covariance

Pour calculer la matrice de covariance ($ \Sigma $) des rendements X :

Introduction à la gestion du risque de portefeuille en Python

La matrice de covariance en Python

En supposant que StockReturns est un DataFrame pandas de rendements boursiers, vous pouvez calculer la matrice de covariance ainsi :

cov_mat = StockReturns.cov()
cov_mat

Introduction à la gestion du risque de portefeuille en Python

Annualiser la matrice de covariance

Pour annualiser la matrice de covariance :

cov_mat_annual = cov_mat * 252
Introduction à la gestion du risque de portefeuille en Python

Écart-type du portefeuille avec la covariance

La formule de la volatilité du portefeuille :

$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$

  • $ \sigma_{Portfolio} $ : volatilité du portefeuille
  • $ \Sigma $ : matrice de covariance des rendements
  • w : pondérations du portefeuille ($ w_T $ : vecteur de pondérations transposé)
  • $ \cdot $ : opérateur de produit scalaire
Introduction à la gestion du risque de portefeuille en Python

Transposition de matrice

Exemples de transposition de matrice :

Introduction à la gestion du risque de portefeuille en Python

Produit scalaire

Le produit scalaire de deux vecteurs a et b :

Introduction à la gestion du risque de portefeuille en Python

Écart-type du portefeuille en Python

Pour calculer la volatilité du portefeuille, supposez un vecteur de pondérations et une matrice de covariance :

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
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...