有个问题请教各位一下,我用R做一个滚动样本的Garch,Garch模型的均值方程有外生变量,总共928组数据,样本宽度为100,就是先用1-100组数据作Garch,然后2-102组做,为什么在滚动过程中前面一百多组都没问题,而到187组开始就拟合不出结果来了呢?
data1=read.csv("C:/Users/Rainy/Desktop/Rndf.csv")
data2=read.csv("C:/Users/Rainy/Desktop/Rcip.csv")
data3=read.csv("C:/Users/Rainy/Desktop/Rdf.csv")
A=data1[,1]
B=data2[,1]
C=data3[,1]
z=829
beta=matrix(nrow=z,ncol=2)
P=matrix(nrow=z,ncol=2)
e=matrix(nrow=z,ncol=1)
library(rugarch)
for(i in 1:829)
{
a=A[i:(i+99)]
b=B[i:(i+99)]
c=as.matrix(C[i:(i+99)])
d=cbind(as.matrix(a),as.matrix(b))
data=c
spec=ugarchspec(
variance.model=list(model="fGARCH",
garchOrder=c(1,1),
submodel = "GARCH"),
mean.model=list(armaOrder=c(0,0),
external.regressors=d,
distribution.model="norm")
)
fit=ugarchfit(spec, c, out.sample = 0, solver = "solnp")
beta[i,1]=coef(fit)[2]
beta[i,2]=coef(fit)[3]
P[i,1]=vcov(fit)[2,3]
P[i,2]=vcov(fit)[3,3]
}
程序跑到187组样本的时候,出现错误:被替换的项目不是替换值长度的倍数
单独跑第187组的时候,把结果显示出来看,发现是拟合的系数、标准差为NA,是不是就是因为是空值,所以放不到矩阵里面去啊??这个问题应该怎么解决啊?
求各位帮忙!!!!