俗话说的好:思路决定出路,眼界决定境界。作为一名程序化交易爱好者,仅仅依靠已经掌握了模型编写平台的基本语法和函数,是远远不够的。要想编写出一个真正具有实战价值的自动交易系统模型,设计思想的重要性不言而喻。而设计思想实质上是集成了交易理念、交易思路、交易方法,甚至包括交易经验在内的一种积累与沉淀,绝非一日之功。
一、进场设计
系统模型进场的设计思路,事实上应与投资者的交易风格喜好、交易时间框架密切相关,可以分别是趋势跟踪、震荡交易、套利交易等,近年来甚至也出现了基于基本面分析数据的量化模型,以及带有人工智能性质的神经网络、遗传算法等具备自学习、自适应市场能力的高级交易系统模型。不过,最简单、最实用、最适合普通投资者的交易系统进场设计思路仍然是趋势跟踪,而趋势跟踪的实质就是追涨杀跌或者美其名曰:顺势而为。突破,是趋势跟踪系统设计中最为简洁实用的设计思路,具体应用设计思路可能包括:1 通道突破。最著名的此类程式设计代表作为:海龟交易法则与四周规则。其进场信号触发设计为:价格突破最近N根K线的高低点。长期来看,这种设计思路虽然简单,但永远也不会失效或显得过时。事实上,越简单的反而越有效!2 均线突破。该设计思路的代表作品有:克罗均线,它由4、9、18等三条均线组成;鳄鱼组线,它由5、8、13等三条移中平均线组成;自适应均线,它由考夫曼博士提出,以市场效率生成弹性浮动参数,以均线拐头为信号触发,而非普通的均线金叉、死叉。3 指标突破。常见的技术分析指标,如MACD、KDJ、RSI、BOLL、SAR、WR、ADX等,均可独立构成一个简单的趋势跟踪系统。当然,是使用系统默认参数还是使用优化参数、是使用其常规用法还是使用创新用法,可能存在仁者见仁、智者见智的分歧。对于具有一定技术分析功力的投资者,以自创技术分析指标为最佳,这样可以确保你所使用的交易系统模型的专属性。4 形态突破。形态突破,包括K线形态组合突破、经典技术分析形态突破等,K线形态组合的突破,以酒田战法为最经典,著名的红三兵、黑三兵、希望之星等经典K线形态均源于此。至于经典的双顶、双底、趋势线突破、横盘突破、头肩顶底、三角形态、楔形、旗形、钻石型、圆弧顶底等技术形态。5 波动性突破。波动性可以定义为:最高价与最低价、当根K线的最高价与昨收盘、当根K线的最低价与昨收盘,这三组价格差额的最大者即该品种的波动性值,波动性既可以进行横向比较品种间的波动性水平,也可以用于纵向判断价格波动的异常,并作为进场信号的触发器。6 时间价格突破。在趋势行情的必经之路,守株待兔,是我们进行突破系统设计的基本思路。而时间、价格突破,从速度、幅度的两维视角预约了趋势行情,堪称突破系统设计的典范。基本设计思路为价格在N时间范围内、上涨或下跌了N个点位。进一步拓展思路后,我们还可以引入周间日、日间时的概念,细化不同时间段的突破标准,以便更好地适应品种个性。此外,我们还可以时间、价格过滤器的方法来实现对趋势行情的确认,以减少价格盘整阶段的假突破现象。遗憾的是,尽管很多投资者致力于追求日内趋势跟踪交易,以降低隔夜交易风险,并认为不同交易时间框架下理念、方法应具有一致性,但实证研究仍然表明,突破类趋势跟踪系统所应用的交易时间框架越长、越有效。我们有理由相信,任何一个设计简单的突破类趋势跟踪系统,长期跟踪市场日线以上级别的结果必然是盈利的,当然同时需要承受较大幅度的阶段资金回撤,这是普通投资者难以坚持使用的主要原因,而这并非意味着该趋势跟踪系统失效了。二、出场设计
1 止损。止损,是交易系统模型设计中一个不可或缺的元素,资金止损、技术止损,是两种主要的考虑方案,采用两者孰低的方案可能更为科学。一方面,你要确保每笔交易不冒过大的风险,另一方面,你要背靠一个关键的压力、支撑技术位置,采用反向交易信号作为自动止损的依据,则是持续在市的交易系统模型的一个常用止损方法。2 止盈。虽然固定点位的止盈、止损,也是系统设计中可以采用的方法,但我们更倾向于兼顾利润保护和放大功能的跟踪止盈或SAR抛物线止盈模式,随着利润的扩大,而不断抬高甚至收紧止盈目标位置,可以在一定程度上起到利润最大化的设计目标。3 时间清仓。以时间为因素考虑离场,无论是作为一种辅助出场方法,还是作为一种独立的出场方法,都是一个不错的思路。比如三根K线过后,如果既没有达到止盈位、也没有触及止损位,就主动离场。“在市场没有证明你是正确的时候,主动离场”。无论是进场方法,还是出场方法,建议程序化交易爱好者可以将它们都做成独立的模块,像积木一样可以根据需要自由搭配使用,这对于提高系统模型设计效率与可能组合收益,会产生极大的帮助。当然,作为一个完整的交易系统,还需要考虑资金管理与头寸调整的细节,建议大家参考风险百分比法。