【发布时间】:2018-06-12 17:01:46
【问题描述】:
我正在建立一个因子模型来估计未来的股票回报。我想在这个模型中包含一个自回归残差项。我希望将昨天的误差(昨天的预测回报和实际回报之间的差异)作为自变量包含在回归中。这叫什么类型的自回归模型?我搜索了各种时间序列计量经济学文本,但没有找到描述的这个特定模型。我目前在 R 中的解决方案是在每个离散时间步 (t) 重新运行回归,并手动包含昨天的残差,但我很好奇是否有更有效的方法或包可以做到这一点。
以下是一些不包含残差项的示例代码:
Data:
# fake data
set.seed(333)
df <- data.frame(seq(as.Date("2017/1/1"), as.Date("2017/2/19"), "days"),
matrix(runif(50*506), nrow = 50, ncol = 506))
names(df) <- c("Date", paste0("var", 1:503), c("mktrf", "smb", "hml"))
Then I store my necessary variables for regression:
1.All the dep var
x = df[,505:507]
2.All the indep var
y <- df[,2:504]
4.Fit all the models
list_models_AR= lapply(y, function(y)
with(x, lm(y ~ mktrf + smb + hml , na.action = na.exclude)))
【问题讨论】:
-
在你的例子中是什么时候?为什么不创建包含在回归中的移位/滞后列?
-
这是回归:y = mktrf(B1) + smb(B2) + hml(B3) + laaggedresidual(B4) 所有系数都在 T0,除了 B4,它在 T- 1. Y 在 T1。
标签: r time-series regression linear-regression autoregressive-models