程序化那么神秘,究竟在做什么事情

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

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

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

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

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

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

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

做交易策略

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

先举个最简单的例子。

比如美油和布油。两者都是油,相对就有价差区间。程序设计者会用数理统计的方法,把美油和布油的价差的波动区间计算出来,给出一个置信区间,比如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?超级主力怎么搞的这么累?既然都能精准到定点打击,为何不做的有些持续性?

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

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

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

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

延伸阅读:如何建立一个好的程序化交易模型

针对一些对程序化不够了解并且想了解的朋友,本文做了如下总结,希望能帮助更多的朋友,客观合理的认识和选择程序化交易,为自己的财富积累插上最适合自己的翅膀.

一. 程序化的理解

程序化一般分为两类模型,一类是趋势模型,一类是震荡模型,如果你想两者结合起来就要看自己的本事了,我的建议是程序化需要不停的去完美,但千万不能追求完美,以下所说模型都是趋势模型;

程序化一种工具,帮助你积累财富的工具,却不是一种暴利的赚钱方式,程序化模型有好坏之分,程序化赚钱的前提是一个好的模型,程序赚钱的关键是坚持的执行,程序赚钱的精髓就是在确定最终使用模型之后,彻底的放弃你对金融市场的一切理解和交易技能.就像武侠小说里说的,想练成最上层的功夫,就应该先废掉所有的武功.

二.程序化模型的选择与辨别

如果有人告诉你他的程序化能在不长的时间内,让你的资金翻几番,那你要为他的言语或者他的程序打个折扣,但是如果对方又能拿出不错的图形或者非常漂亮的收盘测试结果放在你的面前,你又当如何说服自己是相信还是不相信?以下内容就是帮助你如何辨别好坏模型.

1. 测试时间:一个好的程序化必须经得起时间周期的测试,如果一个程序化,结果很漂亮,周期却只有一两个月,不可信;

2 . 使用资金:很多人贴出来的漂亮测试结果,使用资金常常是80%或者其它百分比,但这些都是不合理的选择,因为金融市场资金管理很重要,在行情好时候,资金使用越高,收益越大,行情不好时,资金使用越高亏损越大,但我们无法去判断接下来的行情会如何,所以,历史测试的结果使用百分比的开仓方式是不合理,这也就是为什么,有时候会出现,资金使用率为80%是,测试结果是亏损的,而且使用率为40%时又是赢利的.总而言之,资金使用时应该选择固定的手数进行测试,不管他的行情如何,永不加仓或减仓,来测试一个模型更为合理;

3、测试方式:开盘价和收盘价测试均有其不合理性,趋势模型一般以趋势逆转点为开仓信号,故较为准确的是:出现指令价位。

测试结果的分析:

a.指令总数:也就是信号数,过高,说明震荡行情过滤不好,过低,说明风险大;如何判断信号数合理呢?那就只有不同的模型在同样的周期下的一个对比了.还有一个最简单的方式就是将 指令总数/有效交易天数 以日内短线为例,一般一个有效交易日的平均信号数在2-5之间(此数据仅供参考);

b.利润率:总利润不用看,只看扣出最大利润的结果,必须为正,而且测试周期越长利润率应该越大,很多模型,测近期不错,测远期就不行,所以测试时应该尽量的去测能测到的最长周期.(当然因为行情关系也可能出现,长期比短期利润率低,但总体而言,周期越长利润率越高,才是好的模型的测试结果)

c.正确率:其它条件都完全一样的情况下,正确率越高自然越好,但也不用为了看到一个高正确率的模型而心动,也不用因为你自己模型的正确率低而担心,一般的正确率能在45%左右,就不错了,因为程序化的本来意义就是赚大亏小,在震荡的时候正确率自然会低;

d.最大亏损率:如果你是选择的固定手数,比如10手进行测试,你的最大亏损率最大应该不能超过10%,当然,如果你选择的测试手数多,最大亏损率可能有所提高.如果你选择的80%的资金使用率,可能亏损会更大,当然也会有亏损的不大的测试结果,这往往和你的测试周期中的行情的一定关系,所以不值得过于依赖;

e.空仓时间:以日短线为例,空仓时间不能太高,太高,必然会错过大行情,当然,这一项不是最重要的,如果你空仓时间长,利润也高,错过就错过吧,错过不是过错,没赚到也不存在亏损的风险;小结:测试结果分析不能只看某一个数据,因为结合起来一起分析:指令总数不能多也不能少,周期越长利润率应该越高,正确率45%以上就可以接受,最大亏损不能过大,空仓时间可以自行把握;

如果一个模型做到了以上几点是不是就算一个好的模型了呢,基本上可以算了,但最重要的是我们还需要结合信号图形(此点需要一定的程序化经验,并不一定看上去好的模型就是好,当然看上去好是前提,如果看上去都觉得一般了,那肯定是不行)来分析,此外,还要看到模型里是否有未来函数,如果是日内短线,信号就一定不能消失,每天的跳空缺口需要技术性的回补等等其它问题都是分析一个模型好坏的理由,但是,一个好的模型是不怕任何测试与分析的.

三.程序化交易的执行

这一点没什么好讲却又不得不讲,很多有多年经验的操盘手,甚至一些国内的金融公司,常常会对程序化交易提出一定的质疑,我就遇到一个期货公司的老总,因为觉得程序化好,准备的资金,进行了程序化交易,首先我不知道他选择模型的依据是什么,号称只是因为人家是大公司,测试结果不错,(如果是我听到这样的话,肯定不会很快的就认定他们的模型,因为我也见过某些(不方便透露)所谓大公司的程序化交易模型的原码,说实在的,确实是**,理论基础都无法说服我,但做出来的图形要去迷惑一些想使用程序化的入门者是绰绰有余)结果这个老总使用该模型交易时,正好遇到一段时间的震荡行情,可能是亏了不少吧,然后决定放弃程序化交易.

这就是一个典型的程序化执行的例子,程序没有人性,我们在使用时就更不应该加入人性,如果你决定使用程序化就给自己一个时间期限(不管是真钱也好,模拟也好),时间不能太短,如果短也可以,必须在这段时间中,你要自己能分析出,是不是都能遇上基本上所有的行情,比如,测试三十天,遇到过十天的震荡,也遇到了好几天的大行情,以此来分析程序的好坏;绝不能因为几次的使用结果不好而去否认程序化,也不能因为几次的使用成功而完全信任,必须要有一定时间的观察与模拟,然后再到真钱的尝试,时间长短是小事,关键是是否经历过大部分的行情,从而选择一个最适合而不是最完美的模型进行自己的程序化交易;

一旦执行,你就应该忘记所有的金融市场的条条框框,你就是一个傻瓜执行者,聪明人在金融市场上不一定能生存,傻子在金融市场也不一定被淘汰.

总结:

以上经验,只是本人对程序化交易的一点点心得,仅代表个人意见,如果您有别的看法,我们可以相互交流,也希望能帮到刚刚入门的朋友少走一点弯路.总之,没有完美的程序化,不要怀有追求暴利的去使用程序化,做一个合理的模型,成为一个傻瓜执行者,你就能变成一个轻松的富翁.

财富的积累是一个过程,金融市场没有不可能!善于总结你也可以成为交易高手!

拓展阅读:

市面上经典的量化交易策略都在这里了!(源码)

期货/股票数据大全查询(历史/实时/Tick/财务等)

网格交易法,一个不容易亏钱的投资策略(附源码)

配对交易—这个股票策略曾年赚5000万美元

一个量化策略师的自白(好文强烈推荐)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值