如何通过在R

时间:2017-11-04 08:14:05

标签: r loops forecasting

我正在尝试使用过去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个不同的估计值。不确定如何运行。

如果有人可以提供帮助,我们将不胜感激!

1 个答案:

答案 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
  }