Math.Net 指数移动平均线

标签 math.net

我在 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/

相关文章:

c# - 如何使用 MathNet.Symbolics 简化公式?

math.net - 如何使用 Math.NET 计算样本的自相关

c# - 使用 Math.NET 计算临界值 T-Score

f# - 低通滤波器在 MathNet.Filter、F# 中不起作用

c# - 使用mathdotnet求解线性方程组?

.net - 使用 Math.Net 进行统计

mathnet-numerics - 如何计算 MathNet.Symbolics 中的 sqrt

c# - MathNet.Numerics x86 中是否包含 SVD?

matrix - 如何在 F# 中混洗 "DenseMatrix"