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

时间:2018-11-03 08:54:43

标签: r statistics

我想在包含两个滞后的收益模型中进行回归系数的引导。 我有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")

出现以下错误:

  

merge.zoo(ret,lag(ret,c(-1,-9)),retclass =“ list”,全部中的错误   = TRUE):系列不能与系列中的非唯一索引条目合并

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

如果可能,请帮助。

1 个答案:

答案 0 :(得分:1)

好吧,我找到了一种解决方法,所以这也许对其他人来说很有趣...使用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)]))

请注意,有马有一种奇怪的选择滞后的方式-您必须将不想包含的滞后强制设置为零系数