八款知名加码对冲EA策略评析

在投资领域,加码对冲策略常引发讨论。有人认为这类方法风险较高,可能带来较大资金回撤,因为它与顺势、轻仓、止损的经典理念相悖。然而,仍有不少投资者对此抱有浓厚兴趣,包括初学者和技术爱好者。随着讨论增多,这类策略逐渐进入公众视野。

10Point3

较早的加码对冲策略可追溯到一款名为10Point3的自动化程序。它在2006年8月出现于外汇论坛,至今已积累大量讨论,成为热门话题。该程序的原始版本代码简洁,是一种单向加码策略,即不同时进行买卖开仓。其加仓规则为:若最大加仓层数设为12层以下,则翻倍加仓;若设为12层以上,则加仓数为前一订单的1.5倍。它内置MACD指标判断方向,当14期MACD当前柱大于前一柱时,开仓方向为多;反之则为空。该判断仅适用于第一笔订单,一旦开仓后,将按同一方向持续加仓,直至全部平仓。虽然这是一款初级形态的策略,但仍有几点可取之处:

(1)设置了反向条件参数,可人为改变开仓方向。当参数设为1时,原本做多的方向变为做空,反之亦然,这同样仅适用于第一笔订单;

(2)设置了账户保护功能,当保护参数开启后,可以设定订单保护范围,超过范围可对最后一笔订单单独平仓(但回测显示该功能似乎未充分发挥作用);

(3)可为每笔订单设定止损,虽然通常这种设置难以实现盈利,但避免了风险失控的问题。

10Point3对加码对冲策略起到了一定的引领和推动作用,许多人基于此进行修改和增强,衍生出多种变体。

Swb Grid

与10Point3相似的是Swb Grid。以4.1版本为例,它同样是一种单向加码策略,向一个方向逆势加仓,在达到利润目标后全部订单同时平仓。与10Point3明显不同的是,10Point3使用MACD作为首单过滤指标,选择顺势方向入场,入场后价格逆势再用加码策略解套;而Swb Grid首单过滤指标使用布林带、RSI及随机指标,主动选择逆势方向入场。入场后,按设定距离逆势加仓,不再使用过滤指标,否则加仓距离会被放大,错过许多宝贵的回调平仓机会。Swb Grid可以设置加仓倍数,默认为2;也可以选择固定加仓数量。开仓时每笔订单可设置止损和止盈;若选择隐身模式开仓,则以市价单模式开仓;若选择非隐身模式,则一次性将全部层级内的订单以限价单形式开出。同时,鉴于周五开仓面临持仓过周末的风险,该策略还设置了“星期五开仓限制”;另外,还设置了“单日盈利限制”,实现单日盈利目标后不再开仓。

Blessing

Blessing致力于对传统加码策略进行突破。从其2.5版本中,可以发现几个方向:(1)实现资金分散策略。Blessing意识到将全部资金运用于单一货币对的风险,设置将资金分成部分管理,一个货币对可获得设定的一份资金。例如,若账户资金为1万美元,将Portion设为5,则管理资金限定为2000美元,以此为基础计算资金管理方式,风险似乎减轻;(2)自动计算仓位,使用资金管理设置为真时,程序会根据分配资金计算开仓手数;(3)自动计算网格距离,以ATR值为基础,默认设置为日线图21期ATR值;(4)自动判断市场方向与人工强制方向相结合,当相关参数设为真时,可用均线判断市场走势,决定首单开仓方向;当设为假时,可人工强制方向,包括做多、做空或多空皆可,默认值为多空皆可。(5)长短网格相结合。Blessing似乎看到了传统短线网格为主的策略虽然解套快,但加仓速度过快、逆势硬扛距离太短的问题,尝试结合中长线。这可以从默认参数看出:将网格分成三个级别,每个级别设置最大订单数量、网格距离和止盈点数。第一级别网格距离25点,止盈50点,订单数量4;第二级别网格距离50点,止盈100点,订单数量4;第三级别网格距离100点,止盈150点,订单数量为总数减去前两级。第一级别为短线网格,若未全部平仓,可能意味着市场出现更长趋势,订单进入第二级别,以更大网格距离等待回调,可视为中线网格;若第二级别仍未盈利平仓,则进入第三级别,等待更大回调,可视为长线网格。不过,将短线浮亏带入长线,账户整体浮亏程度可能增加。(6)运用远距离止损参数,以防断电、断网等导致市场大幅波动无法及时止损。

Blessing到了3.0以上版本后,源代码几乎完全改变,复杂程度大增,但依然沿用2代的开发思路。以3.8版本为例,仍坚持资金分配、长中短线结合、人工设置方向等策略。3代明显的改进包括:(1)舒适详尽的界面显示,交易信息清晰;(2)更多过滤设置,可选择单独或合并使用MA、CCI、布林带-随机指标作为首单入场的过滤器;(3)多货币对冲功能,允许在浮亏或开仓数量达到一定程度后,选择其他货币对,当相关性值达到设定水平时,交易该货币对,达到风险对冲目的;(4)去除最早的订单,减少账户浮亏;同时,可将平仓产生的损失点数加在后面订单的利润目标上,弥补损失;(5)使用提前平仓功能,对开单时间过长或订单过多的情况,通过减少盈利目标使其早日平仓。(6)更丰富的智能网格计算功能,除沿用ATR值自动计算外,还采用RSI值与RSI均线值作为过滤的智能网格设置。此外,Blessing 3还增加了多种平台适用性功能,使其适用于不同平台。然而,由于功能庞杂,掌握使用Blessing 3成为一件高难度的事情。

OM_2Way

这款策略值得关注的并非其影响力,而是在策略上有创新。它也属于一种“单向度”的加码策略,其首单开仓位置过滤器为:当前时间框架下离700期均线60点位置(默认值,可人工设置)。若在700期均线下方60点,则做多;若在上方60点,则做空。该过滤器用意明显:在偏离均线较远时,价格回调几率更大,逆势行走距离较短,从而使回调盈利概率增大,风险减小。这算不上独到之处。该策略采用了“部分平仓”技巧,即将部分盈利单与部分亏损单对冲,获取少许利润,而非等待价格回调至账户整体盈利时全部平仓。这种策略在以往加码策略中较少见,是其新颖之处。部分平仓技巧可以抓住市场最小回调机会来减轻仓位、降低风险;当然,也可能操之过急,失去全部平仓机会,为将来留下隐患。但总体上,这种技巧会控制浮亏更好,承受市场风险能力更强。

OM_2Way在部分平仓技巧中,一般用已盈利的一两个订单,去对冲亏损最多的订单,对冲后利润即为一次交易盈利。比起全部平仓策略,这会增加开仓和交易次数,盈利速度可能提高。值得注意的是,OM_2Way确定下一订单仓位不是从起始仓位开始计算,而是以“最后一个订单”的仓位,加上随订单数量增加的持仓量来计算,这样可能导致,尽管盘面订单数量不多,但由于“最后一个订单”仓位较大,账户总体持仓量偏大。

BK's Grid EA Hybrid

这款策略值得关注,因为它改变了过去加码策略“单向度”的做法,发展出“双向度”的加码策略。所谓“双向度”,就是多空同时开仓,各自按设定的加码策略开仓、平仓,或根据整体策略交叉平仓或全部平仓。双向度加码策略最大的优点是盈利速度大大加强,通过账户余额快速增长来对冲和降低风险。Hybrid实行做多与做空分别平仓,在下单后,分别计算多单和空单的平均价格,再加上设定的利润目标,通过同时止盈的方式实现多单全部平仓或空单全部平仓。

此外,Hybrid的仓位计算及网格距离计算也与一般加码策略有很大不同。网格距离并非完全固定的人工设置,也不是基于指标的自动计算,而是在计算中融入持仓总量因素:当持仓总量增加时,网格密度会缩小,以尽可能减小平仓所需的回调距离;在计算下一订单仓位时,又融入网格距离因素,即设定的“最小网格距离”越大,仓位递增速度越小。这种“距离与仓位”交融的策略在一般策略中较少见,或许这是其被称为“混血”的原因。但这种策略给使用设置及变换带来一定难度,必须在理解源代码基础上,通过反复回测检验,才能找到合适参数。

PipMaker

PipMaker堪称“双向度”策略的佼佼者,不过,这仅针对15.0以前版本。从15.0以后,由于改编者与原作者并非同一人,改编后的PipMaker交易策略发生重大变化,从“双向度”加码策略变回“单向度”,甚至成了一款剥头皮策略。因此,我们仅以10.0版本为例探讨其策略。

PipMaker 10.0与OM_2Way一样,坚持“部分平仓”理念,让盈利单去对冲最远端亏损单,而不用账户“全部平仓”。与Hybrid相比,它除了具备多空“分别平仓”功能,还具备了多空“交叉平仓”功能,进一步深化了策略。简单说,其策略是:根据设置同时做多与做空,以多空订单组成的网格中心线为界,当价格在中心线以上时,市场被视为上升趋势,以中心线以下最底端订单为对冲目标(多数为亏损卖单,有时是盈利买单),用已盈利买单或卖单与其对冲,获取目标利润;当价格在中心线以下时,市场被视为下降趋势,以中心线以上最顶端订单为对冲目标(多数为亏损买单,有时是盈利卖单),用已盈利买单或卖单与其对冲,获取目标利润。

PipMaker的策略实际上发展出四种对冲平仓方式:多(亏)-多(盈)对冲,空(亏)-空(盈)对冲,多(亏)-空(盈)对冲,空(亏)-多(盈)对冲。也就是说,当一个订单走错方向时,除了可以在市场回调时被同向订单“挽救”以外,还可以在市场继续向前时被反向订单“挽救”。这样一来,账户整体风险必然大大下降。

实际检测结果也是如此。PipMaker开出的多空订单就像会移动的网格,随价格变动不断变动边界。这样,即使趋势行情来临,价格走出上千点,PipMaker也不会拉出千点网格坐以待毙,而是不断平掉部分反向订单,追随价格前进。当然,最终效果取决于趋势强弱程度和参数设置。如果趋势太猛或参数不当,反向订单平仓速度跟不上,“套牢”程度也会加深。

凡事有利必有弊。PipMaker的交叉平仓策略,在市场小幅震荡时可谓如鱼得水;在市场大趋势出现时,虽因浮亏缓慢而不会对“暴仓”倍感恐惧,但随着“套牢”程度加深,PipMaker会明显减少开仓和平仓获利机会,盈利能力下降。而且,“解套”不如一般策略来得干净利落,要一单单解掉套牢单,往往需要市场多次反复震荡。或许因为这个原因,后来的改编者干脆将其核心策略删改,增加了一些“过滤器”设置,如MA、CCI、鱼类指标、ARSI等,用作开仓过滤,把一款以“平仓策略”见长的策略,变成了一款以“开仓策略”多样化的“大路货”,令人遗憾。

ForexHacked

谁会想到曾被“人人喊打”的加码对冲策略还会有商业市场?ForexHacked向人们证实了这一点:加码策略绝不是小范围交流的私人空间,它有着广阔的大众市场。作为商业软件,以该策略为核心的自动化程序出现或许有更深刻背景:市场环境变得越来越区间震荡,传统交易理念越来越难以适应。以2.3版本为例,作为一款双向度策略,看不出其与Hybrid有本质区别,但它的距离、仓位、盈利目标设置比Hybrid清晰。ForexHacked还设置了时间过滤器,这也是商业软件的普遍做法,用以选择有利交易时间,排除不利时间,降低风险;此外,它还可以自行设置加码启动层数,在未达到启动层数以前,订单都使用设定初始仓位,不顺次加仓,待达到启动层数后再开始加仓,这可在一定程度上延展逆势前行的距离。另外,它也尝试开出对冲仓位,对冲由逆势仓位过多造成的浮亏,等待市场回调。但这一策略在测试中尚未得到成功印证。

值得一提的是,与ForexHacked师出同门的ForexEnvy(也是商业软件)无论在策略还是代码风格上都有明显雷同。ForexEnvy的最大优点是所有订单的距离和仓位都可单独自由设置,从而具有更大灵活性。

Indo Run

加码对冲策略从诞生后几乎就沿复杂化道路发展:为解决风险问题,开发者不得不绞尽脑汁想出各种过滤和资金管理手段。Indo Run把这种复杂化推向极致:其外部设置参数多达近200项,要理解和掌握它确实有难度。不过,大略观察,Indo Run主要发展了各种过滤技术:(1)时间过滤器,包括周一至周五交易日过滤,交易小时过滤,交易时段(亚洲盘、欧洲盘、美洲盘)过滤,非农之日过滤,非农后第一日过滤等;(2)新闻过滤器,可根据新闻发生时间、影响程度及受影响货币进行选择交易;(3)指标过滤器,使用ATR、CCI、动量指标、RSI、MA、包络线等多种指标进行入场过滤。默认设置为等值加仓,但也有加码设置选项。有趣的是,该策略还有一项设置:在资金每增长1万元后自动将仓位加倍;另一项设置在亚洲时段将仓位加倍,考虑到亚洲时段市场波动较小。其盈利模式有几种:第一,全部订单固定金额盈利,即每次平仓盈利金额固定,与仓位无关;第二,递减盈利模式,随着仓位增加,盈利目标减少,以尽快平仓降低风险;第三,根据ATR值计算盈利,ATR值大则增大盈利目标,ATR值小则降低。此外还有一些追踪止盈和保平方法。Indo Run属于单向度交易策略,通常采用限价单方式入场,交易同一方向的货币篮子。不过,独到之处是,它可以同时交易两个到三个货币篮子,这些订单设置有不同的魔术数字,用同一款策略管理,这是过去所有策略中不曾用到的技术。总之,这款以复杂、深奥为特点的策略,虽在一定程度上综合了过往技术并有所创新,但最终也不能解决风险问题,只有在完全了解和掌握其用法并谨慎使用的情况下,才能把风险控制到最低。

总结看法

介绍了这么多知名的加码对冲策略后,或许您会失望:没有一款真正解决了人们担心的风险问题!那么,这种策略是不是不能用,研究它是否还有价值?

我的看法是:任何策略都有其内在风险,加码对冲策略也不例外。就像人的生命终有尽头,但人们依然可以活出精彩。同样,尽管该策略存在风险,但运用得当,依然可以盈利。风险发生有其必然性,但何时、何地发生又有偶然性,与参数设置、入场位置等密切相关,这一点可以为我们利用。

当前加码对冲策略从幕后走到台前,从民间走向商业,正是市场环境变化的结果。记得一位投资大师回忆年轻时市场环境时说:当时市场没有那么多波动,上涨就是持续上涨,下跌就是持续下跌。再看今天的汇市,可以说是两重天。现在市场几乎难以见到持续、明显、稳定的趋势,几乎全被震荡和“震荡型趋势”取代。而震荡和震荡型趋势,恰恰就是这类策略的用武之地(也就是传统交易方法的挑战),难怪那些商业版开始走红。

有人说:“加码对冲结合好的资金管理,可以战胜市场”。这话有一定道理,但并非绝对。资金管理可以帮助该策略在市场多存活一些日子,但无法战胜市场。除资金管理外,其他技术也非常重要。今天的加码对冲策略,已不是想象中盲目加码的机器,而是融入更多智能因素。这些因素在前言中均有体现,比如:(1)限制加仓速度和总仓位;(2)多空双向对冲;(3)多货币对冲;(4)部分仓位平仓或止损;(5)减少盈利目标或追踪止盈;(6)结合人工趋势判断;(7)信号过滤及交易时段过滤;(8)资金分仓管理;(9)智能网格设置;(10)交易策略对冲;等等。

笔者认为,加码对冲策略虽有一定风险,但可妥善运用,这并不矛盾。其中关键的技术,是要进行综合的资金管理和调配,从概率上取得对市场的优势,而非一般意义上的“资金管理”。

比如说,对一个10万元资金的账户,用这种策略交易,按每月10%的盈利率计算,需要10个月时间(不进行复利交易),才能赚取一倍利润,将利润全部提取后,就可保本,脱离风险。因此,只有在10个月交易期间内,不发生任何“极端行情”,才能真正盈利,否则就会亏损。在目前市场状态下,这个条件不算苛刻,但也不算容易,在概率上看不出明显优势。

但是,如果将10万元资金分拆为A、B两个账户,各自用一款策略交易,要求:A、B两个账户在交易方向上完全相反。这样,在发生“极端行情”时,只会有一个账户面临风险,另一个会照常盈利,亏损率为50%。若按每月10%盈利率计算,只要之前连续盈利5个月,并把利润全部提取,就可保本,脱离风险。相比前条件,这容易多了。

再如果,将10万元资金拆分成A、B、C、D四个账户,分别用两款策略交易,其中A、B方向相同,但参数不同、入场点不同;C、D方向与A、B相反,但参数和入场点也不同。这样,在发生“极端行情”时,A、B或C、D账户会面临威胁。但由于参数和入场点不同,实践中通常有不低于50%的“存活率”。因此,真正风险的只是其中一个账户,风险降低为25%。也就是说,按每月10%盈利率,只要之前两个半月无“极端行情”,就可保本并盈利。这在当前市场状态下,明显具有概率优势,盈利前景更好。

也许有人说,每月10%盈利率对这类策略来说,目标太高,会放大风险。这就涉及“资金调配”问题。我们知道,这类策略在大部分时候,由于起始仓位小,浮亏率低,资金利用率也低。仓位中准备足够资金,是为了防备“极端行情”的。为防备极端行情一直让资金闲置,大大降低了盈利率。因此,对于具备条件的交易者,完全可以合理调配资金,在浮亏率低时,将部分资金用于其他策略(如剥头皮、趋势追踪、套利等);在极端行情来临、浮亏增大时,将这些资金调回,通过减少资金占用方式提高盈利率,这种方法应优于增加仓位或网格密度的方法。

当然,真正要运用好这种策略,还是要结合人工趋势判断,适时调整参数,以适应市场变化,减少风险概率,提高在“极端行情”下的生存能力。总之,该策略的风险并不可怕,只要风险发生频率和概率在限定范围内,其造成的损失低于适宜交易期间的盈利所得,这种策略是可以持续盈利的。