举个例子:variance.model = list(model = "sGARCH", garchOrder = c(1, 1),submodel = NULL, external.regressors = NULL, variance.targeting = FALSE),#表示拟合的方差模型为sGARCH,方差模型的自回归阶数是(1,1),方差模型中未引入外生变量。
mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE)
#表示均值方程为arma(1,1)模型,方程自变量中包含均值,未引入外生变量。
distribution.model = "norm"#表示模型分布假设为正态分布。
将三个部分装入ugarchspec的参数中就可以完成一个sgarch(1,1)-norm模型的模型设定。
myspec=ugarchspec(variance.model = list(model = "sGARCH", garchOrder = c(1, 1), submodel = NULL, external.regressors = NULL, variance.targeting = FALSE), mean.model = list(armaOrder = c(1, 1), include.mean = TRUE, archm = FALSE, archpow = 1, arfima = FALSE, external.regressors = NULL, archex = FALSE), distribution.model = "norm")
拟合模型
拟合模型的函数是ugarchfit。ugarchfit的参数如下:
ugarchfit(spec, data, out.sample = 0, solver = "solnp", solver.control = list(),fit.control = list(stationarity = 1, fixed.se = 0, scale = 0), ...)
#其中,spec为ugarchspec函数的结果,data为数据对象。solver为优化算法。solver.control设定优化参数,fit.control设定拟合参数。
接上面的例子:
myfit=ugarchfit(myspec,data=sp500ret,solver="solnp")#到这里一个garch模型就完成了。
查看结果
键入下列代码查看模型的拟合结果:
提取模型结果rugarch包中模型结果的提取要依靠as.data.frame函数。