前言

量化投资在国内算是比较新兴的投资流派,有过很好的业绩,也经历过低谷。要想做好量化投资,主要得把握好两个方面:一是策略逻辑,二是策略实现。

策略逻辑五花八门,比如技术流派的海龟交易策略、网络交易策略等,偏学术流派的多因子策略、统计套利策略等,还有更高端的机器学习策略。策略逻辑本身就是一个非常大的领域,每个人都有自己的想法和套路,而且细节各不相同,真正好用的也不可能全都分享出来。

策略实现则相对比较单纯。当我们准备进行实际的研究和交易时,必须要使用相应的工具来实现研究、回测、交易等功能。相对于策略逻辑来讲,这部分工作更清晰,也更容易标准化,故涌现了大量的第三方平台,比如期货界的文华财经、TradeBlazer,股票界的优矿、聚宽量化等。

第三方平台可以大量节省初期开发成本,对于个人投资者来讲是一个不错的选择。但是,当把量化工作作为长期事业时,这些第三方平台很快会显现出一些短板。比如有的数据不全,有的不支持自动交易等。这个时候,就不得不使用其他的平台了。可以想见,在不同的平台之间切换,其中的学习、管理、维护成本是不可小觑的。

对于机构来说,更是如此,所以不如从一开始就自主开发量化投资平台。在众多的开发语言中,最方便的开发语言则非Python莫属了。

在量化投资的研究过程中,80%的时间都是处理数据。Python处理数据的功能非常强大,用起来也特别顺手,而且Python的统计库也越来越完善。

目前国内Python相关的书以译本居多,虽然这些书对于Python本身的语法讲解是足够的,但是对于量化投资并没有详细的剖析,更不用提贴近国内市场了。

笔者相信在量化投资领域,Python的使用将是大趋势。本书的目的,一是介绍贴近国内市场的量化投资理论和策略;二是介绍Python在量化投资分析中具体的应用案例。一方面,希望能从理论上让读者有一个基本的认知,无论是学术理论还是业界实践理论。另一方面,希望读者能够根据书中具体的代码案例,自己动手实现并改进。

没有理论不行,但只有理论不实践也不行。故书中的内容是理论与实践相结合的,两手都要抓,两手都要硬。本书会针对大框架给出相应的示例,虽然书中所讲的策略不一定能直接拿来就用,但各种策略的大体框架都差不多,差别在于细节和执行,只要读者用心琢磨研究,必然能有所收获。

最后要感谢相关朋友的帮助。感谢迟明浩在股票多因子章节的贡献,感谢机械工业出版社华章公司策划编辑杨绣国的建议和帮助。

如何使用本书

对于量化投资,Python的学习流程一般可以分为如下六个部分。

1)了解基础语法和数据结构。

2)掌握Pandas的使用基础并进阶。

3)掌握统计理论及金融学术理论。

4)掌握金融量化实践、策略研究理论。

5)学习回测平台开发。

6)学习平台开发。

因为市面上已经存在大量讲解Python入门基础的书,故本书略过基础的语法和数据结构,直接从Pandas开始介绍。如果你之前从未使用过Python,那么建议先阅读一两本基础书,学习Python的一些基本语法、特性和内置数据结构(如列表、元组、字典等)。

Python量化投资相关内容非常多,限于篇幅和笔者经验,无法逐一详细介绍,只能介绍一些入门的知识和案例。

如果读者对某个模块特别感兴趣,想要深入研究,或者发现书中所讲有误,可以直接联系笔者:微信号为hellomoon9,邮箱为jason_zzq@foxmail.com

另外,本书中的很多案例都是笔者根据过去的从业经验边实践边记录的。当读者阅读时,代码很有可能已经过时,故我们维护了一个最新样例代码的网站:https://github.com/zzqoxygen/python_quant