你好!我最近也在做GARCH模型加入外生变量有关的问题,也遇到了外生变量无法添加的问题。之前你的另外一个帖子我也回复了你,但是那时候我自己问题还没有解决,现在我自己的问题解决了,虽然不知道问题出在哪里,但是我把我的代码发上来给你看看或许能帮到你一点。我自己做的时候碰到的问题主要就是external.regressors格式的问题,这次我直接在用.model的代码里用as.matrix意外地可以得到正常的运算结果。你之前发上来的代码我也运行过,我觉得你的代码问题可能是在fit= ugarchfit(spec = spec,aa[,c(1:2,4)])这段的参数,或许再试试你就可以得到想要的结果了,一起加油。
- a=read.table("data2.txt",header=T)
- da1=read.table("data3.txt",header=T)
- pgs=log(da1$p1)
- pus=log(da$p1)
- dpgs=diff(pgs)
- dpus=diff(pus)
- variance.model = list(model = "fGARCH",garchOrder = c(1,1), submodel = "GARCH",
- external.regressors = NULL, variance.targeting = F);
- mean.model = list(armaOrder = c(3,0), include.mean = T, arfima = F,
- external.regressors =as.matrix(dpgs));
- spec <- ugarchspec(variance.model = variance.model, mean.model = mean.model,
- distribution.model = "sstd");
- fit <- ugarchfit(spec,data = dpus)
- fit
- variance.model = list(model = "fGARCH",garchOrder = c(1,1), submodel = "GARCH",
- external.regressors = as.matrix(dpgs), variance.targeting = F);
- mean.model = list(armaOrder = c(3,0), include.mean = T, arfima = F,
- external.regressors =as.matrix(dpgs));
- spec <- ugarchspec(variance.model = variance.model, mean.model = mean.model,
- distribution.model = "sstd");
- fit2 <- ugarchfit(spec,data = dpus)
- fit2
复制代码