0

我在玩下面的 ActiveQuant FinancialLibrary SimpleMovingAverage 函数 SMA():

下面的算法是否有错误,它通过“展望未来”来计算平均值(就像 i < (period + skipdays) 一样)?

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];
    }

我错过了什么吗?

4

1 回答 1

1

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

也许您需要重新表述这个问题。

于 2010-08-07T19:06:23.907 回答