本节目录
策略回测
多因子模型
本节主要讨论回测相关的内容,包括两种不同的回测机制,即向量化回测和事件驱动回测;如何灵活使用开源工具来编写自己的回测程序;不同实现方式的优劣对比等。
在我们研究策略的时候,需要知道某个策略的历史表现,这种情况就需要编写回测程序来查看了。编写回测程序有两种模式,一种是向量化回测,一种是事件驱动回测。这两种模式都有其对应的优点和缺点。本部分将对这两种模式进行讨论,包括如何自己编写回测程序,如何使用开源框架等
回测系统是什么
最基本的回测系统是指,当我们有一组交易规则,需要根据历史数据来获取这组交易规则的业绩表现时,除了给出历史表现之外,有时候还需要优化参数。比如,交易规则设定了一些参数,我们需要知道哪组参数表现最好,这种情况就还需要一个优化系统。更精细一点的,有时候还需要对下单的冲击成本进行模拟,这种情况就还需要一个模拟撮合系统。这些系统都是回测系统的一部分。可以看到,回测系统想要简单时可以非常简单,想要复杂时也可以非常复杂。具体如何选用、开发,还是要根据自己的需求来决定。
各种回测系统简介
策略回测是一个非常广泛的需求,市面上有很多商业的或者开源的系统。各种系统数量之多,如何选择也是一个问题。一般来说,开发回测程序有三种方式,具体如下。
口 使用现成的商业软件,这种商业软件提供的编程语言大体包含两类,一类是比较简单的Easy Language,比如Multicharts、Tradeblazer、文华财经等。另一类是稍微复杂的事件驱动型,比如优矿、OpenQuant、quantopian。
口 使用开源的框架进行二次开发,比如zipline、pyalgotrade等。
口 使用任何一门编程语言自行开发,比较流行的有Python、Java、C#、Matlab、R等。