gpt4 book ai didi

arrays - 如何计算一组数字的 EMA?

转载 作者:太空宇宙 更新时间:2023-11-03 22:15:26 31 4
gpt4 key购买 nike

我有一系列股票的每日收盘价(历史数据),格式如下:

var close = [39, 40.133, 38.23, .... , 45.38] 

这些是按日期时间顺序排列的。我正在尝试制作收盘价的一系列 EMA(指数移动平均线)值,以便按时间顺序与日期相关联。

我在nodejs中做这个;任何帮助将不胜感激!

附注这是我尝试过的方法:

var gauss = require('gauss');

var test = [39, 40.133, 38.23, 45.38, 43.83, 42.1, 48, 47, 44.12, 44.33, 46.9];
var vec = test.toVector();
var ma = vec.ema(10);

console.log(ma); // Outputs [ 43.2123, 43.88279090909091 ]

为什么会输出这个?

最佳答案

ema 函数返回前 N 个点的 EMA 向量。在您的代码中,N 为 10,并且由于您的输入向量 test 有 11 个元素,因此可以计算 2 个移动平均值。

您可以将移动平均线视为一个大小为 N(在本例中为 10)的“窗口”,它在输入向量中滑动。从最后 N 个元素开始,计算 EMA,然后向左滑动一个元素,计算并继续计算,直到窗口不再移动(到达流的开头)。在这种情况下,窗口只能移动一次,从而产生两次平均值。

[39, 40.133, 38.23, 45.38, 43.83, 42.1, 48, 47, 44.12, 44.33, 46.9];
-----------------------------> 43.88279090909091 <-----------
----------------> 43.2123 <--------------------------------

有关更多详细信息,请参阅文档:https://github.com/wayoutmind/gauss#vectorema

关于arrays - 如何计算一组数字的 EMA?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30383034/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com