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 est la base de nombreux autres modèles d'évaluation et modèles à facteurs en finance.

Introduction à la gestion du risque de portefeuille en Python

Rendements excédentaires

Pour calculer les rendements excédentaires, soustrayez simplement le taux sans risque de votre 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 États‑Unis :

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 d'un 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 du portefeuille, ou exposition, au portefeuille de marché large B
Introduction à la gestion du risque de portefeuille en Python

Calcul du bêta via la covariance

Pour calculer le bêta historique via 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 via 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 via une 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...