我正在尝试使用过去36个月的日期创建第37个月的回报估算并继续这样做180次。即对于第38个月,我使用的是第39个月的第2-37个月的数据,我使用的是3-38,依此类推。
到目前为止我提出的是:
# data point 37
x_36 <- Data_Question_5$BDI[1:36]
y_36 <- Data_Question_5$`Mkt-RF`[1:36]
alpha_beta_estimate_36 <- lm(y_36~x_36)
alpha_36 <- coef(alpha_beta_estimate_36)[1]
beta_36 <- coef(alpha_beta_estimate_36)[2]
print(alpha_36)
print(beta_36)
return_estimate_37 <- alpha_36 + beta_36*Data_Question_5$BDI[36]
Data_Question_5$rt1[37] <- return_estimate_37
View(Data_Question_5)
# data point 38
x_37 <- Data_Question_5$BDI[(1+1):(36+1)]
y_37 <- Data_Question_5$`Mkt-RF`[(1+1):(36+1)]
alpha_beta_estimate_37 <- lm(y_37~x_37)
alpha_37 <- coef(alpha_beta_estimate_37)[1]
beta_37 <- coef(alpha_beta_estimate_37)[2]
return_estimate_38 <- alpha_37 + beta_37*Data_Question_5$BDI[(36+1)]
Data_Question_5$rt1[(37+1)] <- return_estimate_38
我想在循环中得到这个并且让R加上+ 2,+ 3,一直到180,以获得180个不同的估计值。不确定如何运行。
如果有人可以提供帮助,我们将不胜感激!
答案 0 :(得分:0)
for(i in 0:179)
{
X <- Data_Question_5$BDI[(1+i):(36+i)]
Y <- Data_Question_5$'Mkt - Rf'[(1+i):(36+i)]
Xend <- Data_Question_5$BDI[36+i]
Model <- lm(Y~X)
Estim <- coef(Model)[1] + coef(Model)[2]*Xend
Data_Question_5$rt1[37+i] <- Estim
}