2017-11-04 10 views
0

私は最後の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がするために180に2、3、すべての方法まで追加しています180の異なる推定を得る。これをどうやって実行するかわからない。

誰かが助けてくれれば幸いです!

答えて

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 
    } 
関連する問題