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 : poids 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

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 via la covariance

La formule de la volatilité du portefeuille est :

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

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

Transposée d'une matrice

Exemples d'opérations 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é d'un portefeuille, supposez un tableau de poids 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...