1 votos

Gráfico de previsión GARCH(1,1) en R con datos de entrenamiento

He ajustado un modelo GARCH(1,1) en R y me gustaría crear un gráfico similar al de esta pregunta: ¿Es ésta la forma correcta de predecir la volatilidad de los precios de las acciones utilizando GARCH?

¿Podría alguien indicarme una guía o bibliografía que pueda utilizar para conseguirlo?

1voto

Martin Wiboe Puntos 120

Este es un ejemplo reproducible que utiliza el paquete fGarch Espero que puedas adaptarlo a tu situación:

The result

library("fGarch")

# Create specification for GARCH(1, 1)
spec <- garchSpec(model = list(omega = 0.05, alpha =  0.1, beta = 0.75), cond.dist = "norm")

# Simulate the model with n = 1000
sim <- garchSim(spec, n = 1000)

# Fit a GARCH (1, 1)
fit <- garchFit(formula = ~ garch(1, 1), data = sim, include.mean = F)

# Predict 40 steps ahead
pred <- predict(fit, n.ahead = 40)

# Concatenate the fitted model with the prediction, transform to time series
dat <- as.ts(c(sqrt(fit@h.t), pred = pred$standardDeviation))

# Create the plot
plot(window(dat, start = start(dat), end = 1000), col = "blue",
     xlim = range(time(dat)), ylim = range(dat),
     ylab = "Conditional SD", main = "Prediction based on GARCH model")

par(new=TRUE)

plot(window(dat, start = 1000), col = "red", axes = F, xlab = "", ylab = "", xlim = range(time(dat)), ylim = range(dat))

Un agradecimiento al autor de la respuesta en este hilo, lo utilicé para conseguir los gráficos correctos.

Tenga en cuenta también que puede crear un gráfico de la serie predicha, en lugar de la desviación estándar condicional predicha, utilizando la función plot = T en la llamada a predict .

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X