fGarchfit<-garchFit(x ~ arma(p,q)+garch(m, k), data = banco_de_dados,
cond.dist = c("std"),include.mean=TRUE)
# O parametro 'cond.dist' define a distribuição dos erros a ser utilizada:
# 'norm' : Erros normais
# 'std' : Erros t-student
# 'ged' : Dists de Erros Generalizados
# Para imprimir detalhes do ajuste, como tabela de analise de variancia
# e testes de Ljung-Box, aplique 'summary' ao modelo ajustado:
summary(fit)
rugarch# Neste pacote, é usual especificar todos os parametros inicialmente e informá-los
# todos de uma vez à funcão de ajuste:
spec=ugarchspec(variance.model=list(model="eGARCH", garchOrder=c(1,1)),
mean.model=list(armaOrder=c(1,1), arfima=FALSE),
distribution.model="std") # Especificacao dos parâmetros
fit=ugarchfit(data=x,spec=spec) # Ajuste do modelo
summary(fit) # Resultados detalhados do ajuste
fGarchO modelo TGARCH é um caso específico do modelo APARCH considerando delta=1 (Laurent,2004). Utilizamos o pacote fGarch para ajustar um modelo APARCH(1,1),\(\delta\)=1, que é equivalente a um TGARCH(1,1):
require(fGarch)
fit_TGARCH<-garchFit(formula = ~ arma(p,q)+aparch(1, 1), data = x,
cond.dist = c("std"),include.mean=TRUE,
include.delta=TRUE,delta=1)
Para avaliar se o modelo ARMA-GARCH ajustado está captando as dependências anteriores do nível e da volatilidade, usualmente se constrói os gráficos ACF e PACF dos resíduos e quadrados dos resíduos. Ainda, alternativamente aos pacotes fGarch e rugarch, o pacote tseries também possui uma função garch. Aqui, a única ressalva é com relação às funções do pacote fGarch, que produzem resíduos não-padronizados, diferente dos outros dois pacotes. Logo, suponha que temos um ajuste de um modelo via o pacote fGarch, digamos fit. Para obter resultados equivalentes, comparáveis e interpretáveis, a sintaxe correta para se obter os resíduos de um modelo ajustado em fit é at=residuals(fit_norm_cemig_at,standardize = T)).
A partir, então de at, pode se construir as análises de \(a_t\) e \(a_t^2\) da forma usual, isto é acf(at),pacf(at),acf(at^2),pacf(at^2).
Tanto para os modelos ARMA quanto para os modelos da família GARCH apresentados aqui, a sintaxe para se obter previsões é:
predict(fit,n.ahead=h)
em que h é o horizonte de previsão e fit é um objeto contendo o modelo ajustado.