python expma函数代码
:paramdata:待计算的数据,可以是列表或numpy数组
:param alpha: 平滑系数,一般取值在0-1之间,越接近1,权重越大,对历史数据的影响越小
:return: 返回指数加权移动平均值
'''
weights = np.exp(np.linspace(-1.0, 0.0, len(data))*alpha)
weights /= weights.sum()
linspace函数python ema = np.convolve(data, weights, mode='full')[:len(data)]
ema[:len(weights)-1] = ema[len(weights)-1]
return ema
```
该函数接收两个参数:待计算的数据和平滑系数alpha。首先,函数使用numpy中的exp函数计算出权重向量。然后,将权重向量除以权重向量的总和,以确保所有权重之和为1。接下来,使用numpy中的convolve函数将数据与权重向量卷积,得到指数加权移动平均值。最后,将移动平均值的前几个值设置为第一个值,以消除开始时缺失的权重。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论