Estimer le risque de queue

Introduction à la gestion du risque de portefeuille en Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Estimer le risque de queue

Le risque de queue correspond au risque d'événements extrêmes, surtout du côté négatif de la distribution.

  • Drawdown historique
  • Value at Risk
  • Conditional Value at Risk
  • Simulation de Monte-Carlo
Introduction à la gestion du risque de portefeuille en Python

Drawdown historique

Le drawdown est la perte en pourcentage depuis le plus haut cumulé historique.

$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

  • $r_t$ : rendement cumulé à la date t
  • $RM$ : maximum courant
Drawdown historique de l'ETF pétrole USO

Introduction à la gestion du risque de portefeuille en Python

Drawdown historique en Python

En supposant que cum_rets est un np.array de rendements cumulés dans le temps

running_max = np.maximum.accumulate(cum_rets)
running_max[running_max < 1] = 1
drawdown = (cum_rets) / running_max - 1
drawdown
Date        Return
2007-01-03    -0.042636
2007-01-04    -0.081589
2007-01-05    -0.073062
Introduction à la gestion du risque de portefeuille en Python

Value at Risk historique

La Value at Risk (VaR) est un seuil tel qu'avec un certain niveau de confiance les pertes ne dépasseront pas (ou plus exactement n'ont historiquement pas dépassé) un certain niveau.

La VaR est souvent exprimée aux quantiles 95, 99 et 99,9.

Exemple : VaR(95) = -2,3 %

Avec 95 % de certitude, les pertes ne dépasseront pas -2,3 % sur une journée selon l'historique.

Introduction à la gestion du risque de portefeuille en Python

Value at Risk historique en Python

var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
var_95
-0.023
Introduction à la gestion du risque de portefeuille en Python

Perte espérée historique

La Conditional Value at Risk (CVaR) estime la perte moyenne subie dans les pires 1 − x % des scénarios.

La CVaR est souvent exprimée aux quantiles 95, 99 et 99,9.

 

Exemple : CVaR(95) = -2,5 %

 

Dans les pires 5 % des cas, les pertes ont en moyenne dépassé -2,5 % historiquement.

Introduction à la gestion du risque de portefeuille en Python

Perte espérée historique en Python

En supposant que vous disposez d'un objet StockReturns qui est une série temporelle de rendements d'actions.

Pour calculer la CVaR(95) historique :

var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
cvar_95 = StockReturns[StockReturns <= var_95].mean()
cvar_95
-0.025
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...