如何建立完善的程式化交易系统
看完后问大家一个问题,在1小时周期逆趋势马丁开单的时候。可否在周周期中顺势2倍马丁?
第一、选择程式化交易系统类型( l! t! A3 p. S( e/ f: ?0 s什么是完善的程式化交易系统?每一年都能赚钱的就是完善的程式化交易系统,但程序分为好几种,适不适合自己用就很重要了,挑选自己适合的程序,比程序本身的总体获利还重要许多,在进行程序交易之前,我们有必要对程式化交易系统的种类,有更深一层的认识,进而了解到自己依循的,到底是哪一种程序程式化交易系统,合不合自己的个性,下单时有没有莫名的阻力,或不安全感。所有的程式化交易系统类型,可分为两大类:第一类:策略性系统化程序交易第二类:绝对性单一化程序交易第一类策略性系统化程序交易:8 Z1 b1 U, p3 p, Y$ P7 h- [( d& z一般这类型的程序交易,包含二到多个公式,或数据,彼此互相运用,并可细分为以下各项:; C$ w8 ? Y, F. J2 U4 m0 e# D8 I e(1)长线掩护短线型:包含两个公式,例如:长线处于多方,短线也处于多方,则进场作多单,如长线为多短线为空则出场,空手观望。(2)少数服从多数型:至少包含三个公式,例如:公式中呈现2多1空,作一手多单,3多则加码一手多单,回到2多1 空,减码一手多单,再到1多2空,则由一手多单转为一手空单,3空则加码一手空单,依此循环。如图:, \; n1 u1 i0 O8 r0 l9 S1 _3 {% a8 Y% X9 C第二类绝对性单一化程序交易:# D4 v8 X7 N3 D, N- t# l这种程序,只以一个公式作依据,不是多就是空,没有空手的时候,也没有加码点及减码点一年200多个交易日,天天手中都有单。7 a/ y" e( }: j; B, y4 j, C' e% a5 V U1 x1 ?7 `4 C) w6 N关于程序交易的类型,在使用上各有利弊,我不做评论,但我还是必须强调,程序的「适用性」比「整体获利」还重要,下单时得心应手,没有心理压力,则永保安康,下单时担心这,担心那,则再好的程序也没用。! {- w7 X R6 t% X; L; l i7 z: S- M' P k( K第二、选择技术指标. I/ d0 L9 F [" H& Y5 b2 z一旦你选择好程式交易系统的类型后,接下来就是要将适合的指标公式加入到你的模型当中。一般而言,指标系统的设定通常可以分几个方向:顺势系统,逆势系统,形态操作三种。一般市场上常见的交易系统多为顺势系统,顺势系统即为我们所称之「趋势单」,此种系统的胜率不高,大约仅有40%~50%,也就是作十次大约只会赚四次,不过这四次却足以弥补其他六次的亏损,基本上属于「赚大赔小」的策略;第二种称为逆势系统,事实上即为震荡系统,一般而言该种系统的胜率较高,大约为50%~60%。指标体系相当于战士手中的武器,自然是威力越大越好。在交易软件或者是交易思路的选择上,需要把握好以下几点即可:1、简单原则:价格瞬息万变,纷繁复杂,用一套简单精确而且高效的行为模式去描述市场,才能不被表面的大量随机因素所蒙蔽。5 P' T8 R: q( ^" G \ a4 j- Q, e- w/ ?; m8 [, m/ X. C2 _8 z I; ?: H3 [: [2、定期优化:多数人总是试图找出完美卓越的交易系统和方法,以期一劳永逸。其实这是一种近乎于单纯的想法,市场的价格变化包含着大量的随机因素,是呈现一种非线性的市场,纷繁复杂,而交易系统是线性的,只能捕捉市场中规律性的一面,随着时间的推移,原有的指标系统很有可能无法适应目前的行情变动而产生巨大的风险隐患!我人为,应每月对系统进行一次维护,及时对指标作出修复。另外,在实际操作中,合约尽可能选择近期内的主力品种,同时开始根据下一个主力品种的走势优化或开发新的指标系统。 H( h' m' K! h2 R9 C O, | Y4 }& z# A0 V; N$ l; |8 }$ _第三,资金管理和风险控制3 A2 [! F. L0 q6 l$ a; W没有应用资金管理模型的交易系统只能是一个玩具,这是我听到的对资金管理重要性的最形象的描述。资金管理更专业的称呼提法是头寸调整(Position Sizing)。入市、离市研究的是何时交易,头寸调整研究的是交易多少更安全、更合理,或者说,应该让帐户中的多少钱去承担多少大的风险。比如:资产配置:商品持仓比例范围为10—35%,其中单一品种持仓比例小于20%,相关品种持仓比例小于25%,不相关品种持仓比例小于35%。对于单个帐户,100万以下做单一品种,100万以上组合投资,如500万资金组合投资如下:铜持仓10%,豆5%,豆粕5%,胶4%,油3%,麦3%,棉花5%,合计总持仓35%。风险控制:在投资全过程中严格实施风险预算管理,通过主动的量化风险管理,使整个投资过程风险可控。将总资金的风险控制在20%以内。七、如何科学界定并检验程式交易系统报告有交易系统研究和使用经验的投资人都会深切体会到交易系统检验报告的重要性。由于人的视觉误差,记忆误差以及心理误差,人们倾向于肯定自己事先已有倾向性的事物。因此,对于几乎所有的人来说,都很难在对某一事物评判的时候保持真正的公正性。在交易方法的研究上,投资人非常容易产生某种偏爱或倾向性。例如,有时投资人在数次观察到某一技术指标的精确表现或某一价格模式的预测功能后,便会认定其有效性。但是,有计算机系统研究经验的投资人都会有这样的体会,很多时候用肉眼观察到的某些胜率很高的分析技术,计算机检测结果却截然相反,表示只有相当低的胜率。总之,只要计算机程序输入正确,计算机检验是最公正的。投资人必须认真分析交易系统检验报告,以观察计算机检测和本身的预期有何种差距,进而分析原因,找出科学的解决办法。4 r# ^4 d8 S6 n) K# I9 E N1 V$ J一、净利润率:指交易系统在特定时间中,扣除交易成本和交易亏损之后的净获力额度比率,引用公式为:净利润率=净利润/总投入;这其中应当遵循的基本原则是:任何净利率为负值的交易系统都不能作为实际应用的交易系统。4 Y9 a/ L2 N6 A' X, S# v二、胜率:又称盈亏比率,公式表达为:胜率=盈利次数/总交易次数;% t _2 m! V2 k: U, P/ ]" Z该比率是反映交易系统所依据的投资理念的主要指标。投资也是一种商业活动,很多著名的投资家都曾经指出,只有当投资人把投资活动当成一种实实在在的商业活动并切实遵循商业活动的游戏规则之后,投资人才有可能真正掌握投资技巧并有效控制自身的心理波动。任何商家对利润的获取都必然在下述两个原则之间取其一:A“薄利多销”原则;B“暴利”原则。很多商家以为“暴利”是致富捷径,实在是一种错误观点。任何人如果潜心研究过世界著名企业的发展史,都可以看到“薄利多销”的经商原则贯彻其中。像著名的快餐店“麦当劳”和“肯德基”以及美国三大汽车公司等,正是靠这样的蝇头小利,才能发展成世界上最顶尖的跨过企业。. A8 n T# R. p1 w: U1 S [投资活动也是如此。有人倡导“以一次巨大盈利补偿九次小额亏损”。这种投资理念是相当危险的,但是却是大多数投资者所遵循的。一个稳定的交易系统,至少应当使盈利次数比率大于50%,即“盈多亏少”。系统研究者在系统检验时,如果发现盈利次数小于50%,应当首先检查系统设计的交易策略思想,看其所遵循的投资理念是否与自己相近。这样说,并非是说盈利次数比率小于50%的系统不是盈利系统。该比率小于50%的系统也有可能成为相当好的交易系统。但是,当胜率小于50%时,系统在分析上已不占优势,而是依靠风险控制技术取胜。显然,如果一个系统既占有市场分析优势又占有风险控制优势,则会有更大的安全性。三、最大单次盈利与最大单次亏损:这两项参数提供给系统研究者和使用者重要的系统质量信息,如果最大盈利占总盈利中的比重过大,则应怀疑系统的实际盈利能力和稳定性。如果最大亏损与平均亏损之间差别过大,则应进一步检验系统的风险控制能力。四、最大连续盈利次数与最大连续亏损次数:这两项参数报告对有经验的系统操作者是极其重要的信息资源。它为系统操作者进行风险控制提供了极其重要的依据。例如,如果在系统样本值足够大的情况下,最大连续盈利次数为5次,最大连续亏损次数为4次,则系统操作者在连续盈利达到4~5次之时,便应该采取积极的防御态势,比如开始减轻每次交易投入的资金额度,使投资额度回复到第一次盈利的水平甚至抵御该水平。同样,当系统连续亏损3~4次,甚至5~6次时,投资人不但不应对所使用的交易系统丧失信心而放弃继续使用该系统,相反,投资人应当更有信心,应当采取更积极的进攻态势,如开始逐步增大每次交易的资金投入量,甚至开始使用加码技术。实践证明,该统计信息配合以相应的风险控制规则,可以使交易立于不败之地,而该统计信息是系统交易方法以外的任何方法都无法得到的。(本系统最大连续盈利次数与最大连续亏损次数分别为5和1)7 C* N5 [2 g% h* Y) I由上述几项参数的结果,投资人大致可以判断出该交易系统是一个相当稳定的系统。由讯号总数481次交易样本可以推断出统计检验的有效性,并且,该系统所依据的投资哲学同样相当稳固,它有机地结合了趋势交易和反趋势交易两大投资流派的长处,从而保证它能够取得极高的胜率和抵御突发事件灾害的出众能力。# q! \0 S! r, c八、对程式化交易优点的主要体会经过多年的实践,我认为,程式化交易作为一种决策方法,其好处主要有以下四个方面:第一,把交易规则系统化,有助于交易者把市场经验和知识进行积累、整合和修正。程式化交易的规则至少有4个要件,即买进、卖出、止损、头寸。非程式化交易者往往“三缺一”,即缺少头寸的规则,甚至“二缺二”或“一缺三”,即没有止损规则或明确的卖出规则。第二,保持交易规则的一致性,即长期坚持按既定规则交易,这样有助于克服情绪的干扰。证券市场常常会表现出它的博弈性,它给人成功的机会大约在10%。人们在这里博弈的是心理,要进入10%的队列,就要战胜人性中所具有的贪梦和恐惧。因此,依靠有纪律地执行交易系统是一种现实和有效的方法;第三,程式化交易者将大量重复而简单的劳动交给计算机去完成,大大减轻了盯盘的负担减少了盯盘的时间。可以专心分析和研究市场波动的规律,在从容冷静地思考自己的交易构想完善自己的交易系统,当其他人头昏眼花辛苦看盘、绞尽脑汁猜测庄家时,系统交易者则可以腾出时间来研究期货的基本面和市场状况,可以更加完善期货交易计划,帮助提高获利的胜率;第四,开发交易系统的过程相当于在实验室中做实验,通过对交易系统进行历史测试(Back-Testing),即通过软件模拟出在过去的结果和表现,使交易者面对行情震荡时会信心在握、成竹在胸,压力减轻后给生活各方面带来无法估量的好处,很多“走过来”的系统交易者对此深有体会。九、选择和使用程式化交易系统的注意事项6 v: Y, b4 | Q( T! h4 g4 ]随着中国期货市场的发展,投资者由原来的盲目交易正逐渐转向理性投资,由被动的跟盘转向由交易系统来指导自己的交易。实际上,在期货市场长期获利的交易系统应该存在,但交易系统对于交易者来讲仅仅只是一件交易工具,也并不是任何人用同样的交易系统都会得出同样的交易结果的。获得了交易系统和通过交易系统来获利完全不是一回事,运用交易系统的能力远比交易系统本身更为重要。要想通过交易系统获利,首先就必须正确认识交易系统,同时自己的交易能力一定要和交易系统相匹配。运用交易系统的能力表现在两个方面:如何度过系统的困难时期;如何充分发挥系统的优势。5 j) a$ T6 Z. \" w4 r1、交易系统只是一个提示交易机会的系统。我们开发一个交易系统,目的是盈利,这是一个很简单的道理。然而,在实际开发与应用中,相当多的一部分人把它当作一个预测系统。也就是说,如果出现做多信号,便认为或者告诉别人,行情会涨;或者说,在开发的过程中,过分追求信号的成功率,即如果出现了做多信号,行情一定会沿信号给出的方向运行。产生这种原因是由于投资者长期形成的依赖行情预测的交易思想已深入自己的交易理念中,而对系统交易的本质把握不准而致。实际上,全球大多数顶尖的交易员,他们的交易成功率均低于50%,他们获利的根本原因是能够将亏损的交易控制在小的范围内而给赢利的交易足够的空间去发展,他们只是顺着行情方向走的路程大于亏损的时候走的路程,而不是预测对行情的次数多于预测错行情的次数,因为后者与盈利与否没有必然联系。关键是,如果发生了亏损和盈利,我们开发的交易系统如何去处理它,才能使我们对的时候走的更远,错的时候走的更短。过分的追求成功率会使系统的开发工作偏离方向。. }0 ?$ S- v. } @9 Y# A2、盈利的系统只是一个盈利额大于亏损额的系统。: k$ b. A% A& S4 g2 `很多投资者设计过一些简单的交易系统,测试成绩很不错,而且在实际的交易过程中效果挺好。但投资者在使用的过程中还是经常抱怨使用系统中所面临的亏损,绞尽脑汁的想办法去避免那些亏损的交易,然后又去寻找其他的指标来和原来的指标叠加来决定下面的交易要不要执行。这是由于投资者心态不好、过于追求完美或者配备的资金管理模式不对而导致的。实际上,交易系统是一个复杂的、各方面因素互相影响的系统。投资者使用其他指标叠加的时候,有可能过滤掉一些亏损的交易,然而,这样的叠加也会对赢利的交易进行过滤,甚至有时候可能出现虽然减少了亏损量,但集中了亏损分布反而造成更大的资金回撤的情况。世界上不存在完美的交易“圣杯”,每个交易系统都是存在缺点的,都有亏损的时候,过于追求完美只会增加系统的复杂性。要克服系统使用中的亏损带来的不适,建议使用多种系统,多个品种的组合方式来处理。3、好的交易系统是资金稳定增长的系统。一些投资者在对系统做单口历史测试的时候,只是通过观察测试报告中的盈利率来判断最优的交易系统和最优的参数,这样的情况下选用的系统或者参数可能是很危险的,这基本上是由于投资者的测试工具功能不强大和思维片面造成的。其实,很多在测试报告中盈利率最高的系统或参数,在交易期间都发生了非常大的资金回撤,只是在测试结果出现的时间点上产生了偶然性的大盈利,在现实中很可能是个根本无法接受的交易系统。这里有一个概念上的问题,一个好的交易系统就是一个资金稳定增长的系统,而不在于赢利率,因为期货有杠杆机制,如果你可以得到一条稳定的资金增长曲线,即使赢利率很低,但你一样可以通过提高保证金的使用率来提高收益率。所以说,对交易系统的开发的主要目标,要放在使资金曲线平稳增长和减少资金最大回撤上而不是单纯的赢利率上。' V9 y$ {5 J" w: y2 c9 i4、优秀的程式交易者必须有坚定不移的自律精神。对于系统交易者来讲,市场的涨跌已不重要,重要的是对交易信号的执行。因为系统的交易信号经常会与你对市场的看法相矛盾,很多的交易机会就是在投资者的犹豫彷徨中错失的,这也是导致使用同样的交易系统其交易结果大不一样的关键所在。市场无论是涨还是跌,系统在关键时刻都会发出交易信号,认真执行交易系统可以大大简化我们的交易,使交易更加简单有效,这也是为什么交易系统这么重要的根本原因。 在系统处于亏损时期时,不要轻易认为系统需要改变或更换,亏损是正常现象,必须接受,此时应告诉自己如何来提高处理困难的能力和耐心。而在系统的获利时期,切不可耍小聪明,认为可以运用自己的交易能力来提高系统的效率,此时遵守纪律胜过一切!系统的困难时期可以提高你的交易能力,系统的收获时期则可以考验你的自律精神! 另外,使用交易系统必须保持适当的灵活性。同样的交易系统不同的人使用,交易结果一定不一样,有人赚,有人亏,有人大赚,有人大亏,关键还在于使用者的运用能力。交易永远不可能跟数学公式一样!交易系统具有相对的机械性,而适当的灵活就如同润滑油,可以使这部机器更好地运转,润滑油就是你的交易能力和应变能力。所以,在使用交易系统之前,千万不要盲目乐观,获利的关键还是在于你的交易能力,系统只能帮你解决部分难题,而不是全部。( `0 [& K& J h4 j以上几点是进行程式交易的最值得注意的原则,我在日常工作中发现许多周围的投资者在对交易系统的使用中也犯很多错误。例如很多投资者通过过分优化开发了只是盈利率最高的交易系统,而在实际交易中又只把信号当作预测来参考,同时头寸安排也是凭一时感觉,结果交易起来一塌糊涂。投资者一定要记住,交易系统是一个完整的操作系统,孤立某一部分并不能达到测试产生的结果,很多投资者在一个长线系统发出做多信号的时候,并不是按信号操作,而是在空头信号出现前来回的做短多,这看似一种很明智的交易方法,而实际上,由于没有明确的出入规则,这样的交易结果一定是非常不稳定的。所有这些,都是由于对系统交易的理念缺乏科学的认识,希望本文能够对广大投资者对系统交易的认识有所帮助。
