用熊猫计算指数移动平均线

时间:2018-02-15 16:41:13

标签: python pandas

我尝试用熊猫计算ema,但结果并不好。 我尝试了两种技术来计算:

第一种技术是熊猫的功能ewn

window = 100
c = 2 / float(window + 1)
df['100ema'] = df['close'].ewm(com=c).mean()

但是这个函数的最后一个结果给出了。 2695.4但实际结果为2656.2

第二种技术是

window = 100
c = 2 / float(window + 1)
df['100sma'] = df['close'].rolling(window).mean()
df['100ema'] = (c * df['close']) + ((1 - c) * df['100sma'])

结果是2649.1它比第一种技术更接近但总是不好

sma函数给出了好的结果

**编辑**

回复是

df['100ema'] = pd.Series.ewm(df['close'], span=window).mean()

2 个答案:

答案 0 :(得分:2)

如果您想在Python中计算EWMA或任何技术指标,我建议您使用ta-lib

答案 1 :(得分:0)

expwighted_avg = ts_log.ewm(halflife=12).mean()

其中“ ts_log”是数据帧或时间序列系列