移动平均算法公式

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日的数据,只供内部测试使用。
值得注意的是,以上移动平均值的结果均为与最近一期观测值同期的均值,因此没有尾部缺失数据情况,这与很多计量或统计分析教科书中所述不同(如见高玉梅)。
(资料来源:通达信系统公式编辑器函数)

  

时间: 2024-10-21 03:15:25

移动平均算法公式的相关文章

计算一个序列的移动平均线序列的模板,可实现均线的均线

#pragma once //write by 陈墨仙 20150718 //功能:计算序列的移动平均线,并返回序列 template<class T>class funcMa { public: funcMa(){lastTick = 0;}; ~funcMa(){}; void clear() { t.clear(); t.swap(vector<T>(t)); lastTick = 0; } vector<T> Caculate(vector<T> p

SSRS 2012 管理图表 -- 移动平均图

SSRS 2012 管理图表 -- 移动平均图 当数字以较密集的时间间距观察时,可会因为急速波动而看起来似乎过度杂乱而难以归纳趋势.此时"移动平均(Moving Average,MA)"就成为分析数列趋势的重要工具,利用固定期间的数值平均,可以有效地消弭短期的数值波动,让分析者能够更明确地聚焦在长期的序列趋势,移动平均图广泛地应用在质量管制或者是股票技术分析,大家所熟知的股票10日线其实就是指过去10天股价平均值所画出来的趋势线. 但是,不论利用T-SQL或是SSRS表达式计算移动平均

移动平均(moving average,MA)简单介绍

1.简介 MA是为了抚平短期波动,以反映长期趋势或周期的手段,数学上移动平均可视为一种卷积. 一般用于股价. 2.简单移动平均 3.加权移动平均 4.指数移动平均 见 wikipedia

简单的线性M移动平均

最近在写Python的爬虫爬取全校学生的成绩信息和照片,发现些许问题. python的内存管理机制还没摸透,随着程序的运行,占用内存逐渐增大,料想应该是新开辟的空间未及时释放. 先研究研究算法,为比赛做准备. M移动平均就是 一组数据的相邻的M项平均 逐个后移 若使用简单的循环会使得时间复杂度极大 数组的长度*M 若简单的改进 时间复杂度就仅仅是数组的长度N 1 import java.util.ArrayList; 2 import java.util.Scanner; 3 4 import

简单移动平均线、加权移动平均线、指数平滑移动平均

移动平均线的种类 移动平均线可分为"算术移动平均线"."加权移动平均线"."指数平滑移动平均线"三种. 1.算术移动平均线(MA) 算术移动平均线是简单而普遍的移动平均线.平均线是指算术平均数,计算方法为一组数字相加,除以该组数据的组成个数. 以5天移动平均线为便,计算方法如下: MA=(C1+C2+C3+C4+C5)/5 一般公式:MA=(C1+C2+C3+C4+C5+....+Cn)/n C:第一日收盘价 n:移动平均数周期 "移动

5. 移动平均线基础知识

1. 移动平均线基本概念: 移动平均线,代码MA 原理:把连续一段时间的收盘价加起来算出平均得出的一根平滑曲线. 2. 金叉和死叉概念 当短周期的均线上穿长周期的均线,形成一个向上的交叉,称为金叉,通常作为看涨信号. 当短周期的均线下穿长周期的均线,形成一个向下的交易,称为死叉,通常作为看跌信号. 3. 多头排列和空头排列 当短周期均线在长周期均线上方运行,称为均线的多头排列,代表强势行情,趋势看涨. 当短周期均线在长周期均线下方运行,称为均线的空头排列,代表弱势行情,趋势看跌. 4. 均线的基

使用excel计算指数平滑和移动平均

指数平滑法 原数数据如下: 点击数据——数据分析 选择指数平滑 最一次平滑 由于我们选择的区域是B1:B22,第一个单元格“钢产量”,被当做标志,所以我们应该勾选标志.当我们勾选了标志后,列中的第一个单元格将不被用于计算,计算从第二个单元格开始. 结果如下: 做二次平滑 这里,我们不再采用标志,所以数据区间选择在C3:C22 对比一下 阻尼系数=0.3 阻尼系数=0.05 阻尼系数=0.9 画在一张图上对比下,可见阻尼系数越大,曲线越平. 移动平均(一阶和二阶) 同理可以使用excel计算得到如

移动平均

移动平均(英语:Moving Average,MA),又称“移动平均线”简称均线,是技术分析中一种分析时间序列数据的工具.最常见的是利用股价.回报或交易量等变数计算出移动平均. 移动平均可抚平短期波动,反映出长期趋势或周期.数学上,移动平均可视为一种卷积. 简单移动平均(英语:Simple Moving Average,SMA)是某变数之前n个数值的未作加权算术平均.例如,收市价的10日简单移动平均指之前10日收市价的平均数. 加权移动平均(英语:Weighted Moving Average,

Matlab编程实例(1) 移动平均

MATLAB数字信号处理作业,把自己写的程序发上来..欢迎交流~ QQ 五幺九七九零六四 首先是任意点移动平均: 主程序:mov_average_main.m (运行) 函数:mov_average.m  (多点移动平均) /////////mov_average_main.m/////////// %多点移动平均 close all; clear all; numSample=500;    %采样精度为100 l=input('请输入用于平滑的窗口大小"n"'); if l>