国泰君安:发现价格走势规律之基于MACD分段研究
本文转自网络。来源:国泰君安研究报告。
本文介绍了基于MACD分解历史行情的方案。
1.基于MACD的DEA指标价格分段简介
量化投资策略的构建离不开寻找价格走势规律,如何发现价格走势规律是一个很有意义的研究方向。一般而言,有两个路径:一是基于成熟的量化模型来分析市场,另一个是直接研究价格本身。这篇研究报告则是沿着第二个路径。
到目前为止,我们认为发现价格规律最有效的途径是对价格走势进行分解,或者说对价格进行分段。任何投资交易都是基于低买高卖,如果可以做空,则高点做空低点买回,所以投资交易成功的关键在于把握价格走势的拐点,把握的波段级别越小,交易的回报率就越高,但对资金的容纳量也就越低。对已有价格走势进行分段之后,通过分析各个时间级别的价格拐点特征,可以提高预判当下拐点出现的择时能力。
价格走势被分解成上涨与下跌交替出现的波段结构的意义:
- 发现价格运行的规律,构造量化交易策略;
- 根据资金级别选择分解级别,进而决定操作级别;
- 对价格的上涨和下跌,及拐点的顶与底等概念有了清晰严格的数学描述。
价格分段有很多种方法,没有哪一种方法是最优的,不同分段规则的存在意义在于:选取某种分段使得当下走势的不确定性降到最低。本篇报告我们主要介绍基于MACD的DEA指标分段方法。这个方法基于以下两个规则进行分段。
基于MACD的DEA指标波段划分规则:
- 波段低点对应MACD的DEA指标<0,波段顶点对应MACD的 DEA指标>0;
- 每个波段中价格的最大值和最小值只出现在波段的起点或终点。
图1:基于MACD之DEA指标分段示意图
两个规则中,第一个规则是对波段的顶部拐点和底部拐点定性,这个规则并不苛刻,只要顶点和低点对应的DEA指标大于零和小于零。第二个规则确保一个完成的波段中,不能出现价格大于顶点或者价格小于低点的情况。从投资交易角度,第二个规则符合波段交易的基本要求,买在低点卖在高点,如果可以融券做空的话,则可以卖在高点买在低点。
分段的规则很简单,只要严格按照这个规则对已有的价格进行分段,任何周期(1分钟、5分钟、日线、周线等等)资产价格都可以被唯一分解为上涨和下跌交替出现的波段。有了这些已有的上涨和下跌波段信息,一些价格走势规律就会被揭示。
虽然基于DEA指标分段规则很简单,但程序化实现需要考虑细节很多。需要定义“可疑拐点”、“异常波段”、“可疑拐点删除算法”等概念,从而保证用程序化可以完美实现价格分段。
MACD是技术分析领域一个非常重要且应用广泛的指标,在这篇报告中,使用了MACD最常用到的参数MACD(12,26,9),没有设置其他参数。有一点特别需要指出的是,参数设置不是一个最优化问题,参数一旦固定好后,基于此参数进行分解,在此分解基础上寻找价格走势规律。价格分段的本质并不是寻找价格走势存在某种固化模式,而是在不同的分解视角下,对未来走势的可预测性达到最大化。
实际图形中有很多例子,看上去是一段,但如果不同时符合给定的两个规则,也不能形成一个分段,如下图所示,上涨行情出现一个明显回调,但从MACD的DEA指标可以看出,其回调波段的低点对应的DEA指标仍然位于零轴之上,因此这一段从分段规则上不构成一段。
图2:回调不构成一段的情况
实际中有些情况,一个波段从持续时间或者幅度上并不显著,但只要满足DEA指标的分段规则,也必须构成一个波段。如下图,1到2,带有一个跳空缺口,从交易时间上,比其他波段持续时间短,但其DEA指标从零轴上方穿到下方,而且整个波段的高低点分别对应DEA大于零和DEA小于零。所以按照分段规则,1-2是一个波段。
图3:构成一段的例子(1-2)
2.MACD指标简介
MACD(MovingAverageConvergenceDivergence)称为指数平滑移动平均线,是技术分析领域应用广泛的指标之一,包含了三个参数,常用的设置有(12,26,9)。MACD是计算两条不同速度(长期与中期)的指数平滑移动平均线(EMA)的差离状况来作为研判行情的基础。DIF为12周期均值与26周期均值之差,DEA为DIF的9周期均值,而MACD则为DIF与DEA差值的两倍。
在传统技术分析领域,MACD常被用来做价格与指标背离进行择时,譬如价格越涨越高,而MACD的黄白线越走越低逼近零轴,这时候往往价格面临调整。MACD指标还有很多实战用法,但我们认为这些用法都难以摆脱固化操作模式范畴,实际应用起来容易出现似是而非的结果。
图4:EMA均线
图5:MACD的DIF与DEA指标
这篇报告中,我们主要运用了DEA指标在价格上涨和下跌的过程中其穿越零轴这个特征对价格进行分段,没有使用DIF的原因是DIF走势稳定性较DEA差,价格上一些小的扰动会引起DIF在零轴上下穿越,而在这一点上DEA稳定得多。
3.基于MACD的DEA指标分段拐点识别算法
为了能够程序化实现MACD之DEA指标分段算法,需要先定义两个重要概念:可疑底部拐点和可疑顶部拐点。
可疑底部拐点满足四个条件:
(1)DEA<0;
(2)向右遍历,直到找到满足两个条件的极大值点RT(①DEA>0;②这个极大值点是底点到此极大值点区间的最大值);
(3)向左遍历,直到找到满足两个条件的极大值点LT(①DEA>0;②这个极大值点是底点到此极大值点区间的最大值);
(4)那么位于LT与RT之间的最小值点就是可疑底部拐点。
图6:可疑底部拐点定义示意图
可疑顶部拐点满足四个条件:
(1)DEA>0;
(2)向右遍历,直到找到满足两个条件的极小值点RB(①DEA<0;②这个极小值点是顶点到此极小值点区间的最小值);
(3)向左遍历,直到找到满足两个条件的极小值点LB(①DEA<0;②这个极小值点是顶点到此极小值点区间的最小值);
(4)那么位于LB与RB之间的最大值点就是可疑顶部拐点。
图7:可疑顶部拐点定义示意图
4.异常波段处理(略)
5.当下走势确认
价格分段的目的一方面是寻找价格走势的规律,另一方面则是对当下走势的可能发展方向、幅度、买卖点做出判断,以制定相应的操作策略。而当下一个波段的发展包含两个时点:第一、形成时点;第二、结束时点。一个新波段的形成时点正是前一个波段的结束时点,反之亦然,前一个波段的结束时点也是新波段的形成时点,二者互为因果。
5.1.新波段形成情况分类讨论
当MACD的DEA指标穿越零轴时,当下波段可能正好形成,也可能还没有形成,因此最新波段的形成时点包含两种情况:一、MACD的DEA指标穿越零轴时,对应的波段正好处于当前波段的最大值点(DEA向上穿越零轴)或者最小值点(DEA向下穿越零轴),那么这个波段就在当下形成;二、MACD的DEA指标穿越零轴时,对应波段的当前价格已经不是当前波段的最大值点(DEA向上穿越零轴)或者最小值点(DEA向下穿越零轴),但在之后继续创出波段的新高或者新低,直到那时才能确认新波段形成。我们以上涨波段为例,分析两种情况:
第一种情况:如下图可以看到,由B点开始的上涨行情,MACD的DEA指标从零轴下方向上延伸,在穿越零轴的时点,以B为起始位置的上涨行情到达C点,创反弹以来的最高点,这种情形下,A到B的下跌波段被破坏,即A到B的下跌行情宣告终结在B点,AB下跌波段完成,B到C的上涨波段形成。
图21:波段当下形成:第一种情形
第二种情形:如下图可以看到,由B点开始的上涨行情,MACD的DEA指标从零轴下方向上延伸,穿越零轴的时点为C点之后的第一根阴线,这个位置已经不是以B为起始位置的上涨行情以来的新高,而C点对应的DEA指标在零轴之下,因此B到C点的上涨波段尚未形成。从C点出现小的回调后,继续上涨在D点创出反弹以来的新高,可以看到这时候DEA指标仍在零轴之上。在这个时点,A到B的下跌波段被破坏,即A到B的下跌行情宣告终结在B点,AB下跌波段完成,B到D的上涨波段形成。
图22:波段当下形成:第二种情形
5.2.旧波段结束情形讨论
以一个下跌行情为例,出现反弹后,当对应的MACD的DEA指标第一次自下而上穿越零轴时,是不是可以立刻判断之前的下跌行情宣告结束,新的上涨波段形成呢?根据前面讨论可知答案是否定的。从底部拐点的定义不难知道,反弹波段对应的DEA指标第一次从下向上穿越零轴时,如果当下的价格不是反弹波段的最大值,那么下跌波段是否被结束是不能确定的。
以下图举例说明,A到B是一段下跌行情,从B点开始出现反弹,反弹到C点位置,虽然C点为反弹行情的最高点,但其DEA<0,直到价格到达黑点标注位置,DEA指标才首次从下而上触到零轴,这种情况下,A到B的下跌行情是否完成是不能确认的,在当下我们把B点标记为可能底部拐点,意味着B点可能是真正的底部拐点,也可能不是。当然在这个例子中,最后D点比B点的位置低,同时D满足底部拐点的定义,所以最终D点成为底部拐点。
图23:波段当下被破坏、可疑底部拐点确认
6.基于 MACD 分段应用举例(略)
7.结论
这篇研究报告并不是阐释如何用MACD指标进行择时,而是基于MACD这个技术指标对价格走势进行同级别分解。这种分解的思想不仅应用在价格的日度数据上,可以应用于任何时间周期的价格序列,如1分钟、5分钟、30分钟、日线、周线、月线乃至年线,这样的分解的优点在于联立不同级别的走势对当下走势进行分析判断。
以上提到的择时都是基于不同周期价格分段的统计规律,并不是任何时点对市场走势都能准确把握,比如如果日线上一段上涨或者下跌在30分钟K线图出现了五段,这时候我们就比较难以判断30分钟图上最后是走出7段还是结束为5段。对于这种情况,仅仅基于MACD分段的统计规律是不够的,还需要深入研究价格的动力学部分。