这是我目前的代码:
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天用新值subbed启动整个模型对于i = 30,我猜测整个事情需要调整。你如何在第30个成员上插入平均值并将模型向前移动?
答案 0 :(得分: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]
使其完整