如何评估量化交易产品?量化产品如何收益?怎么研究量化交易?如何设计数据处理系统架构?如何科学化研究系统?如何应用二级市场量化风险模型?
目前与思凯一同创业 “倍发科技” http://betalpha.com/
看一下量化交易,先看一个实例,什么是量化交易。
我们做量化交易,先要观察,找一些信号,有人就做观察,假设他看到“一年之中有很多天股指期货价格波动率超过3%”。于是他就有了一个想法,希望在波动率比较大的天判断好方向,加大仓位,在其余天控制亏损。他就打开他的电脑,进行无数次的研究、测试、再研究、再测试。这个很早的策略的实盘曲线如图,这反映了当时的原始思想,就是在有特别明显趋势的天,它大幅度的盈利了,但是其它天在不断的回撤,但是每一天的回撤都特别小,一年赚了30%。这是量化交易1.0的工作方式。最主要的工作是建立模型,写代码,做测试;测试以后发现有问题,需要去改模型,再测试。用数学方法做建模,用计算机做数据处理。在大量统计研究基础上充分运用科学的方法来判断价格方向,它追求的是持续稳定的盈利。
量化交易最需要的技能是三块:金融、统计、计算机。金融,了解金融的基本概念,金融相对于后面两者来说,要求稍微低一点。更需要的是后面两个东西:数学与统计,但是数学统计我们需要多高深的知识呢?我是学基础数学的,做数论、密码的。量化交易用不到那么复杂的东西。数学统计需要用到的数学知识包括几个方面:大一的数学分析,线性代数、数理统计、时间序列,主要用大一、大二、大三的知识。但是需要用得比较多的是数学的建模方法、建模思维,把一些东西做数学化的抽象和刻画。你要不断的练习,用数学的抽象描述世界。
还有一个是计算机,我们每天工作的大部分时间真的是在写代码。会想模型,要把它测试出来,去分析;过程中还有BUG,要调试。还要搭系统,研发系统和交易系统,系统是很大的较复杂的。计算机是必不可少的,这是你每天做实验的工具。有人问,我到底需要掌握什么样的计算机编程工具。这要看不同的交易策略,做高频交易需要C++;其它策略可以考虑Python、R、Matlab甚至Excel。有人说,计算机技术发展得很快,Machine learning和深度学习可不可以用呢?有可能,但是如果你纯用Machine learning去做交易,很有可能学习出来的维度特别高,拟合的嫌疑很大。
量化交易因为是用模型去刻画盈利逻辑,往往容易程序化;也可以通过模型来做风险控制;而且相对易于检验模型是否靠谱和搬迁到其它交易品种上去检验。量化交易还可以避免心理干扰,我的程序放在那儿跑就行了。经常我们的团队说我们出去玩两天,东西放在那儿,不管它,最多在玩的时候把手机掏出来看看程序跑得是不是正常。
前面说了程序化,多数情况下我们把程序化交易和量化交易看成是相等的,我更认为量化交易是一个方法论,怎么建模,怎么做模型检验、怎么实验验证和跟踪的过程;而程序化强调它可以自动的运行。
量化交易的三件武器:第一件,也是最重要的,量化交易是以大数定律来挣钱。大数定律是我们在大二的时候就学过,我们把每次交易看成是一次赌博,这是一个事件,这个事件是随机变量,如果随机变量的均值能够覆盖成本,我就觉得我有信息优势,我就愿意参加这个赌博;如果覆盖不了成本,你就不要做了,做的越多亏的越多。同时我们希望我们做的次数越多越好,公式下面是N趋向于无穷大,N次独立同分布交易的平均收益随着N不断增大,越来越趋近于它的期望,所以我们要考虑怎么让它的次数更多。
第二件武器就是交易科技。量化交易需要交易科技来配合,其中有一条是快,因为我们做交易的参考是信息,而价格是对信息的反应。我们需要交易科技达到快,这就需要你快速地搜集数据,快速地分析数据,快速地发出指令,这些要求你要有一些通讯技术以保障快速的网络连接,同时应该把计算机系统优化,还可以考虑如何用硬件把它加速。当然你也可以考虑做好快速的信息处理,例如现在已经有人在讨论把互联网的大数据拿来做交易分析,就非常需要快速信息处理。有很多文章已经在讨论这个方向,例如有人提出用Twitter来看美国股市。文章写得挺好的,不过这样的分析需要大数据技能比较强的人。不过我对于Twitter来做方向性的预测持保留意见。快可以让你比别人更早的获得行情、更迅速地做判断、更早的报单子进去,从而降低你的交易成本。你可以更快的看到别人报的单子,可以更快的抢到;你抢完了,后面的人只有花更多的成本获取。
量化交易第三件武器就是可以跨市场交易。在跨市交易中你可以提高资金的使用效率,分散风险,一份资金可以交易很多市场。无论做高频交易还是做中低频,我都强烈建议大家做多品种,特别是对中低频做多品种是至关重要的。
如何评估量化交易策略,评估一个交易策略可以依据许多指标,如果让我只选择一个技术指标,我会选择夏普比率/信息比率,如果你把收益率当做一个正态分布,你知道了它的夏普比,你就知道它的某种VAR。夏普比越大越好,超高频交易能达到6以上,甚至达到十几;低频的可能只有1到3。参考一些美国著名的规模较大的基金,夏普比大概在1附近。当然你还可以看最大回撤这一指标,但是这个是心理指标,是每个人能接受的最大的亏损的范围。这个参数可以通过杠杆来调节,所以只看一个指标我不会看它。但是如果资金投给别人管理,因为控制权不在自己手上,那我还是会看的。这里面我要说一点,量化交易者一般是风险厌恶者。
如何评估它的量化交易策略?这需要确认他是否用科学的研究方法。假设某人拿一个报告给你看。你可以问他:“你的交易成本怎么算?中间有没有过度拟合的可能,怎么判断有没有拟合?”交易成本包括好几个方面,手续费,流动性成本;还有两个很难测的成本,一个是冲击成本,就是说我资金放进去对市场的冲击是怎么样的;还有一个是机会成本。有没有过度拟合,例如某人的策略盈利只有那几天,其它天都没有交易,这明显就是一种拟合。你可以用简单的方法把盈利最大的几天去掉,再看它的夏普比高不高。如果只有几天盈利,我怎么知道未来什么时候能碰到这几天。
如何评估量化交易策略还有一个更重要的方面就是人,对于投资来说最重要的就是评估人,这适用于做任何投资,包括做风投,这个人靠谱、这个人能力强,这是最重要的。说说做量化交易的人,穿着有特征吗?我今天都穿得比较正式了。量化交易者穿着的标准特征是,码农穿什么,量化交易的人一般就穿什么,可能穿的就是冲锋衣+牛仔裤,熟称“码农套装”。当然只看衣装肯定不靠谱。其实这类人给你介绍量化理财产品,一般会跟你特别地强调风险,之前说过量化交易投资者一般是风险规避者。你接触多了就会发现强调风险越多的人,往往越靠谱的。我自己投资都投给我接触得多了解得多的这样的人。我认为做量化交易的这些人是金融界最踏实的、最天真无邪的一帮人,包括我刚才说的清华的师兄,还有很多做此行我的同学。有一天我跟我同学吃饭,他跟我说人生最后悔的一件事是在本科的时候接了一个开发项目,他被介绍说成他是一个博士。他觉得他撒了谎,不该这样做。这些人真的很单纯?因为他们不求人就可以挣钱,他没有理由不单纯,他没有动机要骗你。
谁在做量化交易?其实某种程度上做量化交易的这些人,可以说是实验物理学家,不停做实验、测试、修正,同时特别强调要有实验物理的精神。图中这位大佬就是以前学物理的,后来去做quant。有金融学的理论是以他的名字命名。话说我之前听过一个老师讲课,他说他发明了金融物理学。这个老师讲了一件很有意思的事,他说他做了一个策略特别好,做了20次实验,有19次都明显赚钱了,到20次不够理想但专门等到它赚钱才平仓,最后是百分之百的赚钱。这个人明显不是做物理学的,做物理的要容忍有误差。做量化交易的人员其实有很多学数学、计算机、物理、化学的,理工科的比较多,当然有学金融的。
下面来讲量化交易的案例,这是一个实盘交易的帐户,在一年时间里从20多万做到了90多万,业绩相当不错。对高频交易来说,净值曲线比较直的往上走就是特点。另外一个特点:它的手续费交了84万,赚了60多万,手续费比赚的还多。大家看了以后有什么冲动?是不是很想去开赌场?高频交易策略的交易频率特别高,有时几秒就一次交易。有人认为日内交易就是高频交易,这种说法也可以。高频交易没有严格的定义。不过因为持仓时间比较短,所以每次赚钱比较少,但每次都要交手续费,因此手续费占的比例特别高。夏普比(+率)很可能在6之上,甚至达到10几。
这是统计套利中的Alpha套利,蓝线描述的是Alpha套利的策略净值,红线描述的是沪深300。Alpha套利其实做了多空两个方向的对冲交易,尽量把市场风险暴露控制到最小,也是追求持续稳定的盈利。看图中表格,我推荐大家策略做分年的测试,看看每年的策略的情况,以及策略适应性的大体趋势。我对期货比较熟悉,一般数据会是这样的走势。如果是只针对股指的量化高频策略,从2010年开始夏普比一般会逐年下降,今年会比较特殊;总的来说是因为竞争越来越激烈。但是如果是多品种合在一起的量化期货投资策略,有可能夏普比会逐年提高,因为可以做的品种越来越多。这也可以用作量化交易策略的判断。
如果同学想进入量化投资领域,我推荐大家从这两类量化投资策略入手。避免只做多头,风险太大。避免做持仓时间特别长的,交易的品种要尽量多,否则风险可能会很难承受。
下面我们来讲讲量化交易的流程,我们分为策略寻找,数据回测,通过虚拟交易系统检验执行,最后才会去做实盘。策略寻找,大家有不同的能力,不同的风格,你需要找适合你自己的策略,包括你的各方面因素:时间投入,编程能力(可不可以做自动化),你的资金量等因素。一般来说不是富二代,资金量还是比较少的,这个时候我推荐大家做期货。俸老师是不是把你往火堆里面推呢?
我们要谈谈大家对于风险的认识。大家很多时候会讨论,股票的风险大,还是期货的风险大?估计90%的人会说期货的风险大。如果只是这样模糊地谈风险,我觉得期货风险会更小。因为期货是T+0的,期货可以随时做空,期货可以放杠杆,但是你做期货也可以不放杠杆,无非就是把钱放在那里多一点,这意味着期货给了你更自由的空间,你凭什么说期货的风险比股票的风险大呢?对于风险的认识,更重要的是你去投资的时候你管理得怎么样,而不是侧重于标的资产价格变动的多少;更重要的是你能否抵抗你的贪婪欲望等心理。做投资的其实都希望价格变动,有些还希望价格能较快速变动。它不动投资会有什么收益?重要的是你能否把握价格的变动。所以如果你的资金量比较小,建议大家去做期货。
刚才还介绍了另外一种策略,Alpha套利,我个人觉得如果你要做Alpha套利,你应该准备至少两百万。现在同学有投入几千、几万块钱炒股,但多数很难放入量化交易范畴。如果你要做Alpha套利,那些钱不够。量化交易以大数定律的方式挣钱,一支股票一年交易的机会/次数太少的话,怎么足够体现大数定律来?那一定要交易更多的股票才好。要满足大数定律要求的次数多,可以走两个维度:一个是频率高,一个是交易品种多。
然后就是确定投资目标,你是追求短期盈利赚快钱还是想做长期的规模收益。赚快钱就做高频交易,刚才十万到九十万的那个就是一年多一点的时间。但是如果做长期的收益,收益期望不要太高。俸老师自己的期望,做长期的收益如果年化可以稳定在10%到20%,最大亏损控制在5%,那就挺好了。以Alpha套利为例,美国市场上目前收益大概年化在6%~10%,中国市场可能是10%~20%。
量化交易策略的评测之前有提到过,不再重复。这里来谈谈评测中间的陷阱。第一个陷阱,忽略交易成本。之前提到交易成本包括:手续费、流动性成本、冲击成本、机会成本。我们来举一些实例:比如说做跨期套利,单一期货品种有不同到期日的合约,合约的走向应该是比较一致的。所以你可以做它们的价差反转,来寻求盈利。往往很多人拿历史数据回测之后,发现夏普比率非常高,感觉可以随时捡钱。但真实去做了之后,才发现冲击成本其实很高,因为它需要同时交易两个合约,有一个流动性好点,有一个流动性差点。有时某个合约没有抓住,要去追单子,一下子成本就付出去很多。跨期套利做的是价格的反转,每次赚的钱少,交易成本占比非常高的,如果成交价格再滑一下,发现十次赚的钱一次就亏出去了。我们自己也有做市(Market Making)的策略,为市场提供流动性,市场行情显示了买卖价,我们的报价是在买卖价中间。回测的时候,根本不知道这个报单会不会成交,这就是机会成本。回测时候也不知道机会成本具体是多少?例如用TF国债期货去做策略测试,夏普比率完全可以大于十,真实交易会发现太坑爹了。
量化交易做了回测,夏普比只能说给了你一个指示,并不代表着未来你的策略就会跑的一样好。那也可能是拟合的结果。若你做了样本外的测试解释力度会强一些,不过我们始终要有颗心,拟合会是一个很大的陷阱。怎么防止过度拟合呢?主要是策略参数一定不要太多。交易次数除以参数个数的数字一定要比较大才好,比较大大数定律才能呈现出来,要不然是假象。
总之陷阱很多,大家一定要有严肃的科研精神,一定要把模型做得越严格越好,让你有充分的自信,再做实盘。