在股市及其他金融领域中,经常需要进行指数加权平均计算,这个指标可以较好反应指数变动的趋势。

在python 中用pandas 的ewm函数可以很方便进行计算,但这个函数的说明过于复杂,大多数文章都很难清晰描述,而且原文也没有很好的中文译本。在使用过程中总对不上数据,经过反复实验,终于有了一些头绪,记录如下。

pandas关于ema的文档
https://pandas.pydata.org/pandas-docs/version/0.17.0/generated/pandas.ewma.html

先看看指数移动平均值EMA的定义:

EMA定义

EMA(Exponential Moving Average)是指数移动平均值。也叫EXPMA指标,它也是一种趋向类指标,指数移动平均值是以指数式递减加权的移动平均。

EMA(today)=α Price(today) + ( 1 - α ) EMA(yesterday);

其中,α为平滑指数,一般取作2/(N+1)。典型的在计算MACD指标时,EMA计算中的N一般选取12和26天,因此α相应为2/13和2/27。

这里可以看到一个问题,如果是N>1,则存在EMA(0)的取值问题,一般可以取值:

EMA(0)= Price(0)
价格: 1.00 元
VIP会员价格:1.00元终身会员价格:1.00元
温馨提示:登录付款后可永久阅读隐藏内容。 付费可读