作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我尝试用 pandas 计算 ema,但结果并不好。我尝试了 2 种技术来计算:
第一个技巧是 Pandas 的函数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 .
关于python - 用 Pandas 计算指数移动平均线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48812198/
我是一名优秀的程序员,十分优秀!