我在下面使用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];
}
我想念什么吗?
最佳答案
我没有看到错误。该算法正确地计算了数据数组的平均值,该数据数组的值从索引skipdays
(包括)到索引skipdays + period
(不包括)。
也许您需要改写这个问题。