簡體   English   中英

使用r中的循環創建移動平均線

[英]Create a moving average using a loop in 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個成員上插入平均值並將模型向前移動?

你在尋找的是:你需要以P [i],30th,31st等方式獲取當前價格。

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

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

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

使它完整

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM