温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
Python
量化
投资
基础
实战
CMYCMMYCYCMYK“.pdf 1 2018/3/19 下午3:59 内 容 简 介 本书主要讲解如何利用 Python 进行量化投资,包括对数据的获取、整理、分析挖掘、信号构建、策略构建、回测、策略分析等。本书也是利用 Python 进行数据分析的指南,有大量的关于数据处理分析的应用,并将重点介绍如何高效地利用 Python 解决投资策略问题。本书分为 Python 基础和量化投资两大部分:Python 基础部分主要讲解 Python 软件的基础、各个重要模块及如何解决常见的数据分析问题;量化投资部分在 Python 基础部分的基础上,讲解如何使用优矿(uqer.io)回测平台实现主流策略及高级定制策略等。本书可作为专业金融从业者进行量化投资的工具书,也可作为金融领域的入门参考书。在本书中有大量的 Python 代码、Python 量化策略的实现代码等,尤其是对于量化策略的实现代码,读者可直接自行修改并获得策略的历史回测结果,甚至可将代码直接实盘应用,进行投资。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 Python 与量化投资:从基础到实战王小川等主编.北京:电子工业出版社,2018.4 ISBN 978-7-121-33857-1 .P .王 .软件工具程序设计应用投资 .F830.59-39 中国版本图书馆 CIP 数据核字(2018)第 049565 号 策划编辑:张国霞 责任编辑:徐津平 印 刷:三河市鑫金马印装有限公司 装 订:三河市鑫金马印装有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编:100036 开 本:787980 1/16 印张:26.5 字数:550 千字 版 次:2018 年 4 月第 1 版 印 次:2018 年 4 月第 1 次印刷 印 数:4000 册 定价:99.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888,88258888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。本书咨询联系方式:(010)51260888-819,。推荐序一 很荣幸收到王小川博士的邀请,为其新书Python 与量化投资:从基础到实战作序。王小川博士是华创证券研究所非常出色的分析师,在日常工作中非常乐于分享他的开发经验和心得。在本书出版之前,他已经出版了两本关于 MATLAB 的畅销书,我相信这一本介绍使用 Python 进行量化投资的新书,会推动相关领域的发展。在过去的几年中,在很多领域内基于创新类算法的应用场景和相关产品不断涌现,IT的推动作用已经从自动化延展到了智能化。在开源的大氛围下,算法的更新迭代速度不断加快,并在各个领域渗透和融合,专业化程度越来越高。在金融领域的量化投资、智能投顾、信用评级、新闻监控、舆情分析等多个方向上,目前已经大量使用了相关技术和算法,并且融合的程度在不断加深。与其他领域相比,金融领域的算法应用有其自身的特点:一是信息的来源多、部分数据非结构化;二是在不同的应用场景甚至策略之间,所适用算法的差异较大,例如投资交易的量化策略、智能投顾中的用户画像、新闻处理中的自然语言处理和大数据,都涉及了不同大类的算法;三是投资中各个影响因素之间的逻辑关系复杂化和模糊化;此外,很多金融问题不是单目标优化的,也不是封闭的信息集。展望未来,在金融科技的落地方向上,量化投资、大数据的 Quantamental、精准画像、自然语言处理等依然会是焦点,势必吸引越来越多的关注及资源。量化投资和 Python 这两个词是当下的焦点,王小川博士平时的工作正是其交汇点。正如书名Python 与量化投资:从基础到实战所表达的,本书包含了王小川博士在工作中的宝贵经验;在案例中描述的示例,正是本研究所金融工程的很多重要研究方向,例如常用的行业轮动、市场中性策略、多因子策略、CTA 策略、期权策略、时间序列等。所以,本书对于了解量化开发的运用现状及掌握必备的开发能力而言,是非常有益的。考虑到众多读者可能没有 Python 基础,本书从零开始介绍 Python 语言,并且由浅入Python 与量化投资:从基础到实战?IV深、循序渐进。值得一提的是,与目前市场上的量化投资类图书不同,本书的最大特点是接地气、实用性强,并开源了全部的策略代码,读者可以自行运行和修改。本书还设置了读者互动网站,对于广大投资者提出的关于本书的疑问,可以在第一时间做出解答。本书可以帮助大家更好地了解量化、掌握方法及提升量化投资的能力,非常值得大家细读。华中炜 华创证券执委会委员、副总经理兼研究所所长 推荐序二 互联网时代的量化投资:科技让量化投资和智能投资更普及 科技一直是推动投资行业变革的重要力量,它的发展和应用催生了量化投资的新模式。量化投资利用科学的方法认识市场波动,通过实证方法验证投资假设,通过组合优化生成 Alpha 交易,可有效地控制风险暴露,高效覆盖大量的投资机会,并提高投资的效率。自量化投资的开山之作 Beat the market:A Scientific Stock Market System 出版以来,量化投资便在全球范围内快速发展,涌现出指数基金、对冲基金、SmartBeta 和 Fund of Funds(FOF)等量化创新产品。量化投资改变了全球资产管理格局,成为主流的投资方法,其管理规模也在快速增长。目前,全球最大的资产管理公司和对冲基金都是基于量化和指数投资的机构。量化投资行业的蓬勃发展吸引了众多年轻人投入其中,但因其门槛高、专业性强,只有大型投资机构才有能力提供量化研究和投资平台,普通大众没有机会利用专业的量化平台进行研究和投资,也缺乏系统性的量化投资培训教材,这成为制约行业发展的主要问题。因此,在 2015 年,通联数据推出开放的量化投资平台优矿,让普通大众也能够拥有华尔街专业机构的量化装备,让量化投资变得更加容易。借助 Python 科学计算的能力和海量的金融大数据,在优矿平台上可以快速进行统计推断、因子分析、信号研究、资产定价、事件研究、机器学习、深度学习等量化研究工作。优矿已成长为大型的专业量化平台,为行业的发展培养了很多优秀人才。优矿的部分特色如下。海量的金融大数据:提供各类资产和财务数据、因子、主题、宏观行业特色大数据和量化场景 PIT 数据,保障在量化过程中不引入未来数据。Python 与量化投资:从基础到实战?VI 多资产回测框架:提供股票、期货、指数、场内外基金等多资产多策略回测和丰富的衍生工具,保证多因子策略、事件驱动等的快速实现。优矿的风险模型:接轨国际化风险模型算法,采用优质原始数据,提供 10 种风格因子和 28 种行业因子,全面揭示市场行业风险。量化因子库:提供 400 多种量化因子库,除了提供了传统的投资因子,还提供了特色 Alpha 因子如分析师评级、分析师赢利预测等。Python 与量化投资:从基础到实战是华创证券研究所量化团队联合通联数据优矿团队的力作,在很大程度上填补了量化投资培训教材的空白,在本书中循序渐进地讲解了量化投资的思想和策略,并借助 Python 语言帮助读者从零开始进行量化投资实战。本书适用于有一定数理及编程基础的人员阅读,如果读者能够静下心来,踏踏实实地学习和思考,去理解量化投资的本质和逻辑,就会发现本书蕴藏的宝贵价值。展望未来,科技的发展也将推动量化投资升级换代。在传统的量化投资中,交易策略是被事先编程的静态模型,其局限性在于策略在一个时期内的效果非常好,但在市场环境发生变化之后就可能效果不佳。机器学习等人工智能技术的应用推动了量化投资进入新时代,智能机器会在市场的发展和变化中观察到市场的异常,交易策略也会随着市场的变化而变化。量化投资的另一个新趋势是与基本面投资相结合。我们可以用机器帮助我们学习、归纳和总结基本面投资的分析方法和经验,最后形成一套可重复的研究模型。这就是将量化和基本面结合起来,形成“量本投资”的新范式。在未来,无论是做量化还是做基本面的投资者,都应该向中间地带去跨界,去探索。也希望本书的读者们都能够将投资知识和前沿科技融会贯通、学以致用,共同推动中国量化投资行业的发展。王政 通联数据创始人兼首席执行官 前 言 为什么写作本书 作为投资者,我们常听到的一句话是“不要把鸡蛋放入同一个篮子中”,可见分散投资可以降低风险,但如何选择不同的篮子、每个篮子放多少鸡蛋,便是见仁见智的事情了,量化投资就是解决这些问题的一种工具。而 Python 在 1991 年诞生,目前已成为非常受欢迎的动态编程语言,由于拥有海量的库,所以 Python 在各个领域都有广泛应用,在量化投资界采用 Python 进行科学计算、量化投资的势头也越来越猛。目前各种在线策略编程平台都支持 Python 语言,例如优矿、米筐、聚宽等,这也是我们选择 Python 进行量化投资的原因。目前市场上关于 Python 与量化投资的图书不少,但仔细研究后不难发现,很多图书都是顶着量化投资的噱头在讲 Python 的语言基础,其能提供的策略有限,并且大部分不提供回测平台,此类书籍中的策略往往为涨停股票可以买入、跌停股票可以卖出、停牌也可以交易,等等,这大大违背了 A 股市场的交易规则,难以获得准确的回测结果。鉴于以上情形,为了更好地推动量化投资在中国的普及与发展,我们编写了Python与量化投资:从基础到实战一书,本书兼顾了 Python 语言与量化策略的编写,既可以为不懂 Python 语言的读者提供零基础入门,也可以为有 Python 基础的读者提供量化策略建模参考。细心的读者不难发现,本书量化投资策略部分的介绍篇幅远大于 Python 语言的介绍篇幅,这也可看出我们出版本书的初心。如何使用本书 如果您从未接触过 Python 或者任何其他编程语言,则建议您从第 1 章开始看起,对Python 与量化投资:从基础到实战?VIIIPython 基础编程稍做了解;如果您已经是 Python 的忠实用户,则可以从第 4 章开始看起,直接使用优矿平台完成对策略的编写。关于 Python 基础部分的内容,您可自行安装、运行 Python 进行学习;关于量化投资部分的内容,您需要用到优矿在线量化平台,不安装Python 也可以运行。本书的配套代码可以在 http:/ 下载。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、技术指标类策略、资产配置、时间序列分析、组合优化器、期权策略