我在 Math.Net 中使用了简单的移动平均线,但现在我还需要计算 EMA(指数移动平均线)或任何类型的加权移动平均线,我在库中找不到它。
我查看了 MathNet.Numerics.Statistics 及以后的所有方法,但没有找到任何类似的方法。
它在库中丢失还是我需要引用一些额外的包?
最佳答案
我在 MathNet.Numerics 中看不到任何 EMA,但是编程很简单。下面的例程基于 Investopedia 的定义。
public double[] EMA(double[] x, int N)
{
// x is the input series
// N is the notional age of the data used
// k is the smoothing constant
double k = 2.0 / (N + 1);
double[] y = new double[x.Length];
y[0] = x[0];
for (int i = 1; i < x.Length; i++) y[i] = k * x[i] + (1 - k) * y[i - 1];
return y;
}
关于Math.Net 指数移动平均线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58342977/