Простая скользящая средняя для цен на акции - PullRequest
0 голосов
/ 07 августа 2010

Я играл с функцией ActiveQuant FinancialLibrary SimpleMovingAverage SMA () ниже:

Есть ли ошибка в алгоритме ниже, где он вычисляет среднее значение, заглядывая «в будущее» (как это делает я <(period + skipdays))? </p>

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 Ответ

1 голос
/ 07 августа 2010

Я не вижу ошибок. Алгоритм правильно вычисляет среднее значение массива данных от индекса skipdays (включительно) до индекса skipdays + period (исключая) для period > 0.

Возможно, вам нужно перефразировать вопрос.

...