《Python与量化投资:从基础到实战(王小川)》高清中文版PDF

4,559 阅读7分钟

《Python与量化投资:从基础到实战(王小川)》高清中文版PDF下载地址:

提取码:1028

image.png

内容简介 · · · · · · 本书主要讲解如何利用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