首页 > 代码库 > 移动平均算法公式

移动平均算法公式

MA/SMA/DMA/EMA移动平均算法公式

1、简单移动平均MA
	用法:
	MA(X,N):X的N日简单移动平均
	算法(X1+X2+X3+...+Xn)/N
	
2、移动平均SMA
	用法:
	SMA(X,N,M),求X的N日移动平均,M/N为给予观测值X的权重,N必须大于M。
	算法: 若Y=SMA(X,N,M)
	则 Y=[M*X+(N-M)*Y‘)]/N=M/N*X +(N-M) /N *Y‘),其中Y‘表示上一周期Y值。请注意,当M/N大于/等于/小于1/2时,给予观测值X的权重随之变化.当M=1时,仅仅给予观测值1/N的权重,N越大,则当前观测值对均值贡献或影响越小.
	例如:SMA(CLOSE,30,1)表示求收盘价的30日移动平均价.
	
3、平滑移动平均MEMA
	用法:
	MEMA(X,N):X的N日平滑移动平均,如Y=(X+Y‘*(N-1))/N,特别是当N=2时,Y=(X+Y’)/2,即Y取值于观测值X和上期均值中间值,当N>2并逐步增加时,所给予观测值X的权重逐步减小.
	MEMA(X,N)相当于SMA(X,N,1)
	
4、移动平均TMA
	用法:
	TMA(X,A,B),A和B必须小于1
	算法	Y=(A*Y‘+B*X),其中Y‘表示上一周期Y值.初值为X。请注意,如果不规定A和B的具体值,总权重不一定为1,则此种移动平均结果将非常随意。
	
5、指数移动平均EMA
	用法:
	EMA(X,N),求X的N日指数移动平均。
	算法:若Y=EMA(X,N),则Y=[(1/N) * X+(1-1/N) * Y‘‘],其中Y‘‘表示上一周期Y值。请注意,把式中1/N提出来后, Y=(X+Y‘*(N-1))/N,与上面“3、平滑移动平均MEMA”完全相同。
	例如:EMA(CLOSE,30)表示求30日指数平滑均价。
	注意:指数移动平均EXPMA与EMA的用法一致

6、指数平滑移动平均EXPMEMA
	用法:
	EXPMEMA(X,N):X的N日指数平滑移动平均。
	EXPMEMA同EMA(EXPMA)的差别在于它的起始值为一平滑值,如果X为一次指数平滑结果则公式EXPMEMA(X,N) 代表对X的二次指数平滑。
	
7、加权移动平均WMA
	用法:
	WMA(X,N):X的N日加权移动平均.
	算:Yn=(1*X1+2*X2+...+n*Xn)/(1+2+...+n)。公式中给予最近一个观测值Xn的权重最大。
	
8、动态移动平均DMA
	用法:
	DMA(X,A),求X的动态移动平均。
	算法: 若Y=DMA(X,A)
	则 Y=A*X+(1-A)*Y‘,其中Y‘表示上一周期Y值,A必须小于1。
	例如:DMA(CLOSE,VOL/CAPITAL)表示求以换手率作平滑因子的平均价。如果进行连续叠代,则可看出DMA为真正的(以时期为)指数平滑公式。
	
9、自适应均线值AMA
	用法:
	AMA(X,A),A为自适应系数,必须小于1.
	算法:Y=Y‘+A*(X-Y‘),初值为X。
	
10、偏移移动平均XMA
	属于未来函数
	用法:
	XMA(X,N):X的N日偏移移动平均,用到了当日以后N/2日的数据,只供内部测试使用。
值得注意的是,以上移动平均值的结果均为与最近一期观测值同期的均值,因此没有尾部缺失数据情况,这与很多计量或统计分析教科书中所述不同(如见高玉梅)。
(资料来源:通达信系统公式编辑器函数)

  

移动平均算法公式