我有一个模型,它采用时间序列股票收益数据并按收益大小分类。类别的大小由标准差的数量定义。我目前使用 cut 函数来执行此操作,我的代码是:
Division <- cut(return, br=c(min(return),-2*sd(return),-1*sd(return),-0.5*sd(return),0*sd(return),0.5*sd(return),1*sd(return),2*sd(return),max(return)))
这工作正常,一切似乎都很好。所以接下来我想做的是将这些划分视为 EGARCH 模型中的虚拟变量。我只是想以正常方式指定,但这不起作用。我使用的代码是:
spec = ugarchspec(variance.model = list(model = "eGARCH", garchOrder = c(2,2)), mean.model = list(armaOrder = c(0,0), include.mean = TRUE))
fit = ugarchfit(spec = spec, data = Division)
我得到的错误是:
Error in if (mean(data) == 0) { : missing value where TRUE/FALSE needed
对我正在尝试做的事情的任何帮助将不胜感激。