Le modèle d'évaluation des actifs financiers

Introduction à la gestion du risque de portefeuille en Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Le père fondateur des modèles d'évaluation des actifs

CAPM

Le modèle d'évaluation des actifs financiers (CAPM) est la base de nombreux autres modèles d'évaluation et modèles factoriels en finance.

Introduction à la gestion du risque de portefeuille en Python

Rendements excédentaires

Pour calculer le rendement excédentaire, soustrayez simplement le taux sans risque du rendement total :

$$ \text{Excess Return} = \text{Return} - \text{Risk Free Return} $$

Exemple :

Investir au Brésil :

10% de rendement du portefeuille − 15% de taux sans risque = −5% de rendement excédentaire

Investir aux É.-U. :

10% de rendement du portefeuille − 3% de taux sans risque = 7% de rendement excédentaire

Introduction à la gestion du risque de portefeuille en Python

Le modèle d'évaluation des actifs financiers

$$ E(R_{P}) - RF = \beta_{{P}}(E(R_{M})-RF)\ $$

  • $E(R_{P}) - RF$ : Rendement excédentaire attendu d'une action ou du portefeuille P
  • $E(R_{M}) - RF$ : Rendement excédentaire attendu du portefeuille de marché large B
  • $RF$ : Taux sans risque régional
  • $\beta_{{P}}$ : Bêta (exposition) du portefeuille P au portefeuille de marché large B
Introduction à la gestion du risque de portefeuille en Python

Calcul du bêta à l'aide de la covariance

Pour calculer le bêta historique avec la covariance :

$$ \beta_P = \frac{Cov(R_P, R_B)}{Var(R_B)} $$

  • $\beta_P$ : Bêta du portefeuille
  • $Cov(R_P, R_B)$ : Covariance entre le portefeuille (P) et l'indice de référence du marché (B)
  • $Var(R_B)$ : Variance de l'indice de référence du marché
Introduction à la gestion du risque de portefeuille en Python

Calcul du bêta avec la covariance en Python

En supposant que vous avez déjà les rendements excédentaires du portefeuille et du marché dans l'objet Data :

covariance_matrix = Data[["Port_Excess","Mkt_Excess"]].cov()
covariance_coefficient = covariance_matrix.iloc[0, 1]
benchmark_variance = Data["Mkt_Excess"].var()
portfolio_beta = covariance_coefficient / benchmark_variance
portfolio_beta
0.93
Introduction à la gestion du risque de portefeuille en Python

Régressions linéaires

Exemple de régression linéaire :

Formule de régression en notation matricielle :

Introduction à la gestion du risque de portefeuille en Python

Calcul du bêta par régression linéaire

En supposant que vous avez déjà les rendements excédentaires du portefeuille et du marché dans l'objet Data :

import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess', data=Data)
fit = model.fit()
beta = fit.params["Mkt_Excess"]
beta
0.93
Introduction à la gestion du risque de portefeuille en Python

R-carré vs R-carré ajusté

Pour extraire les valeurs R-carré et R-carré ajusté :

import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess', data=Data)
fit = model.fit()
r_squared = fit.rsquared
r_squared
0.70
adjusted_r_squared = fit.rsquared_adj
0.65
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...