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

时间:2017-08-05 13:10:48

标签: 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(data2, n = 1))

在第一个EMA调用中,我作为参数提供整个AAPL样本。在第二个EMA呼叫中,我仅提供最小数据量来计算最后一个日期的EMA。如果我比较最后一天的计算值,它们是不同的。

具体地,结果[1,1]是152.907,结果[1,2]是152.623。为什么会这样?我希望这两个数字都是相同的,因为EMA不是累积的。

1 个答案:

答案 0 :(得分:0)

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

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

它应该清楚地表明你所期望的只适用于SMA,实际上它实际上是零权重。