先日 pandas の ewm() を使って指数平滑移動平均(EMA)を計算したが、なんか値ちがくね?となったので調べてみた。 ※python2で書いています。 そもそも計算式が違う とりあえず指数平滑移動平均(EMA)の式の確認をしておきます。 指数平滑移動平均(EMA)の式 EMA(一日目): 単純移動平均(SMA)と同じ EMA(二日目以降): 前日EMA + α(直近の価格 - 前日EMA) α: 2.0 / (N日間 + 1.0) 次に pandas の ewm(span=span) の場合。 α: 2.0 / (span + 1.0) wi = (1 - α)i つまり となっていた。 これは ewm() の adjust 引数の初期値が True になっているからのようです。なので、adjust=False を指定することで指数平滑移動平均(EMA)の式に近づきます。 ewm
![【Python】pandasの指数平滑移動平均の値が違った理由 - turtlechanのブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/fe787c9bfe91a8a2167959885221a5db77b1e044/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Fturtlechan%2F20190814%2F20190814221004.png)