二级市场交易至今,充斥着各种各样的交易方法,其中如何抄底逃顶一直是许多交易者孜孜以求的交易方法。本篇我们就优宽量化实现一个筑底ZDZB策略。
期货不像股票,它不会一直下跌直到退市,如果把周期拉的足够大,就会发现其价格根据一定的周期上下波动,即使在小周期内也有顶底之分。所以站在投机的角度来说,期货市场比股票市场更加纯粹。关于顶底形态的演化,已经派生了很多很多类别。
双重顶底 双重顶底又叫M顶W底,这种形态在K线的价格走势中经常出现。双顶是由2个相近的高点构成,其形态就像英文字母M,双底是由2个相近的低点构成,其形态就像英文字母W。 如上图中的双重底所示,当价格持续下跌到第1个低点,又反弹至中间相对高低,然后价格又下跌至第2个低点,这两个低点几乎在同一个水平价位。进而形成了一个双重底形态。
头肩顶底 头肩顶底是一个典型的趋势反转形态,头肩顶一般出现在上涨行情的尾声,头肩底一般出现在下跌行情的尾声。在图形中是以左肩、顶底、右肩组成。如下图所示:
从上图中可以看到,头肩底包含三个连续的波谷,其中中间的波峰就是这波趋势的最高位,中间波峰的左边和右边即是左肩和右肩,左右肩处于相对较低的价位,且他们的价位大致在同一个水平。连接左肩和右肩的波谷所得的线段就是颈线,在头肩底中颈线具有支持的作用。
三重顶底 三重顶底是头肩顶底的延伸,也是双底W的复合形态,虽然三重顶底形态出现的概率较小,但却比前两者有更高的成功率,一旦该形态形成,很大程度能预测未来的价格走势。 上图是一个三重底,在这段价格走势中,三个底部大致都在同一个价位水平,形成了一个强大的支撑区域,除非价格有重大突破,否则很难跌到三重底。实际上关于顶底转折的形态还有很多,比如:底部三角、收敛扩散三角、菱形、旗形、圆弧形等等。
筑底指标简称ZDZB,它是一种辅助逢低买入的交易方法。我们经常会听到突破买入这个词,在趋势行情中这确实是一种比较好的交易方法,但是这种方法有很大的局限性,特别是在震荡行情中,很容易最高套牢,试错成本很高。那么就有人想到了一种逢低买入的方法,这种方法的好处是,即便买错了,止损的成本也很小。那么筑底指标就给我们指明了方向。
筑底指标的计算方法很简单,用过去125天上涨的周期作为分子用过去125天下跌的周期作为分母,计算出来的数字再取N天的移动平均值。
优宽量化MY语言公式如下:
COUNT(CLOSE>=REF(CLOSE,1),N1)/COUNT(CLOSE<REF(CLOSE,1),N1)
理论上涨多跌少就是多头,跌多涨少就是空头。那么如果该指标在1以上就是涨多跌少的多头市场,反之如果该指标在1以下就是跌多涨少的空头。通过这样的比较,就能够以历史数据为参考,来给当前市场定位。
如果将筑底指标独立使用,会因为信号过于敏感,导致频繁开平仓现象,所以为了解决这个问题,需要对筑底指标再次平均做平滑处理。当然也可以使用不同周期对筑底指标再次平均。从而产生两根移动均线,最后可以通过这两根均线的交叉情况来产生开平仓信号。
回测配置 绩效报告 资金曲线
(*backtest start: 2020-01-01 00:00:00 end: 2020-07-04 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_CTP","currency":"FUTURES"}] *) //N1周期内CLOSE>=REF(CLOSE,1)的次数与N1周期内CLOSE<REF(CLOSE,1)的次数的比值 A:=COUNT(CLOSE>=REF(CLOSE,1),N1)/COUNT(CLOSE<REF(CLOSE,1),N1); B:MA(A,N2);//N2周期内的A的简单移动平均; D:MA(A,N3);//N3周期内的A的简单移动平均; CROSS(B,D),BPK;//B上穿D,买平开; CROSS(D,B),SPK;//D下穿B,卖平开; AUTOFILTER;template: strategy.tpl:40:21: executing "strategy.tpl" at <.api.GetStrategyListByName>: wrong number of args for GetStrategyListByName: want 7 got 6