2016-10-10 44 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] 

,使其完全