R 为什么在比较不同长度的样本时,EMA不相等?

R 为什么在比较不同长度的样本时,EMA不相等?,r,quantmod,R,Quantmod,我很难理解为什么在这两种情况下EMA(指数移动平均)是不同的 options(scipen = 10) library(quantmod) getSymbols("AAPL", src = "google") data1 <- EMA(AAPL[, "AAPL.Close"]) data2 <- EMA(tail(AAPL[, "AAPL.Close"], n = 10)) result <- data.frame(tail(data1, n = 1), tail(dat

我很难理解为什么在这两种情况下EMA(指数移动平均)是不同的

options(scipen = 10)
library(quantmod)

getSymbols("AAPL", src = "google")

data1 <- EMA(AAPL[, "AAPL.Close"])
data2 <- EMA(tail(AAPL[, "AAPL.Close"], n = 10))

result <- data.frame(tail(data1, n = 1), tail(data2, n = 1))
选项(scipen=10)
图书馆(quantmod)
getSymbols(“AAPL”,src=“谷歌”)

数据1这是因为指数衰减具有“无限”的历史:它衰减,但从未完全消失

因此,两个用例之间的权重集是不同的,因此结果也是不同的。MAs最近有一个不错的系列,用于平滑价格系列:


应该明确的是,你所期望的只是SMA,它实际上是零权重。

这是因为指数衰减有“无限”的历史:它衰减,但永远不会完全消失

因此,两个用例之间的权重集是不同的,因此结果也是不同的。MAs最近有一个不错的系列,用于平滑价格系列:


应该明确的是,你所期望的只是SMA,实际上它是零重量。

谢谢你,德克。我的初衷是计算一个时间序列的EMA,然后将其与逐日计算的EMA进行核对(无需重新计算整个历史)。你有没有发现如何将观测值添加到现有的EMA序列中,使之与EMA一次计算出来时的值相匹配?谢谢你,德克。我的初衷是计算一个时间序列的EMA,然后将其与逐日计算的EMA进行核对(无需重新计算整个历史)。您是否知道如何将观测值添加到现有的EMA序列中,使其与EMA一次全部计算时的值相匹配?请参阅
?EMA
中的警告部分。它解释了原因,并给出了一个类似的示例。请参阅
?EMA
中的警告部分。它解释了原因,并给出了一个类似的例子。