前 言
为什么写作本书
作为投资者,我们常听到的一句话是“不要把鸡蛋放入同一个篮子中”,可见分散投资可以降低风险,但如何选择不同的篮子、每个篮子放多少鸡蛋,便是见仁见智的事情了,量化投资就是解决这些问题的一种工具。
而Python在1991年诞生,目前已成为非常受欢迎的动态编程语言,由于拥有海量的库,所以Python在各个领域都有广泛应用,在量化投资界采用Python进行科学计算、量化投资的势头也越来越猛。目前各种在线策略编程平台都支持Python语言,例如优矿、米筐、聚宽等,这也是我们选择Python进行量化投资的原因。
目前市场上关于Python与量化投资的图书不少,但仔细研究后不难发现,很多图书都是顶着量化投资的噱头在讲Python的语言基础,其能提供的策略有限,并且大部分不提供回测平台,此类书籍中的策略往往为涨停股票可以买入、跌停股票可以卖出、停牌也可以交易,等等,这大大违背了A股市场的交易规则,难以获得准确的回测结果。
鉴于以上情形,为了更好地推动量化投资在中国的普及与发展,我们编写了《Python与量化投资:从基础到实战》一书,本书兼顾了Python语言与量化策略的编写,既可以为不懂Python语言的读者提供零基础入门,也可以为有Python基础的读者提供量化策略建模参考。细心的读者不难发现,本书量化投资策略部分的介绍篇幅远大于Python语言的介绍篇幅,这也可看出我们出版本书的初心。
如何使用本书
如果您从未接触过Python或者任何其他编程语言,则建议您从第1章开始看起,对Python基础编程稍做了解;如果您已经是Python的忠实用户,则可以从第4章开始看起,直接使用优矿平台完成对策略的编写。关于Python基础部分的内容,您可自行安装、运行Python进行学习;关于量化投资部分的内容,您需要用到优矿在线量化平台,不安装Python也可以运行。
本书的配套代码可以在http://books.hcquant.com下载。
Python基础部分的示例代码的后缀名为.ipynb,是Jupyter Notebook文件,可以直接用Python打开运行;量化投资部分的示例代码的后缀名为.nb,需要上传到优矿的Notebook运行。
本书讲了什么
本书分为两大部分,共有7章,前3章为Python基础部分,可以帮助读者快速上手Python;后4章为量化投资部分,借助通联数据优矿平台进行数据处理与策略建立,将各种策略代码直接开源,并且对各种策略进行了介绍与点评,可谓本书的精华部分。
第1章为准备工作,主要介绍Python的安装与常用的库,尤其是在量化投资领域会使用到的数据分析库。
第2章介绍Python的基础操作,为后续讲解Python量化投资做准备,等于从零开始讲解,可在短时间内快速上手Python编程。
第3章讲解Python的进阶内容,在第2章的基础上详细介绍NumPy、Pandas、SciPy、Seaborn、Scikit-Learn、SQLAlchemy等经典库,是对前两章的升华和应用。
第4章讲解常用金融数据的获取与整理,包括数据整合、数据过滤、数据探索与清洗、数据转化,等等。
第5章介绍通联数据回测平台,内容涉及回测平台函数参数介绍、股票/期货模板实例讲解、回测结果分析、风险评价指标与回测细节的注意事项。
第6章讲解常见的量化策略及其实现,内容涉及行业轮动、市场中性Alpha、大师类策略、CTA策略、Smart Beta、技术指标类策略、资产配置、时间序列分析、组合优化器、期权策略等。代码全部公开,您可在短时间内使用我们的策略模板编写适合自己的策略。
第7章给出了10道自问自答题目,可便于您在短时间内更好地了解量化投资,希望对您做投资有所帮助。
读者支持及反馈
本书提供了在线“有问必答”服务,可以扫描二维码填写相关信息,成为本书的认证读者,在优矿社区中发帖提问,我们会安排专门人员进行答疑,在第一时间解决关于本书的一切问题。
我们随时欢迎您反馈信息,请告诉我们您对本书的评价,以及您喜欢本书的地方和不喜欢本书的地方。您的反馈对我们来说非常重要,这会帮助我们在后续的修订中完善现有的内容。请将您的反馈意见通过邮件service@hcquant.com发送给我们,并在邮件的标题中注明“读者反馈”字样。同时,您可以在优矿社区进行反馈(https://uqer.io/community/)。
感谢
本书在写作过程中得到了华创证券与通联数据优矿团队的大力支持,同时感谢陈杰、卢威、刘昺轶、秦玄晋、苏博、徐晟刚、王镇平、符哲君、彭亮在写作中的大力支持,我们将与您砥砺前行,共同见证中国量化投资的成长。
勘误
虽然我们已经尽力确保本书内容的准确性,但是错误仍可能出现,如果您发现本书的任何错误(文字或者代码错误),则请及时告知我们,我们将非常感激,并在修订时列出您的名字以表示感谢。您可以通过以下三种途径将本书中的错误告知我们。
◎ 在books.hcquant.com网站上发布本书勘误。
◎ 在优矿社区中直接发帖。
◎ 发送邮件至service@hcquant.com。
互联网上的盗版著作权侵害是在所有媒体中持续存在的问题,如果您在互联网上发现了对我们的著作有任何形式的非法复制,则请立刻告诉我们其地址或者网站的名字,以便我们进行补救。请通过service@hcquant.com联系我们,我们将非常感谢您的帮助。