我尝试用 pandas 计算 ema 但结果不好。
我尝试了两种技术来计算:
第一个技术是panda的函数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()
如果你想用Python计算EWMA或任何技术指标,我建议使用ta-lib https://github.com/mrjbq7/ta-lib.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)