Introduction à la gestion du risque de portefeuille en Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Le risque de queue correspond au risque d'événements extrêmes, surtout du côté négatif de la distribution.
Le drawdown est la perte en pourcentage depuis le plus haut cumulé historique.
$$ \text{Drawdown} = \frac{r_t}{RM} - 1$$

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
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.
var_level = 95
var_95 = np.percentile(StockReturns, 100 - var_level)
var_95
-0.023
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.
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