考夫曼自适应均线(DOC)
- 格式:doc
- 大小:510.50 KB
- 文档页数:10
考夫曼自适应均线(python源代码)#!/usr/bin/env python# -*- coding: utf-8 -*-import pandas as pdimport numpy as npdef KAMA(series:pd.Series, cyc:int=10, fastest:int=2, slowest:int=30)->np.float64: '''考夫曼自适应均线指标函数 series: 接受 pandas 的 Series 格式的数值 cyc: int 指定数据的计算周期fastest: int 快线slowest: int 慢线输出值: np.float64 例程:kama = KAMA(series.close, cyc=10, fastest=2, slowest=30)''' length = series.shape[0] if length >= cyc: direction = (series.shift(cyc - 1) - series).abs() #价格方向volatility = series.diff(1).abs().rolling(cyc - 1).sum() #波动幅度 efficiency_ratio = direction / volatility #效率系数 fastest_ratio, slowest_ratio = 2 / (fastest + 1), 2 / (slowest + 1) #快线/慢线系数smooth = (efficiency_ratio * (fastest_ratio - slowest_ratio) + slowest_ratio) ** 2 #平滑系数 ama_array = np.zeros(length) first_value = True for i in range(length): if smooth[i] != smooth[i]: ama_array[i] = np.nan else: if first_value: ama_array[i] = series[i] first_value = False else: ama_array[i] = ama_array[i - 1] + smooth[i] * (series[i] - ama_array[i - 1]) return ama_array return Exception('错误警告:考夫曼自适应均线指标函数中传入的数据量不足!')。
AMA考夫曼自适应均线指标考夫曼自适应均线指标(Adaptive Moving Average,AMA)是由美国著名技术分析师佩里·考夫曼(Perry Kaufman)提出的一种趋势追踪指标。
与传统的移动平均线相比,AMA更具智能化和自适应性,能够根据市场的特点和波动情况自动调整均线的长度。
在传统的移动平均线中,均线的长度是固定的,无论市场波动大还是小,均线都按照既定的参考期数进行计算。
这种方法对于市场波动大的情况下容易产生滞后,而市场波动小的情况下则容易产生噪音。
考夫曼认为,不同的市场环境需要不同的均线周期,因此他提出了AMA指标。
AMA指标的计算基于平滑系数和波动率。
平滑系数用于平衡过去和当前的价格信息,而波动率则用于调整均线周期。
这两个参数会根据市场的波动情况动态地变化。
AMA指标的计算步骤如下:1. 计算每个周期的“有效波动”(Effective Noise),通过计算当日价格与过去价格的绝对差值除以过去一段时间内价格的标准差得出。
2.根据有效波动,计算出平滑系数和周期。
3.根据当前的价格和计算出的平滑系数和周期,计算AMA值。
AMA指标的特点如下:1.自适应性:AMA指标能够根据市场的波动情况自动调整均线的周期,适应不同的市场环境。
2.准确性:由于AMA指标考虑了有效波动,相对于传统的移动平均线,它更能准确地捕捉市场的趋势。
3.可用性:AMA指标适用于任何市场和时间周期,可以应用于股票、期货、外汇等市场。
AMA指标的应用包括判断趋势、确定交易信号和止损点。
当AMA线向上运行时,表示市场处于上升趋势,反之则表示市场处于下降趋势。
交易信号可以通过AMA线与价格的交叉来确认,当AMA线向上交叉价格时,可作为买入信号,向下交叉价格时,可作为卖出信号。
止损点的设定可以根据AMA指标的波动情况和市场的特点进行调整。
在实际应用中,AMA指标通常结合其他技术指标一起使用。
例如,结合相对强弱指数(RSI)、移动平均收敛/发散指标(MACD)等指标,可以进一步提高交易决策的准确性。
AMA考夫曼自适应均线指标考夫曼自适应均线指标(Kaufman's Adaptive Moving Average,简称KAMA)是一种带有变色和过滤功能的技术指标。
它是由美国著名技术分析师佐治·考夫曼(George H. Kaufman)开发的,旨在解决传统均线指标在市场波动率变化时表现不佳的问题。
KAMA的核心思想是根据市场情况自适应地调整计算参数,以更好地反映价格的变动趋势。
与其他均线指标不同,KAMA采用平滑因子(Smoothing Factor)进行计算,该值会根据价格波动率的变化而动态调整。
这样一来,KAMA能够更快地响应价格变化,同时保持较低的滞后性。
KAMA的计算包括以下几个步骤:1. 计算Efficiency Ratio(ER):ER用于衡量价格波动的相对方向和幅度。
它通过当前周期内价格与历史周期价格的差异的平均值与价格的总差异的平均值的比值来确定。
当ER接近1时,价格波动较大;当ER接近0时,价格波动较小。
2. 计算平滑因子(Smoothing Factor):平滑因子取值范围在0到1之间,根据ER和前一周期的平滑因子得到。
如果ER较高,即价格波动较大,平滑因子会相应增加,反之亦然。
3. 计算Current KAMA:根据前一周期的KAMA值和平滑因子计算当前周期的KAMA值。
4. 计算Diff:Diff用于检测价格短期变化的情况。
当价格上涨时,Diff为1;当价格下跌时,Diff为0。
如果价格短期变化很小,Diff取中间值0.55. 计算Filter:Filter用于过滤价格短期变化较大且不稳定的情况。
当价格短期变化较小时,Filter接近0.5;当价格短期变化较大时,Filter接近16. 计算Color:根据Diff和Filter的值,确定KAMA线的颜色。
如果Diff大于Filter,即价格短期变化与长期趋势一致,KAMA线回归上涨,颜色为绿色;如果Diff小于Filter,即价格短期变化与长期趋势相反,KAMA线回归下跌,颜色为红色。
{公称名称: AMA考夫曼自适用型均线}input:N(10,1,60),P1(2,1,60),Q1(30,1,60);DIRECTION:=(CLOSE - REF(CLOSE,N));XX:=ABS((CLOSE - REF(CLOSE,1)));VOLATILITY:=SUM(XX,N);ER:=ABS((DIRECTION / VOLATILITY));FASTC:=(2 / (P1 + 1));SLOWC:=(2 / (30 + 1));SSC:=((ER * (FASTC - SLOWC)) + SLOWC);CONSTANT:=(SSC * SSC);CC:=CLOSE;YY:=(REF(CLOSE,1) + (CONSTANT * (CLOSE - REF(CLOSE,1))));IF DA TACOUNT > N THENDD[N]:=CC[(N + 1)];FOR I=N + 1 to DA TACOUNT DODD[I]:=(DD[(I - 1)] + (CONSTANT[I] * (CC[I] - DD[(I - 1)])));AMA:DD,LINETHICK2,colorFFFF;DIR:=ABS(CLOSE-REF(CLOSE,10));VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),10);ER:=DIR/VIR;CS:=ER*(2/3-2/14)+2/14;CQ:=CS*CS;AMA1:EMA(DMA(CLOSE,CQ),2),COLORGREEN;FIL:=STD(AMA-REF(AMA,1),20);DRAWICON(FILTER(AMA-LLV(AMA,3)>FIL*0.1,10),AMA,1);自适应均线初步学习常见的计算均线的指标是ma(simple moving average) 和ema(exponential moving average),公式如下:SMA = SUM(CLOSE, N)/NEMA = (CLOSE(i)*P)+(EMA(i-1)*(1-P)) or(M*CLOSE(i)+(N-M)*EMA(i-1))/NMA有滞后的特点,因此在ema中对最近的价格给予较大的权重提高对趋势的跟踪效果。
自适应移动平均线(AMA)长期来说,价格会显示一种回归其本来价值的特性,在二维图形上显示一种收敛或者说回归均值的图形。
这似乎也反映了政府金融或利息政策改变所带来的影响。
一个超出市场平均波动周期的趋势则可能是一个好的趋势,一个波动周期如有特别变化的关键变量,则趋势有可能发生改变,在股市上通常表现为量能和价格区间的变化。
以下为Perry J.Kaufman的自适应移动平均系统,资料来源于其著作《Smarter Trading》。
关于移动平均由一个时间周期的价格平均值构成,并以单位时间的价格周期不断计算,加入新的一个单位时间的价格时去掉第一个单位时间的价格,并计算平均值。
一个过去几天的平均值,减少了人为的由消息引起的过激反应的影响。
平均较长的数据周期,给出了较平滑的趋势,其结果经常是长期市场方向的一个很好的代表,也反映了市场运行状况和人们对于利率和政策的预期。
趋势系统趋势计算把价格移动归纳为一个净方向,并假设价格将会继续沿着这个方向运动。
趋势跟踪系统则是对趋势作出反应,而不是对它们进行预期。
噪音一个持续横盘的期的波动水平,可以很方便的用来测量内在噪音。
如果一个趋势是由一个不大于市场内在噪音水平移动所引起的,那么这个趋势就是不可靠的。
自适应当市场沿着一个方向快速移动时,快得移动平均值是最好的。
当市场在横盘的市场中立拉锯时,慢的移动平均值是最好的。
三种价格波动性测量a. 简单地计算价格的净变化,从开始点到结束点。
这倾向于最保守的测量,因为它平滑了从开始到结尾之间发生的任何价格移动。
b. 高-低范围更好地描述了在周期内可能产生的任意极端值。
c. 所有变化总和,它是最概括的测量,因为能识别一个价格移动从高到低的次数。
自适应移动平均值步骤1:价格方向价格方向被表示为整个时间段中的净价格变化。
比如,使用n天的间隔(或n小时):步骤2:波动性波动性是市场噪音的总数量,计算了时间段内价格变化的总和volatility= @ sum( @ abs(price-price[1]),n)步骤3:效率系数(ER)方向移动对噪音之比,成为效率系数EREfficiency_Ratio = direction/volatility步骤4:变换上述系数为趋势速度为了应用于一个指数式移动平均值,比率将被变换为一个平滑系数c,依靠使用下面的公式,每天的均线速度可以简单地用改变平滑系数来改变,成为自适应性的。
考夫曼自适应均线原理考夫曼自适应均线是一种灵活、有效的技术分析工具,它能够根据市场数据的动态变化自适应地调整均线参数和类型。
本文将从数据处理、计算方法、适应性调整、异常值处理、滑动窗口、均线计算和优化策略等方面详细介绍考夫曼自适应均线原理。
1.数据处理考夫曼自适应均线原理在数据处理方面采用了数据预处理和数据挖掘建模的方法。
数据预处理主要包括数据清洗、异常值处理等,以保证数据的准确性和可靠性。
数据挖掘建模则通过建立数据模型,对历史数据进行学习,以便在计算均线时能够更好地反映市场趋势。
2.计算方法考夫曼自适应均线的计算方法基于历史数据的学习、记忆和预测。
它通过学习历史数据中的价格模式,记忆这些模式并预测未来的价格走势。
在计算均线时,它采用了一种独特的加权方式,对近期的价格变动给予更大的权重,以更好地反映市场动态。
3.适应性调整考夫曼自适应均线的适应性调整方法包括均线参数的自适应调整和均线类型的自适应调整。
均线参数的自适应调整是指系统会根据市场情况自动调整均线的周期和计算方法,以适应市场的变化。
均线类型的自适应调整则是系统能够根据不同的市场趋势自动选择适合的均线类型,如简单移动平均线、指数移动平均线等。
4.异常值处理考夫曼自适应均线对异常值的处理方法包括异常值的识别和处理策略。
异常值是指那些明显偏离其他数据点的价格数据,它们可能会对均线的计算产生不良影响。
系统通过设定合理的阈值,自动识别异常值,并在计算均线时采取相应的处理策略,如剔除异常值、使用稳健的移动平均线等,以减小异常值对均线的影响。
5.滑动窗口考夫曼自适应均线中引入了滑动窗口机制,以便在动态市场环境下实时地调整均线参数和类型。
滑动窗口是一种动态的数据处理方法,它通过不断滑动窗口来更新窗口内的数据,并根据新的数据重新计算均线。
这样,系统可以随时根据最新的市场信息调整均线,以适应市场的变化。
6.均线计算考夫曼自适应均线的计算过程包括以下步骤:(1)对历史数据进行预处理和挖掘建模,得到学习样本;(2)使用学习样本中的数据来训练模型,并记忆价格模式;(3)根据当前的市场情况,自适应调整均线的参数和类型;(4)使用滑动窗口机制,实时更新窗口内的数据并重新计算均线;(5)将计算得到的均线作为当前市场的趋势指标,为投资者提供参考。
考夫曼自适应均线最优参数考夫曼自适应均线(KAMA)是一种技术指标,用于确定股票或其他金融资产的趋势。
它的最优参数是指在给定的市场环境下,能够最好地捕捉到价格趋势的参数设置。
KAMA的计算方法是基于考夫曼自适应滤波器(KAMA Filter)。
该滤波器根据市场的波动性自动调整参数,以适应不同的市场条件。
这使得KAMA能够更好地跟踪价格趋势,并减少噪音的干扰。
KAMA的最优参数取决于市场的特征和投资者的交易策略。
一般来说,KAMA的参数包括快速期、慢速期和适应性期。
快速期用于捕捉短期趋势,慢速期用于捕捉长期趋势,适应性期用于调整参数以适应市场的变化。
确定KAMA的最优参数需要考虑以下几个因素:1. 市场的波动性:市场的波动性越大,KAMA的适应性期应该设置得越大,以便更好地适应价格的变化。
相反,如果市场的波动性较小,适应性期可以设置得较小。
2. 交易策略的时间框架:不同的交易策略有不同的时间框架。
如果交易策略是短期交易,快速期应该设置得较小;如果交易策略是长期投资,慢速期应该设置得较大。
3. 历史数据的分析:通过分析历史数据,可以找到KAMA在不同参数设置下的表现。
可以通过回测等方法,比较不同参数设置下的收益率、风险等指标,选择最优的参数。
4. 经验和直觉:经验和直觉在确定KAMA的最优参数时也起着重要的作用。
投资者可以根据自己的经验和直觉,结合市场的特征和交易策略的要求,选择最适合的参数设置。
总之,确定KAMA的最优参数是一个复杂的过程,需要考虑多个因素。
投资者可以通过分析市场的波动性、交易策略的时间框架、历史数据的分析以及经验和直觉,选择最适合自己的参数设置。
同时,投资者还应该注意,KAMA只是一种技术指标,不能单独作为投资决策的依据,应该结合其他指标和分析方法进行综合判断。
考夫曼自适应均线公式
考夫曼自适应均线(KAMA)是一种技术分析指标,它通过自适应调整均线的平滑系数,将均线的灵敏度与市场波动的大小相匹配,从而更准确地反映市场趋势。
KAMA的计算公式如下:
KAMA(n,fsc,ssc)= Y + fsc *(Price-Y)
其中,n是指标的周期长度,fsc是快速平滑系数,ssc是慢速平滑系数,Price 是当前价格,Y是前一个周期的KAMA值。
KAMA的计算过程分为三个步骤:首先计算方向敏感因子(ER),其次计算平滑系数,最后计算KAMA的值。
方向敏感因子(ER)反映了市场趋势的强度和方向。
它的计算公式如下:
ER = |Price - Y| / ATR
其中,Price是当前价格,Y是前一个周期的KAMA值,ATR是平均真实波幅。
根据方向敏感因子(ER)的大小,可以分别计算快速平滑系数fsc和慢速平滑系数ssc。
它们的计算公式如下:
fsc = 2 / (2 + 1) - 2 / (30 + 1) * ER
ssc = 2 / (2 + 1) - 2 / (30 + 1) * ER + 2 / (30 + 1) * (2 / (2 + 1) - 2 / (30 + 1))
KAMA的计算公式中,Y是前一个周期的KAMA值,如果是第一个周期,则可以使用收盘价作为初始值。
KAMA指标的特点是能够自适应市场的波动性,使得指标对于市场的变化更加敏感和准确。
它可以作为判断趋势的工具,也可以与其他技术指标一起使用,增强交易策略的可靠性。
精明的交易者:利用考夫曼自适应均线构建盘整过滤器前言我们常用的移动均线有简单移动均线、加权移动平均线以及指数式移动均线。
我们知道长周期的均线系统是可靠的,但是它有严重的滞后性;短周期的均线系统虽然能快速反映市场的走势,但是难以抵抗市场“噪音”的干扰。
为了避免噪音产生的虚假信号,同时又想消除某些长线趋势中的滞后性,考夫曼提出了一种“自适应”的均线系统——考夫曼自适应移动均线系统(简称AMA)。
关于自适应均线的传统用法,建议大家可以去参考佩里·J·考夫曼的著作《精明交易者》!这里,我不会详述,接下来将分享其高级用法!亮点分析•考夫曼自适应均线具有自适应调节作用,能够分辨盘整和趋势行情,方向一目了然•搭建考夫曼自适应均线,在小级别自适应调节大级别周期•利用考夫曼自适应均线的自我特征,建立盘整过滤器计算方法关于AMA的计算方法,这里不过于详细讲解,想了解的朋友,可以百度百科查找,下图是跨期AMA的计算方法。
利用数据切分,可以实现单图表调用大周期的数据,而不需要开多个图表去调用数据,这样能提高数据的综合利用。
比如我们想在5分钟调取45分钟的数据,通过以下方法就能实现.AMAk_AdaptiveMovAvg在实际运用中,我们只需要调整TimeFrame这个值,就能取到任何一个我们想要的跨周期值,所以在跨期的运用,我们就可以设计真正的多周期共振,比如可以同时调取1小时,日线,周线的AMA,当三个周期的斜率共振为多头的时候,我们可以认定为多头趋势。
构建滤波器接下来,我们就要重点讲述如何通过自适应均线构建盘整滤波器,当然我们平常算取的滤波器都是在当前周期使用,通过跨期,我们就可以用小级别调取大级别的滤波器,这样可以更有效的过滤盘整行情。
逻辑思想•首先我们要调取跨期自适应均线的当前值AMA和前一个值AMA1,取当前值与前一个值的差dv•算取20根K线的dv的标准差,在这个基础上我们乘以一个系数RF,RF的目的主要用于不同品种系数的调整通过上述算法,我们得到一个FILTER.我们可以发现在行情急转,或者出现波动加大的时候,FILTER值会出现加大。
{考夫曼自适应均线}input: n(9,1,60), p(2,1,60), Q(30,1,60);Direction:=CLOSE - REF( CLOSE , N ) ;XX:=ABS( CLOSE - REF( CLOSE , 1 ) ) ;V olatility:=SUM( XX , N ) ;ER:=ABS( Direction / V olatility ) ;FastC:= 2 / ( p + 1 ) ;SlowC:= 2 / ( q + 1 ) ;SSC:=ER * ( FastC - SlowC ) + SlowC ;Constant :SSC * SSC , Linethick0 ;YY:=REF( Close , 1 ) + Constant * ( CLOSE - REF( Close , 1 ) ) ;AA:=IF( SUM( 1 , 0 )= N + 1 , YY , 0 ) ;BB:=BarsLast( AA>0 ) ;DD:=REF( C , BB ) ;CC:CLOSE , Linethick0 ;for m=N + 2 to DA TACOUNT DODD[m]:=DD[m - 1] + Constant[m] * ( CC[m] - DD[m - 1] );AMA:DD;T1:=DD>REF(DD,1);T3:=NOT(T1) AND abs(DD-ref(DD,1))/DD*10000<n;T2:=NOT(T1 OR T3);PARTLINE(T1,DD),COLORRED,LINETHICK2;PARTLINE(T2,DD),COLORGREEN,LINETHICK2;PARTLINE(T3,DD),COLORBLUE,LINETHICK2;DRAWTEXT(ISLASTBAR AND T1,DD,'持\n股'),COLORRED,SHIFT1; DRAWTEXT(ISLASTBAR AND T2,DD,'持\n币'),COLORGREEN,SHIFT1; DRAWTEXT(ISLASTBAR AND T3,DD,'观\n望'),COLORBLUE,SHIFT1;考夫曼自适应变色均线系统N:1 100 10M:1 100 30通达信主图源码(日线及以上周期)DIR1:=ABS(CLOSE-REF(CLOSE,N));VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),N);ER1:=DIR1/VIR1;CS1:=ER1*(0.8-2/8)+2/8;CQ1:=CS1*CS1;AMA1:EMA(DMA(CLOSE,CQ1),2) ,COLORWHITE;DIR2:=ABS(CLOSE-REF(CLOSE,M));VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),M);ER2:=DIR2/VIR2;CS2:=ER2*(0.8-2/24)+2/24;CQ2:=CS2*CS2;AMA2:EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;AMA3:IF(AMA2/REF(AMA2,1)>0.997,AMA2,DRAWNULL),COLORBLUE,LINETHICK2; AMA4:IF(AMA2/REF(AMA2,1)>1.001,AMA2,DRAWNULL),COLORRED,LINETHICK2;博易大师主图源码(日线及以上周期)DIR1:=ABS(CLOSE-REF(CLOSE,N));VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),N);ER1:=DIR1/VIR1;CS1:=ER1*(0.8-2/8)+2/8;CQ1:=CS1*CS1;AMA1:EMA(DMA(CLOSE,CQ1),2) ,COLORWHITE;DIR2:=ABS(CLOSE-REF(CLOSE,M));VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),M);ER2:=DIR2/VIR2;CS2:=ER2*(0.8-2/24)+2/24;CQ2:=CS2*CS2;AMA2:EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;PARTLINE(AMA2/REF(AMA2,1)>0.997,AMA2),COLORBLUE,LINETHICK2; PARTLINE(AMA2/REF(AMA2,1)>1.001,AMA2),COLORRED,LINETHICK2;考夫曼自适应变色均线系统(续)通达信主图源码(日线及以上周期)DIR1:=ABS(CLOSE-REF(CLOSE,5));VIR1:=SUM(ABS(CLOSE-REF(CLOSE,1)),5);ER1:=DIR1/VIR1;CS1:=ER1*(0.8-2/8)+2/8;CQ1:=CS1*CS1;AMA1:EMA(DMA(CLOSE,CQ1),2) ,COLORWHITE;DIR2:=ABS(CLOSE-REF(CLOSE,10));VIR2:=SUM(ABS(CLOSE-REF(CLOSE,1)),10);ER2:=DIR2/VIR2;CS2:=ER2*(0.8-2/24)+2/24;CQ2:=CS2*CS2;AMA2:EMA(DMA(CLOSE,CQ2),2),COLORGREEN,LINETHICK2;AMA3:IF(AMA2/REF(AMA2,1)>0.997,AMA2,DRAWNULL),COLORBLUE,LINETHICK2;AMA4:IF(AMA2/REF(AMA2,1)>1.001,AMA2,DRAWNULL),COLORRED,LINETHICK2;考夫曼自适应变色均线系统(续1)我们跟踪股票的走势,必然离不开均线作为参考。
均线系统是我们观察股票走势的基础。
短期均线不能很好地屏蔽市场的噪声,往往产生虚假的进场信号;长期均线在判断趋势上一般比较准确,但是长期均线有着严重滞后的问题。
一个股票的10日内的突发性的上涨,如果用200日均线去观察,几乎看不出变化。
均线系统存在的问题,让我们每一个股市的参与者感到左右为难。
寻找最佳的移动平均值就成了大家乐此不疲的一种日常活动。
由于每次市场的波动,趋势的速度都是不同的,所以在每一波的波动中,采用多少周期的移动平均值才能最好地反映趋势的方向呢?有一个流行的解决方法,就是针对某一只股票测试其历史数据的最佳移动平均值。
并且根据最近的、最符合其趋势的移动平均值去进行操作。
但是历史数据只代表已经走过的趋势,我们不可能回到过去进行交易。
(突然想到:混沌理论有自相似说法,移动平均说的是过去,图形可能会重复(文化,参与者,与筹码是可能的因素),移动平均+图形如何?)通过分析我们使用的移动平均线,可以得出如下的结论:当价格沿一个方向快速移动时,短期的移动平均线是最好的。
当价格在横盘的过程中,长期移动平均线是最好的。
我们理想中的移动平均线是什么样子的呢?当价格无目标地移动时,它的反映会比较慢,像长期移动平均线;当价格有了快速变化的时候,它又能很快地跟上价格的走势,像短期移动平均线。
这样的移动平均线存在吗?当然存在!很多国外的股票技术分析书籍中都提到过这样的均线,把这种自适应的均线系统作为计算机自动交易系统中趋势判断最主要的手段。
最近在**的“黄金股道”的软件中,也见到过类似的均线,但是做了公式的加密。
其实这样的自适应均线每一个股票的软件都可以做到,并且非常简单。
附图是我做的自适应均线。
当自适应均线横向移动的时候,表明市场处于横盘过程中;只有在自适应均线向上移动的时候,才是我们进场操作的时机。
要构建自适应的均线,我们就必须先确定股票价格的趋势和速度。
当股票价格持续上涨或持续下跌的时候,自适应均线就应该采用短周期均线的平滑系数;而当市场处于横盘波动过程中的时候,自适应均线就应该采用长周期的平滑系数。
如果采用指数平滑移动平均线的平滑系数,最短周期采用2日EMA,长周期采用30日EMA。
那么自适应均线应该在2日-30日EMA之间平滑过渡。
还有一个问题:如何测量价格变动的速率。
采用的方法是,在一定的周期内,计算每个周期价格的变动的累加,用整个周期的总体价格变动除以每个周期价格变动的累加,我们采用这个数字作为价格变化的速率。
如果股票持续上涨或下跌,那么变动的速率就是1;如果股票在一定周期内涨跌的幅度为0,那么价格的变动速率就是0。
变动速率为1,对应的最快速的均线-2日的EMA;变动速率为0 ,则对应最慢速的均线-30日EMA。
以通达信软件的公式为例(其他软件也可以用):每个周期价格变动的累加:=sum(abs(close-ref(close,1)),n);整个周期价格的总体变动:=abs(close-ref(close,n));变动速率:=整个周期价格的总体变动/每个周期价格变动的累加;在本文中,一般采用周期n=10。
•使用10周期去指定一个从非常慢到非常快的趋势;•在10周期内当价格方向不明确的时候,自适应均线应该是横向移动;上面两部分已经把自适应均线系统的原理做了比较粗略的介绍。
其实自适应均线系统是一个很简单的指标公式,似乎没有必要很罗唆地说那么多原理性的东西。
现在很多人喜欢“黑匣子”式的指标公式,只要系统能够发出买卖信号就可以了。
但是“黑匣子”并不告诉你买卖的理由,你也不知道市场到底因为发生了些什么“黑匣子”才会发出“买”和“卖”的指令。
如果自适应均线系统的周期n=10,那么:1。
自适应均线系统横向移动时,系统告诉你:最近的10个周期中,价格上涨的幅度和下跌的幅度基本相当,(是幅度,而不是周期数);2。
自适应均线系统向上翘起时,系统告诉你:最近10个周期中,价格上涨的幅度要大于下跌的幅度,价格逐渐进入强势的状态。
3。
自适应均线系统向下垂时,系统告诉你的情形和2的情形正好相反。
有关原理性的东西就说到这里了,下面给出自适应均线系统的指标公式,此公式在通达信、大智慧、飞狐软件中均调试通过:{主图公式,或者附图叠加K线公式}{n=10}DIR:=ABS(CLOSE-REF(CLOSE,n));VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),n);ER:=DIR/VIR;CS:=ER*(2/3-2/31)+2/31;CQ:=CS*CS;AMA:DMA(CLOSE,CQ),COLORGREEN;AMA1:IF(AMA>REF(AMA,1),AMA,DRAWNULL),COLORRED;这样做出的自适应均线已经可以使用,但是如果对自适应均线做一次2周期的EMA,也是可以接受的,代码如下:{主图公式,或者附图叠加K线公式}{n=10}DIR:=ABS(CLOSE-REF(CLOSE,n));VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),n);ER:=DIR/VIR;CS:=ER*(2/3-2/31)+2/31;CQ:=CS*CS;AMA:EMA(DMA(CLOSE,CQ),2),COLORGREEN;AMA1:IF(AMA>REF(AMA,1),AMA,DRAWNULL),COLORRED,LINETHICK2; 一、考夫曼的做法:自适应均线系统的交易法则,根据考夫曼《精明交易者》一书中的介绍,其基本交易法则为:1.当自适应移动平均值向上拐头时,买入;2.当自适应移动平均值向下拐头时,卖出。