具体描述
本书主要讲解如何利用Python进行量化投资,包括对数据的获取、整理、分析挖掘、信号构建、策略构建、回测、策略分析等。本书也是利用Python进行数据分析的指南,有大量的关于数据处理分析的应用,并将重点介绍如何高效地利用Python解决投资策略问题。本书分为Python基础和量化投资两大部分:Python基础部分主要讲解Python软件的基础、各个重要模块及如何解决常见的数据分析问题;量化投资部分在Python基础部分的基础上,讲解如何使用优矿(uqer.io)回测平台实现主流策略及高级定制策略等。
本书可作为专业金融从业者进行量化投资的工具书,也可作为金融领域的入门参考书。在本书中有大量的Python代码、Python量化策略的实现代码等,尤其是对于量化策略的实现代码,读者可直接自行修改并获得策略的历史回测结果,甚至可将代码直接实盘应用,进行投资。
作者简介
王小川,华创证券研究所金融工程高级分析师,国内知名MATLAB、Python培训专家,MATLABSKY创始人之一,人大经济论坛CDA课程Python金牌讲师。从事量化投资相关的工作,承担了部分高校的统计课程教学任务,长期研究机器学习在统计学中的应用,精通MATLAB、Python、SAS等统计软件,热衷于数据分析和数据挖掘工作,有着扎实的理论基础和丰富的实战经验。著有《MATLAB神经网络30个案例分析》和《MATLAB神经网络43个案例分析》。
陈杰,华创证券研究所金融工程团队负责人,拥有CFA、FRM资格。从2009年开始从事量化开发工作。在入职华创之前,曾担任申万宏源研究所金融工程首席分析师。
卢威,华创证券研究所金融工程分析师,前优矿网量化分析师,为优矿网资深用户,在优矿网分享过多篇高质量的量化研究报告,擅长使用Python进行量化投资研究。
刘昺轶,上海交通大学工学硕士,研究方向为断裂力学、流体力学,擅长Python编程、统计建模与Web开发,现为量化投资界新兵,正在快速成长。
秦玄晋,上海对外经贸大学会计学硕士,有两年量化投资经验,研究方向为公司金融。
苏博,上海财经大学金融信息工程硕士,主要研究方向为金融大数据分析。
徐晟刚,复旦大学西方经济学硕士,数理功底深厚,热爱编程与策略研究,精通Python、MATLAB等编程语言,有3年金融工程策略研究经验,擅长择时和事件类策略。
目录信息
1.1 Python的安装与设置 1
1.2 常见的Python库 2
第2章 Python基础介绍 7
2.1 Python学习准备 7
2.2 Python语法基础 11
2.2.1 常量与变量 11
2.2.2 数与字符串 11
2.2.3 数据类 15
2.2.4 标识符 18
2.2.5 对象 19
2.2.6 行与缩进 20
2.2.7 注释 22
2.3 Python运算符与表达式 22
2.3.1 算数运算符 22
2.3.2 比较运算符 24
2.3.3 逻辑运算符 25
2.3.4 Python中的优先级 27
2.4 Python中的控制流 27
2.4.1 控制流的功能 28
2.4.2 Python的三种控制流 29
2.4.3 认识分支结构if 30
2.4.4 认识循环结构for…in 32
2.4.5 认识循环结构while 33
2.4.6 break语句与continue语句 35
2.5 Python函数 39
2.5.1 认识函数 39
2.5.2 形参与实参 40
2.5.3 全局变量与局部变量 44
2.5.4 对函数的调用与返回值 45
2.5.5 文档字符串 46
2.6 Python模块 47
2.6.1 认识Python模块 47
2.6.2 from…import详解 49
2.6.3 认识__name__属性 50
2.6.4 自定义模块 50
2.6.5 dir()函数 51
2.7 Python异常处理与文件操作 52
2.7.1 Python异常处理 52
2.7.2 异常的发生 55
2.7.3 try…finally的使用 56
2.7.4 文件操作 57
第3章 Python进阶 59
3.1 NumPy的使用 59
3.1.1 多维数组ndarray 59
3.1.2 ndarray的数据类型 60
3.1.3 数组索引、切片和赋值 61
3.1.4 基本的数组运算 62
3.1.5 随机数 63
3.2 Pandas的使用 67
3.2.1 Pandas的数据结构 68
3.2.2 Pandas输出设置 70
3.2.3 Pandas数据读取与写入 70
3.2.4 数据集快速描述性统计分析 71
3.2.5 根据已有的列建立新列 72
3.2.6 DataFrame按多列排序 73
3.2.7 DataFrame去重 73
3.2.8 删除已有的列 74
3.2.9 Pandas替换数据 75
3.2.10 DataFrame重命名 75
3.2.11 DataFrame切片与筛选 76
3.2.12 连续型变量分组 78
3.2.13 Pandas分组技术 79
3.3 SciPy的初步使用 83
3.3.1 回归分析 84
3.3.2 插值 87
3.3.3 正态性检验 89
3.3.4 凸优化 93
3.4 Matplotlib的使用 97
3.5 Seaborn的使用 97
3.5.1 主题管理 98
3.5.2 调色板 101
3.5.3 分布图 102
3.5.4 回归图 104
3.5.5 矩阵图 106
3.5.6 结构网格图 108
3.6 Scikit-Learn的初步使用 109
3.6.1 Scikit-Learn学习准备 110
3.6.2 常见的机器学习模型 111
3.6.3 模型评价方法——metric模块 120
3.6.4 深度学习 124
3.7 SQLAlchemy与常用数据库的连接 124
3.7.1 连接数据库 125
3.7.2 读取数据 126
3.7.3 存储数据 126
第4章 常用数据的获取与整理 129
4.1 金融数据类型 129
4.2 金融数据的获取 131
4.3 数据整理 135
4.3.1 数据整合 135
4.3.2 数据过滤 137
4.3.3 数据探索与数据清洗 138
4.3.4 数据转化 140
第5章 通联数据回测平台介绍 143
5.1 回测平台函数与参数介绍 144
5.1.1 设置回测参数 144
5.1.2 accounts账户配置 154
5.1.3 initialize(策略初始化环境) 160
5.1.4 handle_data(策略运行逻辑) 160
5.1.5 context(策略运行环境) 160
5.2 股票模板实例 168
5.3 期货模板实例 173
5.4 策略回测详情 179
5.5 策略的风险评价指标 181
5.6 策略交易细节 184
第6章 常用的量化策略及其实现 187
6.1 量化投资概述 187
6.1.1 量化投资简介 187
6.1.2 量化投资策略的类型 188
6.1.3 量化研究的流程 189
6.2 行业轮动理论及其投资策略 192
6.2.1 行业轮动理论简介 192
6.2.2 行业轮动的原因 192
6.2.3 行业轮动投资策略 194
6.3 市场中性Alpha策略 199
6.3.1 市场中性Alpha策略介绍 199
6.3.2 市场中性Alpha策略的思想和方法 200
6.3.3 实例展示 201
6.4 大师策略 206
6.4.1 麦克·欧希金斯绩优成分股投资法 207
6.4.2 杰拉尔丁·维斯蓝筹股投资法 211
6.5 CTA策略 219
6.5.1 趋势跟随策略 219
6.5.2 均值回复策略 241
6.5.3 CTA策略表现分析 253
6.6 Smart Beta 258
6.6.1 基于权重优化的Smart Beta 258
6.6.2 基于风险因子的Smart Beta 268
6.7 技术指标类策略 281
6.7.1 AROON指标 281
6.7.2 BOLL指标 285
6.7.3 CCI指标 288
6.7.4 CMO指标 293
6.7.5 Chaikin Oscillator指标 295
6.7.6 DMI指标 299
6.7.7 优矿平台因子汇总 302
6.8 资产配置 317
6.8.1 有效边界 318
6.8.2 Black-Litterman模型 335
6.8.3 风险平价模型 349
6.9 时间序列分析 358
6.9.1 与时间序列分析相关的基础知识 358
6.9.2 自回归(AR)模型 365
6.9.3 滑动平均(MA)模型 372
6.9.4 自回归滑动平均(ARMA)模型 376
6.9.5 自回归差分滑动平均(ARIMA)模型 379
6.10 组合优化器的使用 384
6.10.1 优化器的概念 384
6.10.2 优化器的API接口 386
6.10.3 优化器实例 388
6.11 期权策略:Greeks和隐含波动率微笑计算 392
6.11.1 数据准备 392
6.11.2 Greeks和隐含波动率计算 394
6.11.3 隐含波动率微笑 401
第7章 量化投资十问十答 405
· · · · · · (收起)
读后感
用户评价
作为一名对量化投资领域充满好奇的初学者,我近期有幸拜读了《Python与量化投资》这本著作。坦白说,在翻开这本书之前,我对于量化投资的概念还停留在模糊的认知层面,脑海中充斥着各种复杂的数学模型和令人望而生畏的代码。然而,这本书以一种循序渐进、深入浅出的方式,将我从一个门外汉逐步引导至了一个更加清晰的理解框架。作者在开篇就巧妙地阐述了量化投资的核心思想——利用数据和算法来驱动投资决策,从而摆脱人为主观情绪的干扰,实现更理性、更有效的投资。随后,书中详细介绍了Python语言在量化投资中的强大作用,从基础的数据获取、清洗、处理,到复杂的策略回测、因子分析,再到最终的交易执行,Python的强大库生态系统,如NumPy、Pandas、Matplotlib、SciPy等,都被一一剖析,并配以大量的实操示例,让我在学习编程的同时,也体会到了它在金融分析领域的巨大潜力。
《Python与量化投资》在策略开发的部分,提供了多种不同风格和思路的量化策略。我特别对书中介绍的趋势跟踪策略印象深刻,作者不仅详细讲解了其原理,还通过Python代码演示了如何利用MACD、RSI等技术指标来构建交易信号。更令人兴奋的是,书中还深入探讨了如何进行策略的优化和风险管理,例如止损、止盈的设置,以及如何通过组合投资来分散风险。这些内容对于我这样刚刚接触量化交易的人来说,无疑是宝贵的财富。我不再是简单地模仿代码,而是开始理解每一步操作背后的逻辑和考量,开始思考如何根据不同的市场环境调整策略。
本书的另一个亮点在于其对金融数据的处理能力。在量化投资中,数据的质量和处理方式直接影响到策略的有效性。作者在书中详细介绍了如何使用Pandas来处理和分析时间序列数据,包括数据加载、数据对齐、数据重采样、缺失值填充等。我学习到了如何有效地进行数据清洗和预处理,这是任何量化交易的基础。此外,书中还介绍了如何利用Matplotlib和Seaborn进行数据可视化,这对于理解数据特征、策略表现以及风险敞口至关重要。能够直观地看到数据的变化趋势和策略的波动情况,对我做出更明智的决策非常有帮助。
在阅读《Python与量化投资》的过程中,我多次被书中案例的实用性所折服。作者提供的代码示例不仅完整,而且可以直接在我的环境中运行,这极大地缩短了我的学习周期。我尝试着将书中的一些策略应用到模拟交易中,并取得了令人鼓舞的结果。这让我对量化投资的信心倍增,也看到了将理论知识转化为实际收益的可能性。书中的一些高级话题,比如机器学习在量化投资中的应用,也被作者用一种易于理解的方式进行了介绍,虽然我还需要花更多的时间去深入学习,但这本书为我打开了通往更广阔领域的大门。
这本书的内容组织得相当有条理,每一章都像是在为下一章打下坚实的基础。我尤其欣赏作者在讲解金融概念时,并没有直接套用晦涩难懂的专业术语,而是结合Python代码和实际案例,将抽象的金融理论具象化。例如,在讲解均值回归策略时,作者不仅解释了其背后的逻辑,还通过Pandas库演示了如何计算移动平均线,如何识别价格偏离均值的情况,以及如何构建并回测一个简单的均值回归交易模型。这种“学以致用”的学习方式,极大地激发了我学习的积极性。而且,书中对于数据处理的细节也给予了充分的关注,包括缺失值的处理、异常值的检测、数据的标准化等等,这些看似琐碎但却至关重要的步骤,在量化投资中往往起着决定性的作用。
《Python与量化投资》在风险管理部分的内容也十分详尽,这对于任何一个认真的量化投资者来说都是必不可少的。作者从多个维度剖析了量化投资中的风险,包括市场风险、流动性风险、模型风险以及交易执行风险等,并提供了相应的应对策略。例如,在书中关于组合风险管理的部分,我学习到了如何计算VaR(Value at Risk),如何进行风险预算,以及如何通过投资组合的多元化来降低整体风险。这些内容让我意识到,量化投资不仅仅是追求高收益,更是要在可控的风险下实现稳健的增长。
对于初学者而言,最令人头疼的问题往往是如何将所学的知识转化为实际操作。这本书在这方面做得非常出色。书中不仅提供了大量的代码示例,还鼓励读者动手实践。我尝试着修改书中的参数,测试不同的策略组合,并在模拟环境中观察其表现。这种“边学边练”的学习方式,让我能够更深刻地理解量化投资的逻辑,并逐渐形成自己的投资思路。作者还分享了一些在实际交易中可能遇到的问题,以及如何应对这些问题,这为我未来的实盘交易打下了坚实的基础。
这本书的一个显著优点是其极高的可读性。即使对于没有深厚金融背景的读者,也能通过这本书逐步建立起对量化投资的认知。作者的语言风格非常接地气,仿佛一位经验丰富的导师在娓娓道来。他会适时地提醒读者注意一些常见的陷阱,比如“过度拟合”问题,并提供了相应的解决方案。在讲解算法交易和自动化交易的部分,作者也从实际操作的角度出发,详细介绍了API的使用、数据接口的连接,以及如何处理交易过程中的滑点等问题。这些都是我在其他地方很难找到如此清晰和详尽的说明。
总的来说,《Python与量化投资》是一本我非常推荐的读物。它不仅为我提供了一个学习量化投资的完整知识体系,更重要的是,它激发了我对这个领域的浓厚兴趣,并为我提供了一条清晰的学习路径。这本书的优点在于其内容的广度和深度兼具,语言的通俗易懂,以及案例的实用性。无论你是对量化投资一无所知的新手,还是有一定基础的实践者,相信都能从中受益匪浅。它不仅仅是一本技术手册,更是一本引导读者理解金融市场运作逻辑,并运用现代技术手段武装自己的思想启迪之作。
我对书中关于因子投资的章节尤为着迷。作者系统地梳理了价值、成长、动量、质量等常见的因子,并展示了如何利用Python从公开数据中提取这些因子,以及如何构建基于因子的投资组合。书中对于因子有效性的验证方法,例如横截面回归和时间序列回归,也进行了深入浅出的介绍。这让我明白,量化投资不仅仅是简单的技术指标应用,更是对市场深层驱动因素的挖掘和理解。我开始意识到,可以通过构建多因子模型,来更全面地捕捉市场收益,并更有效地管理风险。
几十块相比动辄几千块的Python培训课程,就知足吧,还是能从同行的代码中学到一点东西的。
这种书好意思拿出来卖吗,自毁名声啊
很难找到好的中国作者写的书籍。失望
和培训课差不多,新手就应该多抄代码
还是不错的,对量化的方方面面都涉及到了,并附上python代码实现和运行结果图示。