je jouais avec ActiveQuant FinancialLibrary fonction SimpleMovingAverage SMA() ci-dessous:moyenne mobile simple pour les cours des actions
Y at-il une erreur dans le algo ci-dessous, où il calcule la moyenne en regardant « dans l'avenir » (comme est-ce que je < (période + 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;
}
La boucle for peut être remplacée par celle ci-dessous, où elle semble tournée vers l'arrière.
for (int i = skipdays - period; i < skipdays; i++) {
value += vals[i];
}
Ai-je raté quelque chose?
Code reformaté; s'il vous plaît revenir si incorrect. – trashgod
Avez-vous une raison de préférer une implémentation à l'autre? – trashgod