写在前面: 2016年7月30日,交易门的主角,高频交易员李奥应香港受交通大学香港校友总会之邀,做了一场题为《量化金融与高频交易》的主题分享会。征得李奥同意,交易门独家首发这次分享会的内容。本讲稿经过李奥修订,谢谢李奥。
图1 - 高频交易基本上就用纯的Market Data,因为它本身对数据要求高一点。Market Data是时刻在变的,但Fundamental啊,News啊,一般来说不会时时刻刻在变。 什么是高频交易?首先是自动化。高频交易没有可能用手去做,不在一个时间的水平上,要有很多计算能力,需要强大的计算机,然后是大量的下单,不会像人手一样,可能每秒,每毫秒,都在交易。 当然这个单也包括很多撤单,大量的报撤单。有的策略撤单很多,可能报了100多万单,只成交一万多单。另外就是非常高的速度。还有定义说,需要复杂的算法——我打个问号,因为有的算法其实是比较简单的,并不复杂,可能就是小学数学的水准。 在继续谈论之前,我先介绍几个时间的概念。我们平时计时,小的单位可能都是以秒,甚至以分钟记。在秒之下,还有毫秒:千分之一秒。人眨一下眼睛大概就是300毫秒的样子。上海到深圳的数据传输,一个ping大概是30毫秒左右。再往下有微秒,千分之一毫秒,百万分之一秒。在高频交易里面,做一个交易决定大概是10-20微秒,当然可以通过一些硬件的方式做到2个微秒左右。微秒下面还有一个纳秒,千分之一微秒。这就太极速了。
图2 - 比较下: 眨下眼睛,350毫秒;高频交易做1000个Trade Decision,只用15个毫秒。 我们常说眨眼之间,眨眼之间高频交易可以做超过一万次交易决定。所以高频交易的时间轴是不一样的,对高频交易来说,一秒钟已经太久。
图3
做市策略
做市商策略主要目的在市场上提供流动性,去Bid/Ask挂单,让Bid/Ask收窄,赚取中间的差价。听起来很简单,但是有很多模型啊,Risk Control啊,IT上面的军备竞赛啊。 就是说,这里面的几个大佬都做得比较好。 里面有很多东西可以谈,比如怎么去控制你的持仓,你的风险。还要做很多 Prediction。怎样去Ppredict Volatility和Price。这里面IT问题非常重要,因为竞争非常激烈。怎么提供更快的报价,怎样更快的撤单,都是非常重要的问题。 IT的成本很高,因为大家都在竞争,大家都想更快,从Co- Location,到FPGA,现在微波都上了。竞争很激烈。正是因为门槛很高,所以剩下的几家都做得不错。 对于普通投资者来说,做市的存在,让他买卖的差价更小,是有好处的。 图4 这是去年8月12日我的一个策略在上证50股指期货的表现。那天整个市场的交易量22.5万手,我的策略占到4.1%(9180手),P&L 也还行,Drawdown也比较小。Capital需求也很低,一整天只需要50万本金,赚了21万多,收益43.5%。 去年7月份,因为股灾,中金所开始在股指期货上对部分投资者进行限制。可以看到,7月份这几天Bid/Ask Spread有拉大的迹象,到9月7日,中金所开始对投机户进行限制,持仓保证金提高至40%,平仓手续费提高至万分之二十三,单个品种单日开仓交易量不超过10手。市场的成交量降低到不足以前的1%。因为做市策略不好做了,10手做市策略根本没法玩儿,有的被关掉了。大家可以看到Bid/Ask Spread的陡然变化。 图5 图6 所以做市策略可以增加市场流动性,让Bid/Ask Spread收窄,买卖量大时不致于有很多滑点。 做市策略需要大概估计一下,什么是更加合理的价格。股指期货做市,有人会用一篮子股票去预测股指的合理价格。
统计套利 这里面每个都是很大的Topic。我只是大概讨论下。 统计套利涉及到概率、数据挖掘、建模,交易执行,怎样做Data Cleaning。 数据挖掘非常重要,这个处理不好有时候是非常头疼的事情。有一句很经典的话叫做:Garbage in,Garbage out。很多Quant很多时间都花在数据处理上。有时候会发现非常激动人心的结果,回头发现数据搞错了。 一个最简单的套利模型就是历史价格的波动率,在两边加上一些执行区间。比如奶粉,花100块钱从香港买,到内地120块钱卖掉。中间你花了10块钱路费,最后挣了10块钱。这就是你的套利空间。 又比如黄金,国内外市场都有标准合约,理论上价值是一样的,拿出来都是两块金条。但是价格会有波动,我们去算这个价差,如果发现它偏离历史统计区间,譬如Brexit的时候,会发现中国的黄金便宜了,美国的黄金贵了。那我们可以去买入价格偏低的,卖出价格偏高的进行套利。当然,实际操作中,会有流动性等因素造成的影响,这需要一些经验。
预测 通过过去的市场数据和当前市场环境的比较,预测未来的价格走势:Price=a+b+c。这个“未来”可以是下一秒,下一分钟,下一个交易日,下一周,下个月。如果你的模型预测很准的话那就超NB了,不管是下一秒、下一分钟还是下一周。只要你的模型很有效,就很NB。这不是一个很容易的工作,需要基础,经验。这个我也还在学习,没有太多经验。 图7 这个基本的过程是先把数据搞好,再搞清楚,到底是哪些因素在影响市场。 你可以很快开始,拿个均线搞一下,可能很快出结果,但你模型的稳定性到底能稳定多久,这都需要去不停的Tuning,不停循环。你去Training、Evaluate这个Model,然后去Optimize你的Factor。 当然现在有很多Factor,有些人的做法就是,扔进去500个Factor。他的模型可以告诉他哪些Factor有用,哪些Factor没有用,也可以把很高Correlation的Factor自己去除掉。但这个东西,我还在学,我没有太多经验。我只是知道有这些做法。 一个Super Simple的——并不是说简单就不管用,最简单的一个预测模型,就是价格会回到均线。均线是什么周期的,自己去琢磨。这个中间的复杂性,大部分来自Data。Model的话,R里面有很多Package,可以帮你做到还不错的自动化。很多Indicator可以自动,图也很有帮助。 Data和Factor都需要不停琢磨。再去套这些Model。
Flash Boys
Quantitative Trading: How to Build Your Own Algorithmic Trading Business
The Quants: How a New Breed of Math Whizzes Conquered Wall Street and Nearly Destroyed It
The Problem of HFT - Collected Writings on High Frequency Trading & Stock Market Structure Reform
Inside the Black Box: A Simple Guide to Quantitative and High Frequency Trading
Algorithmic Trading: Winning Strategies and Their Rationale
Quantitative Trading with R: Understanding Mathematical and Computational Tools from a Quant's Perspective
http://numericalmethod.com/courses/introduction-to-algorithmic-tradingstrategies-2011-2013/ https://www.quantstart.com/articles/beginners-guide-to-quantitative-trading https://www.zhihu.com/publications/nacl/19550372