r-使用tsboot从具有滞后的回归中获得置信区间



我想在包含两个滞后的回归模型中进行回归系数的自举。我有一个snp_ret向量,它的返回值是从quantmod获得的。数据如下:

head(snp_ret)
ret
1998-10-13 -0.2920975
1998-10-14  1.0728374
1998-10-15  4.0882022
1998-10-16  0.8489058
1998-10-19  0.5635226
1998-10-20  0.1448549

获得系数的引导应该很简单:

getC=function(myData){
return(coef(lm(formula = dyn(ret ~ lag(ret, c(-1,-9))), data=myData) ))
}
tsboot(snp_ret, getC, R = 100, l = 18, sim = "fixed")

出现以下错误:

合并时出错。zoo(ret,lag(ret,c(-1,-9((,retclass="list",all=TRUE(:序列不能与序列中的非唯一索引项合并

我怀疑这与回归有两个滞后有关,但不知道如何进行。

如果可能的话,请帮忙。

好吧,我找到了一个变通方法,所以也许其他人会对此感兴趣。。。使用arima函数而不是滞后运算符有帮助。

getC <- function(myData) { 
reg <- suppressWarnings(arima(myData, order = c(9, 0, 0), fixed = c(NA, 0,0,0,0,0,0,0,NA,NA)))
return((coef(reg)[c(1,9,10)]))

请注意,arima有一种奇怪的选择滞后的方法——你必须强制将不想包括的滞后系数为零

最新更新