一、简介
这是一本由www.epchan.com的创始人Ernest P. Chan撰写的量化投资理论的matlab技术实现的巨著,之中的很多观点非常新颖,他的量化投资策略在近些年的金融及债务危机中获得了十分优良的收益。值得技术开发者作为知识扩充储备来阅读
二、笔记
第一章 量化交易初探
量化交易的特点
我们中的很多人出于各种原因从事量化交易,如令人兴奋、挑战智力、增加财富,甚至只是因为这是我们唯一擅长的事情。但对于还有其他技能和机会的人来说,量化交易是否是最佳职业选择,还是要深思熟虑无论把对冲基金的巨大规模和数以亿计的巨额财富传说得如何神乎其神,在许多情况下,开始量化交易生意与开始任何小生意一样,都是从一点一滴起步的。我们需要从小规模、有限额 (也许初始投资只有 5 万美元)的投资入手,在获得经验及有盈利之后再逐步增加交易额度。
然而从其他方面讲,量化交易生意又与其他小生意很不一样,在此列出一些重要的区别。
营销非必要
量化交易与其他小生意有个最大、最明显的不同:对于绝大多数小生意来说,营销起着决定性作用,毕竟你要从其他人手里赚钱,而他们是要根据很多因素做出购买决定,并不仅仅看价格;在量化交易中,金融市场上的交易对手“仅仅”根据价格作出购买决定。除非你是在为他人管理资金(这已超出本书讨论范围),在量化交易业务中绝对不需要营销。这一点似乎显而易见且微不足道,但这的确是一个很重要的不同之处,因为量化交易只要求专注于自己的产品 (策略和交易软件),而无需受他人看法的影响去做任何事。对许多人而言,这也许是量化交易生意的终极魅力。
第二章 寻找切实可行的策略
目标
大部分选择成为交易员的人,都希望能够获得稳定(最好是增长)的月度收入或季度收入。但是如果你财富充裕,长期资本收益才是最重要的。策略上是追求长期资本收益还是短期收入,主要根据持有期来区分,显然,如果你持有一只股票平均长达一年,就不大可能会有很高的月度收入 (除非从一开始你就每个月构建一个新的子组合,且持有一年。也就是说,分时入市)。更微妙的是,尽管根据策略,持有一只股票的平均期限只有一个月,月度之间的收益率波动可能会很大 (除非你的投资组合包含数百只股票,这也是分时入市的一个结果),以至于无法使用月度收入来评估业绩。持有期 (或相反,交易频率) 和收益持续性 (即夏普比率,或相反,挫跌)之间的关系,我们将在接下来的部分进行更深入的讨论。简而言之,如果希望更频繁地实现盈利或赚取收入,你的持有期就应该尽可能地短。
有些投资顾问散布一种错误的观点:如果你的目标是最大化长期资本增长,最好的策略是买入并长期持有。这一说法在数学上早已被证明是错误的。实际上,“只要你能获得足够高的杠杆”,最大化长期资本增长可以通过最大化夏普比率(下节会给出定义) 的策略实现。因此,即使你的目标是长期增长,若不考虑税收以及保证金借贷限制,在一个持有期很短年度收益率较低、夏普比率很高的短期策略,与一个持有期很长、年度收益率较高、夏普比率较低的长期策略之间,你依然应该选择短期策略 (在第6章“资金和风险管理”中会详细讨论这一令人吃惊的事实)。
策略小结
找到潜在的量化交易策略并不难,来自于:
商学院或其他经济研究机构的网站。
面向零售投资者的金融网站和博客。
可与其他交易员交流心得的交易员论坛。
在进行大量的网络搜索及阅读交易杂志之后,你会找到很多有前途的策略。然后,根据我前面所列的筛选标准 (更准确的说法应为善意的怀疑),结合自身实际和需求,剔除一些策略:
你有多少时间可以用来完善你的交易程序?
你的编程能力如何?
你的资本规模有多大?
你的目标是稳定的月度收入还是追求大额的长期资本收益?。
在对策略进行详细的回测之前,我们可以先通过一些测试快速淘汰不合适的策略:
它能否跑赢基准?
它有足够高的夏普比率吗?
它有足够小的挫跌和足够短的挫跌期吗?
回测有无存活偏差?
与早年相比,策略近几年不灵了吗?.
策略具有避开基金经理激烈竞争的“特色”吗?
完成所有这些快速判断之后,就可以准备进入下一章了。下一章将会对那些选定的策略进行严格的回测,以确保这些策略名副其实。
第三章 回测
传统投资与量化投资的一个重要区别在于: 量化策略可以通过回测来判断其过去的业绩。即便你找到了一个可以提供详尽历史业绩数据的策略,我们还是需要亲自对其进行回测。这样做有几个目的。最基本的,是对策略的重复研究将确保你完整地理解该策略,并在交易系统中对其准确复制以实施。和医学或其他自然科学的研究一样,复制他人的研究结果能有助于我们确认,原始研究中没有犯那些会干扰研究过程的常见错误。但回测不仅仅是要做到应有的谨慎,更重要的是在回测中可以尝试修改原始策略,从而优化并改进策略。
策略改进
有一些常用方法可用来改进初次回测业绩不佳的策略。如何在改进策略时不引进数据迁就偏差,并保持少参数的简单模型,更像是艺术而非科学。一个与参数优化相同的指导原则是:任何策略改进要同时提高训练集和测试集的业绩。
经常有一些非常简单的策略,为交易员所共知,收益在不断下降,但仍然盈利。股票配对交易就是一个例子。收益下降的原因在于众多交易员会利用这种套利机会,从而逐渐消除盈利。然而,通常会对基本策略进行微小调整,来提升收益。
这些微小调整往往不如基础策略那样为人熟知,因此交易员也很少采用。比如有时会排除某只或某组特定股票。例如,交易员会倾向于从技术交易程序中排除价格易受消息影响的医药股,或面临并购的股票。还可以改变进出市场的时间或交易频率,甚至简单到选择一组不同的股票。有可能存在一项策略应用于小盘股时夏普比率很出色,而应用于大盘股时却非常糟糕。
策略的改进,最好基于经济学基本原理,或者透彻研究过的市场现象,而不是依据一些主观的试错法则。否则,就有可能产生数据迁就偏差。
回测小结
策略业绩的真实历史模拟过程叫做回测。回测的依据在于假设策略的未来业绩会与过去业绩一致,不过你的投资经理会不厌其烦地告诉你,没有人能保证一定会这样。
在进行真实历史回测,以及减少未来业绩偏离回测业绩时,会牵涉许多细节问题,包括:
数据:分拆和股息的调整,日最高、最低价的噪声,存活偏差
业绩度量:年化夏普比率和最大挫跌。
前视偏差:在过去的交易决策中使用无法得到的事后信息。
数据迁就偏差:拟合历史数据时使用过多参数,可以用大样本数据、样本外测试和敏感性分析来避免此类偏差。
交易成本:交易成本会影响策略业绩。
策略改进:通过策略的微小调整来优化业绩的常见方法。
测试策略时,由于时间和其他条件的限制,不可能避免所有陷阱。这种情况下,可以略过一些预防措施,快速感受一下这个策略是否具有潜力,是否值得做进一步检验。有时,最严格和仔细的回测都无法查验出来的问题,通过几个月的仿真交易或真实交易就会显现出来。在模型应用过程中,会经常遇到这些问题。
一日对策略进行回测并得到合理业绩后,就为下一步开展交易事业做好了准备。
第四章 创建交易业务
简而言之,零售经纪商可以给予完全的自由和更好的资本保护,但和杆较低;自营交易公司给予的自由和资本保护较少,但杠杆较高。找到一家合适的零售经纪商相对容易,我就只用了不到一个月时间的调查并在家零售经纪商开立了账户,至今也没想过要换一家。找到一家合适的自营交易公司则要麻烦一些,因为要签合约并通过系列 7考试。我大概用了几个月的时间才选择了一家并开立了账户。
当然,你可以同时拥有零售和自营交易账户,以满足不同策略的特殊需求。这样也可以很容易地比较成交速度和流动性的深度。
无论是选择零售经纪商还是选择自营交易公司,都要确保交易账户和系统满足以下特征:
相对较低的佣金
可交易金融工具品种广泛
有足够深度的流动资金池
最重要的是,获取实时数据和传送指令的 API
本章还谈到为满足交易业务需要逐步升级的设备。交易员的操作环境
包括:
一台双核或四核电脑
高速网络(cable、DSL或 T1)
防中断电源
实时数据和新闻来源
服务器托管
事实上,配置交易设备是相当简单的事情,因为你的家庭办公室可能之前已经全部都有了。交易上百万美元投资组合所需的设备,仅需几千美元的初始投入,以及每个月几百美元的运营成本。但如果你打算提升交易能力或提高收益,就需要额外的购置设备投资了。
在完成这些步骤后,就要构建能执行策略的自动交易环境了。
第五章 交易执行系统
自动交易系统是基于策略自动生成指令并将其传送给经纪账户的软件。这类软件的优点是:
保证与回测的策略完全一致。
不需手工操作,因此可以同时运行多个策略
最重要的是,可迅速传送指令,这对高频交易策略尤其重要。
半自动交易系统和全自动交易系统的区别有:
半自动交易系统,交易员仍需向组合交易器或差价交易器手动上传包含指令详细信息的文本文件,并在恰当的时间手动点击按钮传送指令。不过,指令文本文件可由 MATLAB 等程序自动生成。
全自动交易系统,程序能够在整个交易日 (甚至多日) 自动下参数据并传送指令。
自动交易系统完成后,你就要面对交易执行中的重要问题:最小化易成本和仿真交易。最小化交易成本主要是别让你的指令规模过多偏离平均日交易量和市值。仿真交易可以:
发现策略和执行程序中的软件漏洞。
发现前视偏差或数据迁就偏差。
发现操作困难,进而规划操作流程
更真实地估计交易成本。
获得有关盈亏波动、资本使用、投资组合规模和交易频率的重要直觉
最后,在真实交易业绩不如回测业绩时该做些什么呢?通常先处理以下常见问题:消除策略或执行软件中的漏洞;降低交易成本;通过减少参数简化策略。但从根本上来说,你的策略可能还存在数据迁就偏差和状态转换影响。
如果你相信 (并且只能相信,因为永远无法证明) 真实交易业绩差只是因为运气不好,而不是由数据迁就偏差或状态转换造成。
第六章 资金和风险管理
除了头寸风险 (包括市场风险和特有风险),还存在其他形式的风险按发生可能性从大到小,有模型风险、软件风险和自然灾害风险。
模型风险是指由于交易模型错误而非市场统计特征的变化而造成交易亏损的可能性。错误发生的原因可能有很多,例如数据迁就偏差、存活偏差等。为消除回测程序中各种偏差和错误,请合作伙伴或咨询顾问独立地复制出你的回测结果来确保其有效性是很有帮助的。结果复制是科学研究中的常用做法,在金融研究中也是必不可少的。
模型风险也可能来自于使用相同策略的机构交易员的激烈竞争,而不是由模型或回测程序的偏差或错误造成。也有可能是因为市场结构基本特征变化削弱了交易模型的优势。
随着交易亏损的增大,除了逐渐降低模型的杠杆直到零,没有什么更多的办法可以降低模型风险。根据最新的历史收益率均值和标准差,使用凯利公式不断调整杠杆,可以系统地做到这一点。(随着回溯期内的历史均值降为零,凯利杠杆也将调整为零。) 这比突然弃用一个发生了很多挫跌的交易模型要好 (参见下一节“做好心理准备”。)
软件风险是指由于每日生成指令的自动交易系统没有真实反映回测模型所引起的风险。其发生的原因在于软件故障无处不在。消除软件错误的方法:比较自动交易系统生成的交易与回测系统生成的理论交易,看它们是否相同。
最后,像地震、海啸之类的物理或自然灾害的发生也会带来巨大损失。在建立对冲头寸之前网络连接中断了怎么办?当传送指令时断电了怎么办?可参考避免物理灾害造成交易中断的许多方法。
风险管理是交易中至关重要的准则。由于单个交易或极短时间内的巨额亏损,导致大型对冲基金和投资银行倒闭的例子不少。实际上,大多数亏损是由于头寸的过度杠杆化而非模型本身的错误所造成的。一般来说如果模型业绩不佳,交易员就不会过度使用杠杆。只有那些迄今为止业绩仍十分出色的交易模型,因过度自信和过度杠杆化,处于巨额亏损的最大风险之中。本章提供了一个重要的风险管理工具:用凯利公式决定最优杠杆,除了决定最优杠杆,凯利公式还有另外一项用途:根据不同策略收益的协方差,决定不同策略之间的最优资本配置。
但是,如果对交易的盈亏波动没有做好心理准备,从而偏离理性决策的方案 (比如你的交易模型),再好的风险管理公式或系统也不能避免灾难的发生。风险管理的终极理念其实十分简单:不要被恐惧和贪婪所左右。为了获得这样的心理素质,开始交易时必须投入少量资金慢慢做,在用凯利公式扩大交易规模之前,要对交易的各个方面进行彻底测试 (模型、软件、操作流程、资金和风险管理)。
我发现,若想慢速、谨慎地发展,拥有其他的收入来源或业务有助于保持财务和情绪的稳定 (避免由于缓慢发展而引起的烦躁)。确实应该寻找一件事情来分散注意力,不论它是否能够带来收入,都会有助于你财富的长期增长。
第七章 量化交易专题
本书主要介绍量化交易的一种特定类型:“统计套利”。虽然名字很专业,但是无论从概念上看还是从数学计算上看,统计套利实际上还是要比衍生品(如期权)交易或固定收益工具交易简单。我已经介绍了统计套利的大部分标准做法:均值回归和惯性、状态转换、平稳性与协整性、套利定价理论或因子模型、季节性交易模型、高频交易。
现将一些应注意的重点总结如下:
均值回归状态比趋势状态更常 见。回测均值回归时存在一些棘手的数据问题,如异常报价和存活e偏差。
新信息的缓慢扩散、机构投资者大额指令的成交或“羊群效应会引发趋势状态。
交易员之间的竞争会减少均值回归交易的机会
交易员之间的竞争会缩短惯性交易的最优持有期
用数据挖掘方法可以发现状态转换。
平稳价格序列对均值回归交易非常理想。
两个或更多的非平稳性价格序列只有是协整的时候才可以构成一个平稳序列。
协整性与相关性不同: 协整性考察的是两只或多只股票“价格”的长期关系,而相关性与短期收益率有关。
因子模型,或套利定价理论,常用于模拟基本面因素对股票收益率的线性影响。
最著名的因子模型之一是 Fama-French 三因子模型,它假设股票收益率与贝塔值和账面市值比率正相关,与市值负相关。
因子模型会因为状态转换而有一个相对较长的持有期和挫跌期。
均值回归策略和惯性策略清仓信号不同。
均值回归策略最优持有期估计由于 Ornstein-Uhlenbeck 公式而比较可靠。
惯性策略最优持有期估计容易因为信号数量较少而出错
止损适用于惯性策略,但不适用于均值回归策略。
近年来,股票的季节性交易策略(如日历效应) 已经变得无利可图。
商品期货的季节性交易策略仍然可以继续盈利。
根据“大数定律”,高频交易策略具有较高的夏普比率。
较高的夏普比率使高频交易策略具有最高的长期复合增长率。
对高频交易策略进行回测非常困难,策略执行有技术依赖。
高杠杆的低贝塔值股票组合的长期复合增长率,比低杠杆的高贝塔值股票组合高。
大多数统计套利交易策略都是这些效应或模型的组合。这些策略能否盈利,更多的与使用它们的地点和时间有关,与策略本身在理论上是否正确无关。
第八章 结语:独立交易员能否成功?
事实上,关键就是“容量”,容量就是一个策略能产生较好收益率的净值规模。相比于 1亿美元的账户,10 万美元的账户获得较高夏普比率要容易得多。许多简单且可盈利的策略对小容量有效,但对于大型对冲基金,这些策略可能都不适用。这就给我们独立交易员提供了生存空间。
许多盈利的小容量策略其实就是在扮演做市商角色:在市场需要短期流动性时提供流动性,在流动性需求消失时获利走人。但是,如果管理着几十亿美元,你变成了需要流动性的一方,就不得不为获取流动性而支付一定的成本。为最小化流动性需求的成本,你只能持有头寸较长时间。而持有头寸较长时间,你的投资组合就会遭遇不利的宏观变化 (如状态转换)。尽管模型合理的话,长期可以盈利,但是那些偶然事件导致的大幅挫跌仍无法避免,而这样的事往往会成为头条新闻。
大型机构的大容量策略还有其他劣势。对冲基金间的激烈竞争意味着策略的几无盈利。过低的收益率迫使基金经理不得不过度使用杠杆。为了在竞争中获胜,交易员们必须开发更加复杂的模型,这又容易产生数据迁就偏差。尽管交易模型越来越复杂,但他们努力寻找的市场无效性仍可能是一样的,从而最终还是持有非常相似的头寸。当市场环境改变时,相似损失头寸争先恐后的清仓,可能会 (实际上确实会)引起市场的彻底崩盘。
独立交易员在大型基金失败的时候能够成功的另一个原因是,基金的管理层施加的各种各样约束。例如,量化基金的交易员可能被禁止使用纯多头策略,而纯多头策略往往更容易发现、更加简单、盈利更高,如果小规模交易,也不会比市场中性策略的风险更大。或可能被禁止从事期货交易,或可能被要求不仅要市场中性还要行业中性。当你认为均值回归策略有效时,可能被要求去寻找一个惯性策略。诸如此类。不可否认,有些约束是出于风险管理的需要,但有些可能是管理层的一时心血来潮,或莫名其妙的想法。所有学过数学最优化的学生都知道,任何施加在最优化问题上的约束条件都会降低最优值。同样,基金施加的约束也同样会降低策略的收益率,如果没有同时影响到夏普比率的话。最后,有些监督量化基金前台投资经理的高管,由于并不精通量化技术,他们往往不是根据量化理论做出决策。
当策略表现出盈利迹象时,这些管理层就会施加强大压力,要求你迅速扩大投资规模。一旦策略开始出现亏损,他们又可能会要求你马上清仓,弃用这一策略。这些量化投资中的干预行为没有一个是数学上的最优。
除此之外,这些管理层人员的性格往往反复无常,这又对量化投资造成不利影响。发生亏损时,他们最缺的往往就是理智。
而独立交易员可以免受这些限制和干预。只要你性格坚定,能够坚持量化交易的基本原则,你的交易环境可以比大型基金更加接近最优。
三、名人书评
技术的进步使得发展交易策略变得更加简单。欧内斯特·陈使用了许多最新的量化交易技术,通过简洁描述其众多优点和少许不足,提供了一本真正服务于所有目前及即将成为交易员的专业书。”
——彼得。波里什(Peter Borish),计算机交易公司董事会主席兼首席执行官
“在《量化交易》一书中,欧内斯特·陈博士为交易策略的发展、回测检验、风险管理、编程知识实时交易系统的研发和算法交易的运行,逐步建立起了一个最佳结构框架。”
——耶瑟—安瓦尔(Yaser Anwar),交易员
“量化交易是一个被神秘面纱所笼罩的极具挑战性的领域,看似艰深,只有少数精英人士才能掌握,欧内斯特·陈博士在其朴实无华的实践指导中,指出了进行一项成功的自动交易操作的重要基础,并分享了其在艰苦历程中获得的经验教训,为个人交易员和机构交易员指出了明确的前进方向,以避免掉进一些常见的陷阱中。”
——罗萨里奥·M.因加尔焦拉(Rosario M.Ingargiola),Alphacet公司首席技术官
“本书为个人投资者如何建立稳定可靠的交易结构以便成功进行算法交易提供了一个有价值的视角。欧尼在构建交易系统上丰富的实践经验对那些希望交易知识更上一层楼的交易者来说是十分宝贵的。”
——雷蒙·卡明斯(Ramon Cummins),个人投资者
“这些年来,我所读过的关于量化交易的绝大部分书籍和文章都没有多少可取之处。在多数情况中,作者不是没有真才实学,就是因为害怕交易秘密被窃取而不愿将重要内容写在书上。欧尼有着不同的创作理念:提供了大量有价值的信息以及与量化交易各项内容有价值的广泛互动。欧尼成功地将大量琐碎艰涩的知识简化成初学者乐于接受的清晰易懂的内容。”
——史蒂夫·哈尔彭(Steve Halpem),HCC资本管理公司创始人