La VaR en gestion du risque financier

Modèles GARCH en Python

Chelsea Yang

Data Science Instructor

État d'esprit en gestion des risques

Règle no 1 : Ne perdez jamais d'argent

Règle no 2 : N'oubliez jamais la règle no 1

-- Warren Buffett

Dessin de Buffett

Modèles GARCH en Python

Qu'est-ce que la VaR

  • VaR signifie Value at Risk

  • Trois éléments :

    1. portefeuille
    2. horizon temporel
    3. probabilité
Modèles GARCH en Python

Exemples de VaR

_VaR à 1 jour, 5 % : 1 million $ _

Probabilité de 5 % que la valeur du portefeuille baisse d'au moins 1 million $ sur 1 jour

VaR à 10 jours, 1 % : 9 millions $

Probabilité de 1 % que la valeur du portefeuille baisse d'au moins 9 millions $ sur 10 jours

Modèles GARCH en Python

La VaR en gestion des risques

  • Fixer des limites de risque
  • Dépassement de VaR : la perte du portefeuille dépasse la VaR

Dépassements de VaR

Modèles GARCH en Python

VaR dynamique avec GARCH

  • Estimation de VaR plus réaliste avec GARCH

  • VaR = moyenne + (vol GARCH) * quantile

VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
Modèles GARCH en Python

Calcul de VaR dynamique

  • Étape 1 : utiliser un modèle GARCH pour prévoir la variance
# Specify and fit a GARCH model
basic_gm = arch_model(bitcoin_data['Return'], p = 1, q = 1, 
                      mean = 'constant', vol = 'GARCH', dist = 't')
gm_result = basic_gm.fit()
# Make variance forecast
gm_forecast = gm_result.forecast(start = '2019-01-01')
Modèles GARCH en Python

Calcul de VaR dynamique (suite)

  • Étape 2 : utiliser GARCH pour obtenir la moyenne et la volatilité prospectives

    mean_forecast = gm_forecast.mean['2019-01-01':]
    variance_forecast = gm_forecast.variance['2019-01-01':]
    

     

  • Étape 3 : obtenir le quantile selon le niveau de confiance

    1. VaR paramétrique
    2. VaR empirique
Modèles GARCH en Python

VaR paramétrique

Estimer les quantiles selon la distribution supposée par GARCH des résidus normalisés

# Assume a Student's t-distribution 
# ppf(): Percent point function

q_parametric = garch_model.distribution.ppf(0.05, nu)
Modèles GARCH en Python

VaR empirique

Estimer les quantiles selon la distribution observée des résidus GARCH normalisés

q_empirical = std_resid.quantile(0.05)
Modèles GARCH en Python

Passons à la pratique !

Modèles GARCH en Python

Preparing Video For Download...