回测
传统投资与量化投资的一个重要区别在于:量化策略可以通过回测来判断其过去的业绩。即便你找到了一个可以提供详尽历史业绩数据的策略,我们还是需要亲自对其进行回测。这样做有几个目的。最基本的,是对策略的重复研究将确保你完整地理解该策略,并在交易系统中对其准确复制以实施。和医学或其他自然科学的研究一样,复制他人的研究结果能有助于我们确认,原始研究中没有犯那些会干扰研究过程的常见错误。但回测不仅仅是要做到应有的谨慎,更重要的是在回测中可以尝试修改原始策略,从而优化并改进策略。
本文将介绍回测的常用平台、回测所用的数据来源、回测必备的业绩度量指标集、应加以避免的常见陷阱,优化和改进策略的简单方法。此外,还会通过几个完整的回测例子来说明所涉及的原理和技术。
常用的回测平台
有许多商业平台可以用来进行回测,其中有些平台的收费很高。由于本书主要面向的是刚起步的交易员。所以主要介绍一些自己比较熟悉且经济实惠、运用广泛的平台。
1、Excel
无论对零售交易员还是机构交易员,Excel都是最基本、最常用的工具。如果你会编写VB宏语言,Excel的功能就更加强大。Excel的美就在于它能够实现“所见即所得”。由于数据和程序都在同一个界面上使用,所以没有任何隐蔽的内容。另外,在回测中常见的“前视偏差”(稍后会详细介绍)几乎很少在Excel中出现(除非使用了宏,这时就无法实现“所见即所得”了),因为我们可以很容易地在电子表格中将不同数据列的日期对齐。Excel的另一个优势是,能在同一张电子表格中同时进行回测和实时交易,从而避免重复编写程序。Excel的主要缺点是,它只能对相对简单的模型进行回测。但是,正如上一章所说,简单的模型往往是最好的!
2、MATLAB
MATLAB (www. mathworks. com)是在大型机构工作的量化研究员和交易员最常用的回测平台之一。它是测试大型股票投资组合策略的理想工具(想象一下在Excel中对一个包含1 500只股票的策略进行回测一虽说不是不可能,但一定非常痛苦)。MATLAB集成了许多高级的统计模块和数学模块,如果交易员的交易算法涉及一些复杂而又常用的数学概念,就不用费时费力重新编写程序了。(统计套利交易的因子模型中常用的主成分分析就是一个很好的例子,如果用其他编程语言来实现是非常麻烦的。见例7.4。)此外,我们还可以免费从网上下载大量MATLAB的第三方插件。其中很多插件对量化交易十分有用(例7.2中用到的协整软件包就是一个例子)。最后,MATLAB可以很方便地在网上检索金融信息,并将其转换成有用的格式(称为网络抓取)。例3.1展示了这一过程。
尽管MATLAB看起来似乎很复杂,实际上还是很容易学的(至少对于基本功能是这样),并且用它很快可以编写一个完整的回测程序。MATLAB的主要缺点在于它可能相对较贵:一个拷贝大概需要1 000美元。
不过市场上还有许多MATLAB的替代品,编写和使用的代码都与MATLAB十分相似,如:
· Matrix (www. omatrix. com)
· Octave (www. gnu. org/ software octave)
· Scilab (www. scilab. org)
这些替代软件的价格只有几百美元,甚至是免费的。当然,收费越高的替代软件,对MATLAB编写的程序的兼容性也越好。(如果是完全自己编写程序,不用第三方提供的代码,也就不存在兼容性的问题了。但这样的话,就丧失了使用这门程序语言的一个主要优势。)MATLAB另一个缺点是,虽然适合进行回测,但却很不适合作为执行平台。所以,在完成策略回测后,还需要用其他程序语言构建一个独立的执行系统。虽然MATLAB有这些缺点,但这并不妨碍它在量化交易领域的广泛应用。在本书中,我会给出所有回测的例子所用到的MATLAB代码,并在附录中对MATLAB语言做简要介绍。
3、TradeStation
TradeStation (www. tradestation. com)是许多零售交易员很熟悉的经纪商,提供直接与经纪商的服务器相连的、既可回测又可执行交易的一站式平台。
这个平台的主要优势有:
·平台自身就有进行回测所需的几乎全部历史数据,如果使用Excel或MATLAB,要从其他地方单独下载这些数据。
·在对程序进行回测后,就能立即使用同一程序下单,并将指令传送给经纪商。
这个平台的不足之处在于,一旦用这个软件为策略编写了程序,就自动默认TradeStation为经纪商。另外,TradeStation的专有语言并不能被MATLAB这样的软件所兼容,也不包含那些交易员经常使用的统计或数学模块。不过,如果你喜欢一个能够集所有功能于一身的系统,TradeStation也许是一个不错的选择。
因为我在实际工作中没有用过TradeStation,所以就不给出用TradeStation进行回测的例子了。
4、高端回测平台
如果你有足够的财力,可以购买某些机构所使用的高端回现平台,下面是部分清单:
· FactSet's Alpha Testing (www.factset. corn/ products/ directions/qim/ alphatesting)
· Clarifi's ModelStation (www.clarifi.con-/ModelStation-Overview.php)
· Quantitative Analytics' MarketQA(www. gaisoftware. com)
· Barra's Aegis System (www. mscibarra. com/products/analytics/aegis)
· Logical Information Machines(www.lim.com)
· Alphacet's Discovery(www.alphacet.com)
这些平台,我只用过Logical Information Machines和Alphacet Discovery,以我10年前的经验,Logical Information Machines测试期货交易策略最合适不过,但测试股票交易策略就要差一些。Alphacet Discovery是一个集合了数据检索、回测、基于机器学习算法的优化以及自动执行功能的新产品。它的功能非常强大,可以在期货、股票、外汇等市场上进行回测和交易。