2016-10-10 51 views
1

這裏是我當前的代碼:r中創建使用循環移動平均

n<-30 
alpha<- 2/(1+n) 
alpha 
length(stocks$Close) 
thirty <- colMeans(matrix(stocks$Close [1:30])) 
x<-rep(0, length=6656) 
for (i in 30:length(x)){ 
    x[i]<- ((alpha*thirty) + (Close[i-1]*(1-alpha))) 
} 

我需要在平均替代收盤價的前30天到新的載體的30成員。另外,我應該在第30天開始我的新載體,從該平均值開始,並用公式推進:EMA [i] =((P [i] alpha)+(EMA [i-1](1-alpha))。P [i]是該時間段結束時的收盤價格。假設我們在第30天開始整個模型,並且新的價值在i = 30時被嵌入,我猜測整個事情將需要調整,你如何在第30位成員中插入該平均值,並將模型向前移動?

回答

0

你在找什麼: 你需要以P [i ],所以30日,31日等

for (i in 30:length(x)){ 
     x[i]<- ((alpha*P[i]) + (x[i-1]*(1-alpha))) 
    } 

然後在前29天您可以添加原價格

x[1:29]=Close[1:29] 

,使其完全