A continuación un código R escrito por el moderador @richardh (a quien quiero agradecer de nuevo) sobre los modelos ARCH/GARCH.
library(quantmod)
library(tseries)
getSymbols("MSFT")
ret <- diff.xts(log(MSFT$MSFT.Adjusted))[-1]
arch_model <- garch(ret, order=c(0, 3))
garch_model <- garch(ret, order=c(3, 3))
plot(arch_model)
plot(garch_model)
Mi objetivo es entender si la volatilidad de los rendimientos es constante durante toda la serie. No entiendo cómo los modelos ARCH/GARCH podrían ayudarme a entender este tipo de aspecto, de momento las operaciones que hago son:
- Calcular los porcentajes de rendimiento de las acciones
- Regresión lineale como: lm(A~B) donde A y B son los rendimientos de las acciones (%)
- Pasar los residuos de la regresión lineal a las pruebas de root unitaria.
ahora el problema es entender si la volatilidad es constante (echa un vistazo al gráfico de abajo, ese problema es claramente visible), así que la pregunta es:
Cómo puedo entender si la volatilidad no es constante leyendo el modelo ARCH/GARCH
EDITAR:
garch_model <- garch(rnorm(1000), order=c(3, 3))
> summary(garch_model)
Call:
garch(x = rnorm(1000), order = c(3, 3))
Model:
GARCH(3,3)
Residuals:
Min 1Q Median 3Q Max
-3.394956 -0.668877 -0.008454 0.687890 3.221826
Coefficient(s):
Estimate Std. Error t value Pr(>|t|)
a0 7.133e-01 7.156e+00 0.100 0.921
a1 1.752e-02 3.750e-02 0.467 0.640
a2 6.388e-03 1.924e-01 0.033 0.974
a3 6.486e-14 1.711e-01 0.000 1.000
b1 7.396e-02 1.098e+01 0.007 0.995
b2 8.052e-02 1.120e+01 0.007 0.994
b3 8.493e-02 4.279e+00 0.020 0.984
Diagnostic Tests:
Jarque Bera Test
data: Residuals
X-squared = 1.4114, df = 2, p-value = 0.4938
Box-Ljung test
data: Squared.Residuals
X-squared = 0.0061, df = 1, p-value = 0.9377
>
garch_model$fitted.values