0

我有一个模型,它采用时间序列股票收益数据并按收益大小分类。类别的大小由标准差的数量定义。我目前使用 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

对我正在尝试做的事情的任何帮助将不胜感激。

4

1 回答 1

0

传递错误的一种方法是在类别中包含最小值:

Division <- cut(return, br=c(min(return)*1.01,-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)*1.01))
于 2015-07-12T12:00:37.027 回答