Modelos GARCH em Python
Chelsea Yang
Data Science Instructor
Regra nº 1: Nunca perca dinheiro
Regra nº 2: Nunca esqueça a regra nº 1
-- Warren Buffett

VaR significa Value at Risk
Três ingredientes:
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

Estimativa de VaR mais realista com GARCH
VaR = média + (vol GARCH) * quantil
VaR = mean_forecast.values + np.sqrt(variance_forecast).values * quantile
# 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')
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
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)
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