VaR na gestão de risco financeiro

Modelos GARCH em Python

Chelsea Yang

Data Science Instructor

Mentalidade de gestão de risco

Regra nº 1: Nunca perca dinheiro

Regra nº 2: Nunca esqueça a regra nº 1

-- Warren Buffett

Caricatura de Buffett

Modelos GARCH em Python

O que é VaR

  • VaR significa Value at Risk

  • Três ingredientes:

    1. portfólio
    2. horizonte de tempo
    3. probabilidade
Modelos GARCH em Python

Exemplos de VaR

VaR de 1 dia a 5% de $1 million

5% de chance de o portfólio cair 1 milhão de dólares ou mais em 1 dia

_ VaR de 10 dias a 1% de $9 million_

1% de chance de o portfólio cair 9 milhões de dólares ou mais em 10 dias

Modelos GARCH em Python

VaR na gestão de risco

  • Definir limites de risco
  • Excedente de VaR: a perda do portfólio excede o VaR

Excedentes de VaR

Modelos GARCH em Python

VaR dinâmico com GARCH

  • Estimativa de VaR mais realista com GARCH

  • VaR = média + (vol GARCH) * quantil

VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
Modelos GARCH em Python

Cálculo de VaR dinâmico

  • Etapa 1: Usar o modelo GARCH para prever a variância
# 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')
Modelos GARCH em Python

Cálculo de VaR dinâmico (cont.)

  • Etapa 2: Usar o GARCH para obter média e volatilidade prospectivas

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

     

  • Etapa 3: Obter o quantil conforme o nível de confiança

    1. VaR paramétrico
    2. VaR empírico
Modelos GARCH em Python

VaR paramétrico

Estimar quantis com base na distribuição assumida pelo GARCH dos resíduos padronizados

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

q_parametric = garch_model.distribution.ppf(0.05, nu)
Modelos GARCH em Python

VaR empírico

Estimar quantis com base na distribuição observada dos resíduos padronizados do GARCH

q_empirical = std_resid.quantile(0.05)
Modelos GARCH em Python

Vamos praticar!

Modelos GARCH em Python

Preparing Video For Download...