我想在包含两个滞后的收益模型中进行回归系数的引导。 我有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):系列不能与系列中的非唯一索引条目合并
我怀疑这与回归有两个滞后这一事实有关,但不知道如何进行。
如果可能,请帮助。
答案 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)]))
请注意,有马有一种奇怪的选择滞后的方式-您必须将不想包含的滞后强制设置为零系数