先日 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