程序化交易在国外非常兴盛,一般来说,程序化有几大类。

1

抢帽子

比如计算好某个品种的价差,符合无风险套利,然后进行编程。当市场波动有先有后的时候,出现这种交易机会,马上成交。其实这是在做价差或者某个比价的极值。目前这种交易方式在国内也有非常多。比如股指期货的期现套利,比如一些商品的价差交易。

这种程序化交易的本质是速度。利用成交推送,100档买卖盘提升交易速度,利用机器比人反应快,迅速在出现合适对盘价格的时候自动成交。原先有很多人手工做,现在他们都失业了。因为再快也快不过电脑。

但这种程序化其实缺陷也相当明显:

A:冲击成本高导致盈利瓶颈。很容易理解,市场出现极值的时候,很多都是来自于远月合约或者是瞬间机会,如果运作的资金很大,那就会导致冲击成本过高。换句话说,本身抢帽子就是在上下影线里挣点辛苦钱,资金量大,那个上下影线就都是自己打的了;

B:对硬件要求高。几乎所有此类的程序化交易者都对线路的速度提出极高的要求。比如原先摩旗的软件做期现套利,有些券商最初只能稳定在20秒左右完成300笔申报,而有些券商经过硬件升级,网络提速,专用席位之后,可以把交易速度提升到4秒以内,最快的是光大,号称最慢4秒。

试想如果以这样的机器去抢20秒才能完成报单的机器,是不是永远成交主动呢?以前,有个华尔街回来的做高频的,在国内某小期货公司开户,服务器上同样的策略做内外盘套利,只有跟小期货公司对接的国内盘不挣钱,因为差了几百个毫秒。你没看错,就是毫秒。

C:因为有A的原因,所以抢帽子的程序化交易都会选择尽可能多的策略来分散资金。这种类别的程序化交易几乎是最简单的程序化交易,他们的交易成功率很高,但是盈利不大。而且,一天出现几千笔申报但只有有限几笔成交,非常常见。

2

做交易策略

这一类现在越来越多,而且,在国内衍生品交易逐渐活跃的情况下,会更多。一旦有了期权,甚至期权的期权,那就会非常非常多。

先举个最简单的例子。

比如美油和布油。两者都是油,相对就有价差区间。程序设计者会用数理统计的方法,把美油和布油的价差的波动区间计算出来,给出一个置信区间,比如99%。

即在99%的时候,美油和布油的价差波动是在某个区间之内,那么就认为这个区间就是这个价差的上下波动区间。当价差触发上限的时候,做空这个价差,触发下限的时候,做多这个价差。ICE交易所应该就有美油布油的价差合约,就是把这种策略做成的交易品种。原先的程序化就是时刻计算这个价差,然后在自己设定的区间上下限进行交易。完全自动开平仓。

有人就会问,这跟抢帽子有区别么?

光看布油和美油这个,好像都是抢帽子,区别就在于抢帽子是基于一些无风险套利的条件,因此抢帽子抓住了,就挣钱。而这个,布油美油的价差去年年中曾经到过20块还多。其实挺可怕的,因为曾经有过美油贵啊。

这种交易策略都是基于一些相关联品种,进行大量的数理统计运算,计算出概率。说白了这是个靠概率赢钱的游戏。但是也有一些弱点:

1、需要大量的策略。所有的策略都是基于大概率,但一旦发生不可测时间,俗称黑天鹅,那这个策略立刻就不符合概率了(除非原先的置信区间设置的不敏感)。因此,一般来说,发生了突破上下限的时候,这个策略也废了。

因此这需要大量的策略备用。2011年,我的一个朋友邀请我加入他们的量化团队,主要是以A股和期指的对冲交易,希望我能够负责策略提供。我知道当时他们有10多个交易员,每个人大致上负责上千万甚至几千万的资金,专用一些策略。一旦他们的策略出现故障,立刻就需要有新的策略补上。我拒绝了,因为我深刻的知道朋友的痛苦:他晚上起夜上厕所估计都在想:要是10点半强势弱势对冲这个策略不行了的话,是不是可以考虑在下午2点半收盘前搞?

2、止损的问题:几乎所有的非无风险策略都会面临一个止损的问题,为什么我会在这里写?因为这个基于数理统计的策略,止损实际上相当不容易做。假设是符合概率的,那应该做的其实并非止损,而应该在概率保护的情况下加仓。但又因为我们不能死,不能承受结果的话,哪怕发生的概率再小都不应该尝试,所以这个度非常难以把握。

注意我没有说宏观出现什么什么。没有说基本面变化了策略要变,没有这些问题。都不需要这些内容。量化交易的核心就是观察结果,对结果进行交易,而不是去交易原因。

这种量化的策略有明显的好处,比如客观,机械,可靠,而且可以容纳相当大的容量。在这条路上走,最终比的还是脑子。因为所有的策略都是人想的。

轮到谈谈趋势类的程序化交易。我一度非常痴迷。但这些年发现,还是人更可靠。

我相信每一个学习技术分析的人,都会憧憬,我们可以利用一些指标,划几条线,编一个程序,符合我们的买入标准就买入,符合卖出标准,就卖出获利。多好。

我们在睡觉,机器在挣钱。听上去很不错。

我相信有一些A股大神也在贩卖自己的程序,号称一年收益率多少多少。其实我是不信的。因为如果我有这样的一个程序的话,我会在屋里偷偷摸摸的运行,把全世界都挣到口袋里。但立刻就会有人反驳,我的程序你去跑,历史回溯非常棒。是么?趋势类的程序化交易最大的问题有几个方面:

1、T+0:这是必须的。当天认错权都没有,怎么程序化?!融券规模逐渐变大之后,我认识的一个量化团队,也是华尔街回来的,专门做融券,因为可以当天买券还。但是证券公司也很痛苦,他们成交量巨大,但是挣不到融券的费用。我又跑题了。sorry。

2、判定的法则:这是最关键的地方。很多忽悠人的人会说,你看,当价格上穿某均线的时候就买入……请住嘴。一秒钟上穿,一秒钟下穿就在这个位置来回晃,你怎么办?这就是为什么所有的所谓回溯都很好的策略之所以好的原因:当你回溯的时候,你只看到了价格跟均线只交叉了一次,实际上,在哪天,可能交叉了无数次!

3、流动性:一个趋势性的东西再好,也要有流动性支持。同样的好策略,螺纹上非常棒,你去试试看早籼稻?

4、假如有人愿意把自己的交易体系做成程序,让你顺利的从头跑到尾,那他为什么不自己做?而非要用程序呢?这其实是个悖论。所谓程序,不过是比人自己的约束力更强。也更机械。曾有一个期货圈短线天王级人物在微博上感慨:“自己瞎鸡巴做,再看看程序化交易死拿着螺纹的空单,是不是人要被机器废了?”

你要是相信这真是他心里想的,那你就太天真了。因为他在日内,就会干掉机器。比如在某个关键的价位形态特别好的突破之后被他死死摁住,于是程序化们砍仓了,刚好成了他获利平仓的对手盘。因为,机械就意味着死板,不懂应变。而这个市场,唯一不变的就是永远在变。

除非有一天机器拥有自我进化的功能,不然人脑还是最牛的东西。

美国人在这几年不断在数据分析上做出重大的突破,比如云计算。这些最基本的思维也体现在了程序化本身。

在美国的投机界,每天会有无数计算机在分析人们的行为模式,在对某些重要的讲话做关键词剖析。这些分析,靠人脑临场反应,可能需要相当长的时间,因为读完USDA的报告,没有1分钟,是绝对不可能的!!有兴趣的人可以再6月12日夜跟我一起看,看看在13日凌晨0点0分多少秒你可以反应出这个报告是多还是空。

机器能,即便机器的能是基于事先的分析原理设定,那看上去也比你随口说一个字多或者空更科学。

因为事先可以制定一些阅读标准,比如数据比较,比如某些关键词。于是报告刚刚公布,瞬间就被一些机器读出到底应该多还是空,于是程序启动。

我们经常看到的美股分钟图暴涨暴跌,外盘黄金秒杀,都是这个因素。

很多傻X说这是超级大主力。我勒个去,我证明不了超级大主力一定不存在,你非要这么想,那就这么想吧。

最初这种交易模式相当精准。后来用的人多了,人们发现一个问题,那就是在初期如果你获利不平仓,后边就要赔钱了。所以,老手们其实都知道,这种基于某个人的讲话的秒杀,一般前面走的都是错的。比如暴涨,一会儿会回来的;暴跌,一会儿也会回来的。why?超级主力怎么搞的这么累?既然都能精准到定点打击,为何不做的有些持续性?

这是因为那些力量就发泄那么短短一段时间。于是机器们自己也聪明了,我在前面第一个反应,后边的兄弟们帮我推上去,我立刻就获利平仓。

于是你会发现这样的机器越来越多,于是行情越来越短。除非是真正的利空和利多,会有持续的资金进来表态,那时候市场的波动才有趋势性。

这种模式中国人并不陌生。你没看到巴菲特写了一封信感激一下收到的免费西装,于是这个公司连续好几个涨停板。当年股改的时候,在第三批股改股公布之后,公布股改方案就意味着连续涨停板,大家都是这么反应的。

其实交易就是在研究人性啊~