copipe Python | pandasでEMAを計算する。

概要

df["close"].ewm(span=5, adjust=False).mean()を使うことで、pandasでEMA(指数平滑移動平均)を求めることができる。
(注:ewm()は、初期値としてSMAではなく最初の値を使うので、最初の数個の計算値は一般的なEMAと大きく異なることがある。)

コード

import pandas as pd
df = pd.DataFrame([109.83, 110.35, 110.73, 110.61, 110.70, 110.18, 109.73, 109.84, 109.63], columns=["close"])
df["EMA"] = df["close"].ewm(span=5, adjust=False).mean()
print(df)

結果

    close         EMA
0  109.83  109.830000
1  110.35  110.003333
2  110.73  110.245556
3  110.61  110.367037
4  110.70  110.478025
5  110.18  110.378683
6  109.73  110.162455
7  109.84  110.054970
8  109.63  109.913314