股票价格的简单移动平均线

时间:2010-08-07 17:13:57

标签: java moving-average

我正在使用下面的ActiveQuant FinancialLibrary SimpleMovingAverage函数SMA():

以下算法是否存在错误,通过查看“未来”来计算平均值(因为它&i;(期间+跳过))?

public static double SMA(int period, double[] vals, int skipdays) {
    double value = 0.0;
    for (int i = skipdays; i < (period + skipdays); i++) {
        value += vals[i];
    }
    value /= (double) period;
    return value;
}

for循环可以替换为下面的那个,它向后看。

    for (int i = skipdays - period; i < skipdays; i++) {
        value += vals[i];
    }

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

我没有看到任何错误。该算法正确计算数据数组的平均值,从索引skipdays(包括)到索引skipdays + period(不包括)period > 0

也许你需要重新解释这个问题。