虽然量化交易存在的历史已经有几十年了,但是直到2010年,量化投资才逐渐进入大陆投资者的视野。
这几年,币圈采用量化投资模型的产品尤其火(一听名字就高大上啊),一旦跟量化沾上边(不管是真量化还是假量化),很容易受到投资者的追捧。学习和研究量化交易的人越来越多,小善也在与时俱进,细读了不少相关书籍。
博特量化将结合这几年的操作经验,分享《量化交易--如何建立自己的算法交易事业》的精华内容,普及量化投资的相关知识。原书作者是欧内斯特·陈,感兴趣的朋友可以自己深入阅读。 这本书不是量化交易技术或术语的百科全书,也不会专门介绍一些特殊的盈利策略,而是一本教你如何自己去寻找盈利策略的书。它会告诉你好的策略的特征是什么、如何识别策略的陷阱、如何通过对一个策略进行优化和回测来确认其是否具有良好的历史业绩以及评估策略的稳定性和可靠性。另外,它还会教你一些风险管理的基础知识,让你更好的长期在市场中生存下来。
第一篇我们先来看看如何鉴别优秀的量化交易策略。
科普部分
一、什么是量化交易?
量化交易也称为算法交易,是严格按照计算机算法程序给出的买卖决策进行交易。 大家容易把量化交易与技术分析混淆,实际上量化交易的内容丰富的多。许多量化交易系统在进行建模和运算的时候会用到基本面数据和交易所的量实时数据。
二、哪里可以找到策略思想?
博特经过今年的积累与总结,发现有一个普遍的问题,就是不知道怎样去寻找交易策略的想法。其实这是一个小问题,寻找交易理念事实上并不是打造量化交易的最困难的部分。因为我们可以从网络上非常容易获得优秀的交易思想甚至已经写好的策略及其回测结果。
博特在一些分享会经常跟读者分享,从金融投资方面的书籍、报纸杂志、主流媒体网站、学术论文、交易员论坛和博客等地方获得策略。无论是在国内还是国外,作者提供的这些渠道确实是可以找到很好的资料的。除了以上渠道之外,博特还经常通过以下方式学习和获得交易策略:
1. 各大交易所的研究报告。这是一个非常好的学习资料来源,各交易所有各种量化策略报告,包括基本面量化、技术指标量化、情绪指标量化等。这些报告中的一部分是以非常严谨的方式做的研究,得出结论的可靠程度是很高的。
2. 量化社区
国内的区块链火了以后,量化投资也跟着火了起来,量化社区发展壮大的速度非常快,比如博特量化,旨在打造一个量化工具跟量化策略的大交易平台。在平台上面要汇集搬砖工的分享和讨论量化交易策略,社区还提供免费的回测平台供缺少数据的同学使用。其实国外的量化社区更丰富,如果英文足够好,去Bing或者Google一下就找到了。
有了上面的策略检索和分享来源,我们就可以接触到量化交易领域中绝大多数的策略思想了。
如何认识交易策略:
下面这张图是小善从网上搜来的一个策略回测图线。光看图线走势,该策略是博特开发的策略。但它对你来说一定是个好策略吗?恐怕不能仅仅依靠看图来下结论。
我们来看看如何认识交易策略。
一、什么更宝贵,策略本身还是甄别策略的能力?
作者看来,那些你认为是秘密的策略多半早已为他人所知。一项策略真正的独有价值和值得保密的地方是你自己的窍门和所进行的变形,而绝不是基础版。对于量化交易研究者而言,真正困难的地方并不是缺乏交易理念,而是缺乏甄别策略的能力。这种甄别能力需要我们判断一项策略是否适合自己的实际情况和交易目标(比方说大基金用的策略要求资金容量大,这可能会以牺牲收益率为代价,但是小资金完全可以用大资金没法使用的更高收益率的策略),需要在花费大量时间进行回测之前就能判断出策略是否可行。
二、寻找适合自己的策略需要考虑哪些主要因素?
1. 交易时间。自己是否有时间进行日间交易?如果没有,可能需要考虑隔夜持仓的交易策略。
2. 编程水平。你只会Excel还是可以写Python、Java、C或者C++这些语言?如果只会Excel,可能做的交易策略会比用其他编程语言能做的交易策略简单一些。需要澄清的是:简单的未必是不好的。
3. 资金规模。小的资金规模能够交易的股票数量少,同时也会限制对冲策略的规模,这都会影响交易策略的选择。
4. 收益目标。你的收益目标需要综合考虑持有期和收益持续性之间的关系。
三、识别貌似可行的策略及其陷阱
当一个看上去不错的策略呈现在你面前的时候,如何去评价这个策略?这就是本篇文章的重点:识别貌似可行的策略及其陷阱。投资者可以使用这些方法快速评价拟投资产品所使用策略的好坏,量化交易爱好者也可以在进行严格的策略回测之前进行一次省时省力的评估。
1. 策略与基准相比收益如何?收益的持续性如何?
这个问题主要需要回答策略能否跑赢基准和是否有够高的稳定性。
2. 挫跌多深、多久?
用作者的话说,如果一项策略近期正在亏钱,它就正在经历挫跌。时刻t的挫跌被定义为:当前净值(假定期间内未发生任何赎回或注资)与t时刻或之前的净值曲线最大值之差。“最大挫跌”是净值曲线最大值与之后的净值曲线最小值之差。净值的最大值又被称为“高水位线”。“最长挫跌期”是指净值重返亏损前的水平所花费的最长时间。探究这个问题的意义在于搞清楚:在投资组合清盘或策略结束之前,你能承受多深和多久的挫跌?是20%和3个月,还是10%和1个月?用图比较容易理解这个定义:
3. 交易成本对策略的影响。
这包括两方面,一方面是因为证券买卖都会发生手续费,交易越频繁,成本对策略的盈利的侵蚀就越多。另外一方面是流动性成本,当你以市场价格买卖证券的时候,需要支付买卖价差。如果你用限价指令买卖证券,确实可以避免流动性成本,但是却要承担机会成本,因为你可能买不到或者卖不出去。
4. 数据有无存活偏差?
股票价格的历史数据库往往不包括由于破产、退市、兼并或者收购而消失的股票,因为回测数据库中只有幸存者,所以会存在所谓的存活偏差。使用有存活偏差的数据进行回测是很危险的,因为这样会夸大策略的历史业绩。
5. 策略的业绩如何随着时间的变化而变化?
这是一个很重要的问题,因为有很多策略早些年的业绩要远远好于现在,在出色的多年累计业绩之中,早些年或者某些年的贡献特别突出,我们应当对这种非常隐蔽的误导提高警惕,这背后主要有两方面的原因:一方面是数据的存活偏差导致,回测回溯的越早,消失的股票也越多,偏差就越大。另外一方面是金融市场随着制度变化或者交易者的构成的变化会在底层生态上面存在“状态转换”,因此可能出现在之前某段时间内该策略表现特别好但是后来表现平平的情况。考虑到这两方面的原因,我们应当重点关注某个策略近几年的表现。
6. 策略是否存在数据迁就偏差?
数据迁就偏差的本质是通过对参数进行过度的优化,令策略历史业绩看上去非常棒,这会产生什么问题呢?数据迁就偏差的本质是经过过度优化之后呈现的数据模式已经远远偏离真实世界,使得模型与过去发生但是未来不会再重现的任何偶然历史事件吻合,其结果就是该策略的未来业绩与回测结果截然不同。一般而言,策略的规则越多,模型的参数越多,就越有可能发生数据迁就偏差。
用通俗的话说,如果用一个集所有你喜欢的女星之优点的美女作为模板去找老婆,能找到才怪。
最重要的一点:深刻认识盈亏同源
说了这么多,博特觉得无论对于投资者还是交易者而言,以上对量化交易策略优劣的快速评价方法应该都是很有启发的。
博特在这里还想特别强调一个事情,即天下没有完美的策略,就如同天下没有完美的老婆一样。如果一个策略是整体来看是赚钱的并且你打算使用,你就要忍受他的缺点,如果你无法忍受缺点,那你就不要用这个策略,或者不要买使用这个策略的产品,因为盈亏同源。任何一个策略,都无法做到百分之百盈利,亏损是策略的一个不可分割的部分。
通俗的话来说,你的盈利和你的亏损的本源是一致的,这同样的本源带来了收益也同时带来了亏损,如果你试图躲开亏损,那你必然也同时躲开了盈利。只有正确深刻地认识到这一点,你才有可能以正确的态度面对策略中的亏损、正确的评估最大挫跌和最长挫跌自己是否可以忍受,只有正确地认识了亏损,你才有可能稳定和持续地盈利。
网友评论