《Python与量化投资:从基础到实战(王小川)》高清中文版PDF下载地址:
提取码:1028
内容简介 · · · · · · 本书主要讲解如何利用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
- 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