自适应移动平均线(AMA)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自适应移动平均线(AMA)
长期来说,价格会显示一种回归其本来价值的特性,在二维图形上显示一种收敛或者说回归均值的图形。这似乎也反映了政府金融或利息政策改变所带来的影响。
一个超出市场平均波动周期的趋势则可能是一个好的趋势,一个波动周期如有特别变化的关键变量,则趋势有可能发生改变,在股市上通常表现为量能和价格区间的变化。
以下为Perry J.Kaufman的自适应移动平均系统,资料来源于其著作《Smarter Trading》。
关于移动平均
由一个时间周期的价格平均值构成,并以单位时间的价格周期不断计算,加入新的一个单位时间的价格时去掉第一个单位时间的价格,并计算平均值。一个过去几天的平均值,减少了人为的由消息引起的过激反应的影响。平均较长的数据周期,给出了较平滑的趋势,其结果经常是长期市场方向的一个很好的代表,也反映了市场运行状况和人们对于利率和政策的预期。
趋势系统
趋势计算把价格移动归纳为一个净方向,并假设价格将会继续沿着这个方向运动。趋势跟踪系统则是对趋势作出反应,而不是对它们进行预期。
噪音
一个持续横盘的期的波动水平,可以很方便的用来测量内在噪音。如果一个趋势是由一个不大于市场内在噪音水平移动所引起的,那么这个趋势就是不可靠的。
自适应
当市场沿着一个方向快速移动时,快得移动平均值是最好的。
当市场在横盘的市场中立拉锯时,慢的移动平均值是最好的。
三种价格波动性测量
a. 简单地计算价格的净变化,从开始点到结束点。这倾向于最保
守的测量,因为它平滑了从开始到结尾之间发生的任何价格移动。
b. 高-低范围更好地描述了在周期内可能产生的任意极端值。
c. 所有变化总和,它是最概括的测量,因为能识别一个价格移动从高到低的次数。
自适应移动平均值
步骤1:价格方向
价格方向被表示为整个时间段中的净价格变化。比如,使用n天的间隔(或n小时):
步骤2:波动性
波动性是市场噪音的总数量,计算了时间段内价格变化的总和
volatility= @ sum( @ abs(price-price[1]),n)
步骤3:效率系数(ER)
方向移动对噪音之比,成为效率系数ER
Efficiency_Ratio = direction/volatility
步骤4:变换上述系数为趋势速度
为了应用于一个指数式移动平均值,比率将被变换为一个平滑系数c,依靠使用下面的公式,每天的均线速度可以简单地用改变平滑系数来改变,成为自适应性的。公式:
@exp_ma=@exp_ma[1]+c*(price- @ exp_ma[1])
公式表明,EMA以一个百分比c来接近于今日的收盘价。系数c 与一个标准移动平均值中天数密切相关,这关系是2/(n-1),其中n是天数。
在横盘的市场中这个过程选择了非常慢的趋势,而在高度趋势化的周期中加速至非常快的趋势(但不是100%)。这个平滑系数是:fastest =2/(N+1) =2/(2+1) =0.6667
slowest =2/(N+1) =2/(30+1) =0.0645
smooth =ER*(fastest-slowest)+slowest
c=smooth*smooth
平方平滑迫使c的数值趋向于0,这意味着较慢的移动平均值将比快速的移动平均值用得更多。这和在出现不确定状况时你就更加保守
是一样的道理。
AMA = AMA[1] + c * (price - AMA[1])
====================================== =========================
技术分析往往离不开均线系统,她是我们观察价格走势的基础。
短期均线贴近价格走势,灵敏度高,但会有很多噪声,产生虚假信号;长期均线在判断趋势上一般比较准确
,但是长期均线有着严重滞后的问题。我们想得到这样的均线,当价格沿一个方向快速移动时,短期的移动
平均线是最合适的;当价格在横盘的过程中,长期移动平均线是合适的。
为了达成以上目的,我们来看看Kaufman的自适应均线系统,下面是算法:
步骤1:价格方向
价格方向被表示为整个时间段中的净价格变化。比如,使用n天的间隔(或n小时):
direction = price – price[n];
其中,direction是当前价格差或方向数值,price是当前价格(当日收盘价或小时收盘价),price[n]是n日前的收盘价(或n个周期前)。
步骤2:波动性
波动性是市场噪音的总数量,它可以用许多不同的方法定义,但是这个计算使用了所有“日到日”或“小时到小时”的价格变化的总和(每一个都作为一个正数),在同样的n个周期上。
如下表达:
volatility = @sum(@abs(price – price[1]), n);
其中,volatility是指波动性数值,@abs是绝对值函数,@sum(value, n)是n个周期中的数值之和函数。
步骤3:效率系数(ER)
以上两个成分被组合起来,以表达方向移动对噪音之比,称之为效率系数,ER:
Efficiency_Ratio = direction/volativity;
用“方向性”除以“噪音”,该系数的值就从0到1 变化。当市场在全部n日以同一方向移动时,则方向=波动性,效率系数=1。如果波动对于同样的价格移动是增加了,“波动性”就变得较大并且ER 往小于1的方向移动。如果价格不变化,则方向=0,ER=0。
这个结果作为一个指数式平滑系数是方便的,它每天改变趋势线的一个百分比,ER=1就等效于100%,对应最快的移动平均线,它应当能有效工作,因为价格在一个方向上移动而没有回撤。当ER=0时,一个非常慢的移动平均值是最好的,可以在市场趋势不明时避免贸然止损离场。
步骤4:变换上述系数为趋势速度
为了应用于一个指数式移动平均值,比率将被变换为一个平滑系数c,依靠下面的公式,每天的均线速度可以简单地用改变平滑系数来改变,成为自适应性的。该公式如下:
EXPMA = EXPMA[1] + c*(price – EXPMA[1]);
测试表明,平方平滑系数的数值大大地改进了结果,这是依靠在一个横盘的市场中阻止了趋势线的移动。在横盘的市场中这个过程选择了非常慢的趋势,而在高度趋势化的周期中加速至非常快的趋势(但不是100%)。这个平滑系数是:
fastest = 2/(N+1) = 2/(2+1) = 0.6667;
slowest = 2/(N+1) = 2/(30+1) = 0.0645;