【发布时间】:2021-04-19 20:12:53
【问题描述】:
我有一个简单的向量如下:
x = c(14.24, 13.82, 12.75, 12.92, 12.94, 13.00, 14.14, 16.28, 20.64, 17.64)
我找到了这个向量的 EMA 使用
library(TTR)
y = EMA(x, 5)
结果是
[1] NA NA NA NA 13.33400 13.22267 13.52844 14.44563 16.51042 16.88695
第二天在原始向量x的末尾添加一个新值,更新后的x向量为:
x = c(14.24, 13.82, 12.75, 12.92, 12.94, 13.00, 14.14, 16.28, 20.64, 17.64, 18.09)
预期的输出是 -
y = [1] NA NA NA NA 13.33400 13.22267 13.52844 14.44563 16.51042 16.88695 17.28796
此输出可由EMA(x, 5) 产生,但此语句将再次计算整个向量的 EMA,并且时间效率低下。
由于我们已经在向量y 中计算了前一天的 EMA,
有没有办法计算过去 5 天的 EMA,而不是重新计算整个向量并将新值合并到向量 y?
谢谢!
【问题讨论】:
-
最后一个值是什么意思。只有一个元素
-
我仍在试图了解您是如何从
tail(x, 5)获得 18.09 的 -
18.09计算不清楚。我没有得到那个价值
-
你能不能显示你的预期输出,因为我不清楚
-
我检查了你的更新,但它仍然是与
18.09相同的输入“x”。不清楚您的预期输出是什么