Beim Versuch, den exponentiellen gleitenden Durchschnitt (EMA) aus Finanzdaten in einem Datenrahmen zu berechnen, scheint der ewm-Ansatz der Pandas falsch zu sein.Berechnen Pandas ewm falsch?
Die Grundlagen sind in den folgenden Link erläutert: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages
Wann Pandas Erklärung gehen, genommen ist der Ansatz wie folgt (mit dem Parameter als False "justieren"):
weighted_average[0] = arg[0];
weighted_average[i] = (1-alpha) * weighted_average[i-1] + alpha * arg[i]
Das ist meiner Meinung nach falsch. Der "arg" sollte (zum Beispiel) der Schlusswert sein, aber arg [0] ist der erste Durchschnitt (dh der einfache Durchschnitt der ersten Datenreihe der Länge des gewählten Zeitraums), aber NICHT der erste Schlusswert . arg [0] und arg [i] können daher niemals aus denselben Daten stammen. Die Verwendung des Parameters "min_periods" scheint dies nicht zu beheben.
Kann mir jemand erklären, wie (oder ob) Pandas verwendet werden können, um die EMA von Daten richtig zu berechnen?
Verwandte Github Ausgabe: https://github.com/pydata/pandas/issues/13638 – naught101