“老爹,你最光荣的时刻是何时?是全日本时代么?” 

 

“而我,就是现在。” 

 

骑士VS勇士。 总决赛,抢七。 

 

在我的后大学时代,每天都在各种证书和工作中奔腾,已经绝少去关心NBA,难的关注的也多是结果和各种最佳的锦集,欣赏那些非凡的表演,感受内心腾燃的热血。

 

“卧槽,骑士赢了!”

 

上午11点多,我的同事D突然冒出了一句,安静的办公室里开始发酵、火热,各种讨论,纷至沓来。

 

今年的NBA注定是光芒大盛的一年,73胜的勇士以碾压之态打破了历史;今天的比赛也注定会被载入历史,在今天之前,从未有过一个球队能1-3落后的情况下在总决赛中翻盘,今天也是骑士第一次获得总冠军,那今天之后呢?WHO KNOWS?

 

于骑士而言,这无疑是一次伟大的逆袭,从低谷到颠覆,从所有人眼中的不可能到可能,从垂死挣扎到谈笑风生,在我这样的悲观主义者眼里,真的是“垂死病中惊坐起,笑傲江湖又一年”。

 

很多时候我去欣赏篮球,除了去欣赏其中蕴含的无线的激情、冠绝的技术、团队的合作这种所共性的体育精神外,我也欣赏它的赛制,是一种不以一局定英雄的赛制。这样的赛制很多时候让我想到我们的外汇交易。

 

外汇交易也不是一种以一局定胜负的。因为今天之前,你在交易,今天之后,你依然还是在交易。

 

“千万不要让交易资金输光”,我们谨慎重仓,我们设置止损,我们方向做反了,平仓认输。每个交易员都有赚的时候,也有亏得情况,状态不好不要紧,大不了平仓从头再来,只要交易资金没有赔光,我们就有东山再起的机会。

 

前两天,遇到一个新手咨询,为什么我老爆仓?

 

我问他你怎么做到的?后来才知道重仓+不设止损。

 

很多刚入行的人心存侥幸,重仓赢得话可以获取更多的MONEY,从没想过这样的话,你输也会输的很惨;有时候方向反了,也心存侥幸,不设止损,总是赌那些小概率的触底反弹,你不爆仓谁爆仓?

 

今天本来打算要聊的是交易系统的设计问题,只不过恰好由NBA联想到我们的外汇交易,多说了几句,下面开始聊聊交易系统的设计问题。

 

我们先聊一个案例,在美国,除了NBA有一个骑士队以外,在资本市场上也有一位著名的做市商骑士——骑士资本。可他的运气就不像今天荣耀加身创造奇迹的克里夫兰骑士队这么好了。

 

2011年的骑士资本是美国最大的经纪商和做市商之一,处理了处理了超过10%的美国上市股票交易量,其零售股票交易业务在纽交所和纳斯达克交易所排名第一。

 

而2012年8月1日一次致命的交易系统故障中它损失4.4亿美元,接近破产边缘,最终被Getco LLC收购。

 

交易系统的故障时由于在对装载在8台生产服务器上的高频交易系统SMARS进行更新时,遗漏了一台服务器,也就是所只是更新了7台,而最后一台由于没有更新,启用了一个2003年被停用的「Power Peg」的模块,导致了这次致命的损失。

 

可以看出,一个交易系统的故障就导致这么严重的后果,那么一个程序化交易系统如果其本身设计和架构不理想,那么其后果更是难以估量。

 

我们设计程序化交易系统,不管是程序化交易系统的鼻祖配对交易,还是现在的高频交易、量化交易。其究极目的都是从市场的波动中提炼出定性的波动,也就是重不确定的市场变化中找出一定的变化规律。

 

以EA为类,很多时候都是交易者总结出来的自己交易的心得,以程序的形式体现出来,什么时候开仓,什么时候止损,什么时候平仓,都会有自己的套路。而一般都是基于稳定的市场状态,一旦市场的波动过大,EA系统就可能会失效,类如最近的脱欧公投期间,国内很多机构就停止了EA运行。

 

一、程序化交易系统的设计原则

 

先谈谈程序化交易系统的设计原则,我们今天聊的是存理论方面的,绝不设计具体的设计,所以应该说会有很多设计的共性在里面。

 

1.程序化交易设计要保证其完整性

 

任何一件事物绝不是独立存在的,拿我们外汇交易来说,你需要有Broker 、普通的交易者、也需要有支付,IB,流动性提供商,大型的银行,平台搭建公司,甚至还需要法律服务,没有谁是脱离了别人独自存在的。如下图行业的生态圈一样,每一个都不是独立的,只有所有的零件共同协作,这个行业才会运转起来。

 

一个完整的系统也是这样的,需要有入市、离市、资金管理等各项的系统条件,应该包含分析预测、决策、操作、资金管理和风险控制等等多个子系统。

 

2.程序化交易系统设计要保证其客观性

 

前面讲到,任何一个交易系统的设计都是从变化中找出不变的部分,这个是你交易系统的价值核心。那么这个不变的部分是怎么来的,这个并不是你主观臆断的,是你凭空想象的,这个需要你在设计时就要遵循市场运行的客观规律,也需要实际的检验。

 

另外,作为一个系统,你要给出一个客观的答案,唯一的答案。其和主观的区别就在于,它的答案是唯一的,什么样的条件给出什么样的结果,而不是我输入了条件你再去让我抉择,否则,要你有何卵用?

 

3.程序化交易系统设计要保证其自我性

 

在投资界,每个人的投资策略都是不一样的,乔治·索罗斯偏爱的是高风险的投资,这位狮子座的金融天才人认为“赚钱,要依靠正常价值的商品出现折扣以及押注意外事件”。而杰西·利弗莫尔则偏向保守,很少凭一时冲动做事,他的策略就是顺应大势,在多头市场做多,在空头市场做空。

 

在外汇交易市场,有的激进,有的保守,很难说谁的方法是对的,保守有保守的设计方法,激进有激进的设计方法;并且,你交易的资金量不一样,你所需要的交易系统也是不一样的。

 

4.程序化交易系统设计要保证其简单性

 

每个行业都有行业的专业名称,有的是行业逼格的需要,有的是某些典故,当你抛开一切,很多时候本质都是一样的,我小时候西红柿就是西红柿,长大以后才知道也叫番茄。

 

对于交易系统的设计而言,并非越复杂越有效,更多时候,简单也是很有效的。一直认为很多复杂的东西都是很多人用来提升逼格用的,貌似很厉害,但实际上事半功倍和事倍功半的结果是天差地别。


5.圣杯EA存不存在?不要在程序化交易上力求100%

 

程序化交易是从变化中寻找不变,市场是变化的,EA是不变的,所以从逻辑角度上讲,用不变的东西去完整映射变化的体系是不可能的,所以圣杯EA是不可能实现的。

 

我们追求圣杯,是我们想要找到更多的规律,更多不变的东西,但这并不意味着这种不变的东西是一定可以被找到的。无中生有的事情,就算先知可以知道下一秒的汇市变化,也没办法设计出一个EA去告诉你所有的变动,至于先知是怎么知道的?因为他是先知,本来就是从虚无中诞生的。

 

我们在追寻完美的道路上愈行愈远,但我们不能保证每一次都可以获利,只要做到“小输大赢”,这就是一个好的交易系统。

 

二、交易系统设计的步骤

 

对于一家企业而言,企业文化、愿景、价值观可以提升企业的发展进程,使得企业更好地更快的发展,但是发展是需要一步一步去执行的。如果说企业文化是内核推动力,那么操作步骤就是具体的执行力。

 

我们这里主要讲的步骤是程序化交易系统的决策步骤,是不涉及资金管理的的设计,也是程序化交易系统的核心价值的部分,包括了分析、预测、决策的内容。

 

1.设计的理念架构

 

设计程序化交易系统而言,是基于交易者对市场的认识和观念,这种认识和观念实际上是一种理论的架构。像我们之前说过的乔治·索罗斯、杰西·利弗莫尔这些交易的大师,都有自己理念。

 

那么我们做交易系统一个共性的理念就是市场是趋势性的,在比如物极必反的触底反弹的交易理念。总的来说,主要有三种理念:

 

1) 顺势理念

 

像杰西·利弗莫尔就是这种理念,在多头市场做多,在空头市场做空。其实质就是“追涨杀跌”,核心的在于你要确认好目前的市场是多头还是空头。

 

2) 逆市理念

 

逆市不是逆势,逆势是逆的大势,逆的是趋势的中段,事物发展的势头正好,你去阻止它,简直是以卵击石。我们讲的逆市是指预测好事物发展的尾端,比如在2008年次贷危机中获利的人,这是基于触底反弹,一般抄底者用的就是此类交易系统。要考虑支撑,时机在这里面很重要,没有足够的资金,没有把握好时机,哪怕你已经预测到触底,也会在上岸之前被浪潮拍死。

 

3) 形态识别理念

 

市场上有顺势,也有逆势。我更多的把这种理解为两者的结合,因为波动始终是一种震荡的,上升是震荡的,下跌也是。所以有逆势也有顺势,于是某些经典的技术形态就极具可靠性,像大型头肩底就是一种,以此为基础,很多人会开发出一些交易系统。

 

2.设计的准则转化

 

我们理念有了,我们的理论基础有了,下面我们就要去具体操作,将理论转化为一种具体的操作准则。说白了,这个交易系统的精髓,是你设计的价值的核心,讲的是你怎么做的问题,什么时候开仓,什么时候平仓,什么时候止损,都在这个部分里。

 

主要谈两点,一个是客观性,还有一个是可操作性。客观性代表着你的准确性,可操作性代表着用户的体验感,客观性是越强越好,可操作性是越方便越好。

 

3.历史图表检测

 

设计完成后,我们需要进行检测。首先要在历史的图表上浏览,初步估算出系统的客观性,准确率太低,直接pass。很多时候,我们是基于历史图表来进行准则转化的,所以如果连历史图表检测都通不过,除非你的历史图表有问题,不然我只能说你设计出来的系统就是shit。

 

4.电脑正式测试

 

通过了历史图表检测代表着,你可能对你所选的数据是符合了,那么你设计的系统在电脑上的体验如何,譬如你均线的显示、日线的显示上有没有一些问题,我们进行下一步测试。

 

我们进行电脑的正式测试,主要目的就是进一步检验量化准则的转化效果,正式测试时主要是考虑一些因素。

 

1)不同的参数:不同的均线组合

 

2)不同的时间周期:日线、周线、月线、短期、中期等。

 

5.评估测试结果

 

在电脑的测试中,其实是分两个的,一个是用户体验就是各种技术线的操作上,还有一个就是你的测试的结果也会出现。我们需要对测试的结果进行统计和分析。主要有三点:

 

1)成功率 也就是你盈利交易次数占总交易次数的比值,往往一个交易系统的成功率越高往往代表着系统的价值度越高。除非你亏得时候,你亏得金融巨多。

 

2)数学期望 我喜欢称之为总交易情况,也是最有价值的一个指标  公式为:∑(赢利交易的比例*盈利额—亏损交易的比例*亏损额)

 

3) 最大单笔赢利和最大单笔亏损 相当于数学中的方差,代表着波动性,心跳度。

 

三、资金管理

 

一个完整的交易系统,需要的不仅是我们的分析、预测、决策,也需要资金的管理。比如说你的杠杆是多少,这笔交易需要多少资金才能保证你不会爆仓,如果你拥有足够的资金,你只需要预测大势,你就可能成功。如果你资金体量很小,你所能够承担的波动风险也会很小,或许一个简单的波动就会导致你的爆仓,你大势把握的再准确也没用。资金管理是一个复杂的问题,而且基于不同人的投资方法资金的管理方法也是不一样的。

 

总结

 

欢乐的时光总是短暂的,又要到结尾了。

 

“垂死病中惊坐起,笑傲汇市年又年”。

发表评论

后才能评论