При попытке вычислить экспоненциальную скользящую среднюю (EMA) из финансовых данных в кадре данных кажется, что подход Pandas «ewm» неверен.Неужели Pandas неправильно вычисляет ewm?
Основа хорошо объясняется в следующей ссылке: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages
При переходе к панде объяснению, подход заключается в следующем (с помощью параметра «настроить», как False):
weighted_average[0] = arg[0];
weighted_average[i] = (1-alpha) * weighted_average[i-1] + alpha * arg[i]
Это, на мой взгляд, неверно. «Arg» должен быть (например) закрывающими значениями, однако arg [0] является первым средним значением (т. Е. Простым средним значением первой серии данных длины выбранного периода), но НЕ первое значение закрытия , arg [0] и arg [i], следовательно, никогда не могут быть из одних и тех же данных. Использование параметра «min_periods», похоже, не разрешает это.
Может ли кто-нибудь объяснить мне, как (или если) Pandas можно использовать для правильного вычисления EMA данных?
Родственный GitHub issue: https://github.com/pydata/pandas/issues/13638 – naught101