本书从量化交易的正确性认识出发,以Python为基础,循序渐进地讲解了量化交易所需要了解的各种知识及工具。书中特别穿插了大量开发技巧和交易投资技巧,所有示例都基于量化交易及相关知识,以实战为目的。本书共11章,分为4部分。第1部分讲解了量化交易的正确认识;第2部分讲解了量化交易的基础,如Python、数学和几种数据分析工具等;第3部分讲解了量化交易系统的开发与使用、基础度量概念及最优参数等问题;第4部分讲解了机器学习技术在量化交易中的实战应用。附录还给出了量化环境部署、量化相关性分析、量化统计分析及指标应用。
封面图
目录
- 前言
- 第1部分对量化交易的正确认识
- 第1章量化引言 2
- 1.1什么是量化交易 2
- 1.2量化交易:投资?投机?赌博? 3
- 1.3量化交易的优势 4
- 1.3.1避免短线频繁交易 4
- 1.3.2避免逆势操作 5
- 1.3.3避免重仓交易 5
- 1.3.4避免对胜率的盲目追求 6
- 1.3.5确保交易策略的执行 6
- 1.3.6独立交易及对结果负责的信念 6
- 1.3.7从历史验证交易策略是否可行 7
- 1.3.8寻找交易策略的最优参数 7
- 1.3.9减少无意义的工作及干扰 7
- 1.4量化交易的正确认识 8
- 1.4.1不要因循守旧,认为量化交易是邪门歪道 8
- 1.4.2不要异想天开,认为量化交易有神奇的魔法 8
- 1.4.3不要抱有不劳而获的幻想 9
- 1.4.4不要盲目追求量化策略的复杂性 9
- 1.4.5认清市场,认清自己,知己知彼,百战不殆 10
- 1.5量化交易的目的 11
- 第2部分量化交易的基础
- 第2章量化语言——Python 14
- 2.1基础语法与数据结构 15
- 2.1.1基本类型和语法 15
- 2.1.2字符串和容器 17
- 2.2函数 20
- 2.2.1函数的使用和定义 20
- 2.2.2lambda函数 21
- 2.2.3高阶函数 22
- 2.2.4偏函数 25
- 2.3面向对象 25
- 2.3.1类的封装 26
- 2.3.2继承和多态 30
- 2.3.3静态方法、类方法与属性 34
- 2.4性能效率 38
- 2.4.1itertools的使用 38
- 2.4.2多进程 VS 多线程 41
- 2.4.3使用编译库提高性能 43
- 2.5代码调试 45
- 2.6本章小结 48
- 第3章量化工具——NumPy 49
- 3.1并行化思想与基础操作 49
- 3.1.1并行化思想 49
- 3.1.2初始化操作 50
- 3.1.3索引选取和切片选择 51
- 3.1.4数据转换与规整 52
- 3.1.5逻辑条件进行数据筛选 53
- 3.1.6通用序列函数 54
- 3.1.7数据本地序列化操作 57
- 3.2基础统计概念与函数使用 57
- 3.2.1基础统计函数的使用 57
- 3.2.2基础统计概念 60
- 3.3正态分布 62
- 3.3.1正态分布基础概念 62
- 3.3.2实例1:正态分布买入策略 64
- 3.4伯努利分布 66
- 3.4.1伯努利分布基础概念 67
- 3.4.2实例2:如何在交易中获取优势 67
- 3.5本章小结 71
- 第4章量化工具——pandas 72
- 4.1基本操作方法 72
- 4.1.1DataFrame构建及方法 72
- 4.1.2索引行列序列 73
- 4.1.3金融时间序列 74
- 4.1.4Series构建及方法 75
- 4.1.5重采样数据 76
- 4.2基本数据分析示例 78
- 4.2.1总览分析数据 79
- 4.2.2索引选取和切片选择 80
- 4.2.3逻辑条件进行数据筛选 82
- 4.2.4数据转换与规整 84
- 4.2.5数据本地序列化操作 86
- 4.3实例1:寻找股票异动涨跌幅阀值 87
- 4.3.1数据的离散化 88
- 4.3.2concat、append和merge的使用 89
- 4.4实例2:星期几是这个股票的“好日子” 91
- 4.4.1构建交叉表 92
- 4.4.2构建透视表 94
- 4.5实例3:跳空缺口 95
- 4.6pandas三维面板的使用 98
- 4.7本章小结 101
- 第5章量化工具——可视化 102
- 5.1使用Matplotlib可视化数据 102
- 5.1.1Matplotlib可视化基础 102
- 5.1.2Matplotlib子画布及loc的使用 104
- 5.1.3K线图的绘制 105
- 5.2使用Bokeh交互可视化 106
- 5.3使用pandas可视化数据 107
- 5.3.1绘制股票的收益及收益波动情况 107
- 5.3.2绘制股票的价格与均线 109
- 5.3.3其他pandas统计图形种类 110
- 5.4使用Seaborn可视化数据 112
- 5.5实例1:可视化量化策略的交易区间及卖出原因 115
- 5.6实例2:标准化两个股票的观察周期 120
- 5.7实例3:黄金分割线 124
- 5.7.1黄金分割线的定义方式 124
- 5.7.2多维数据绘制示例 127
- 5.8技术指标的可视化 130
- 5.8.1MACD指标的可视化 131
- 5.8.2ATR指标的可视化 132
- 5.9本章小结 133
- 第6章量化工具——数学 134
- 6.1回归与插值 134
- 6.1.1线性回归 135
- 6.1.2多项式回归 137
- 6.1.3插值 138
- 6.2蒙特卡罗方法与凸优化 139
- 6.2.1你一生的追求到底能带来多少幸福 140
- 6.2.2使用蒙特卡罗方法计算怎样度过一生最幸福 149
- 6.2.3凸优化基础概念 152
- 6.2.4全局求解怎样度过一生最幸福 153
- 6.2.5非凸函数计算怎样度过一生最幸福 154
- 6.2.6标准凸函数求最优 157
- 6.3线性代数 159
- 6.3.1矩阵基础知识 160
- 6.3.2特征值和特征向量 162
- 6.3.3PCA和SVD理论知识 163
- 6.3.4PCA和SVD使用实例 164
- 6.4本章小结 168
- 第3部分量化交易系统的开发
- 第7章量化系统——入门 170
- 7.1趋势跟踪与均值回复 170
- 7.1.1趋势跟踪和均值回复的周期重叠性 171
- 7.1.2实例1:均值回复策略 176
- 7.1.3实例2:趋势跟踪策略 184
- 7.2仓位控制管理 188
- 7.2.1凯利公式 189
- 7.2.2一只股票的时间简史 190
- 7.2.3三只小猪股票投资的故事 195
- 7.3本章小结 202
- 第8章量化系统——开发 203
- 8.1abu量化系统择时 204
- 8.1.1买入因子的实现 204
- 8.1.2卖出因子的实现 210
- 8.1.3滑点买入、卖出价格确定及策略实现 221
- 8.1.4多只股票使用相同的因子进行择时 226
- 8.1.5自定义仓位管理策略的实现 229
- 8.1.6多只股票使用不同的因子进行择时 230
- 8.1.7使用并行来提升择时的运行效率 231
- 8.2abu量化系统选股 234
- 8.2.1选股因子的实现 234
- 8.2.2多个选股因子并行执行 240
- 8.2.3使用并行来提升选股的运行效率 241
- 8.3本章小结 242
- 第9章量化系统——度量与优化 243
- 9.1度量的基本使用方法 243
- 9.2度量的基础 247
- 9.2.1度量的基础概念 247
- 9.2.2度量的可视化 250
- 9.3基于Grid Search寻找因子最优参数 253
- 9.3.1参数取值范围 253
- 9.3.2参数进行排列组合 254
- 9.3.3Grid Search寻找最优参数 255
- 9.3.4度量结果的评分 258
- 9.3.5不同权重的评分 262
- 9.4资金限制对度量的影响 266
- 9.5输入中文自动生成交易策略 272
- 9.6本章小结 276
- 第4部分机器学习在量化交易中的实战
- 第10章量化系统——机器学习·猪老三 278
- 10.1机器学习基础概念 278
- 10.1.1小红帽识别毒蘑菇 278
- 10.1.23种机器学习问题 281
- 10.2猪老三世界中的量化环境 282
- 10.3有监督机器学习 286
- 10.3.1猪老三使用回归预测股价 288
- 10.3.2猪老三使用分类预测股票涨跌 294
- 10.3.3通过决策树分类,绘制出决策图 297
- 10.4无监督机器学习 299
- 10.4.1使用降维可视化数据 299
- 10.4.2猪老三使用聚类算法提高正确率 301
- 10.5梦醒时分 303
- 10.5.1回测中生成特征/切分训练测试集/成交买单快照 304
- 10.5.2基于特征的交易预测 309
- 10.5.3基于深度学习的交易预测 312
- 10.5.4预测市场的混沌 316
- 10.6本章小结 317
- 第11章量化系统——机器学习 abu 318
- 11.1搜索引擎与量化交易 319
- 11.2主裁 321
- 11.2.1角度主裁 322
- 11.2.2使用全局最优对分类簇集合进行筛选 331
- 11.2.3跳空主裁 334
- 11.2.4价格主裁 338
- 11.2.5波动主裁 341
- 11.2.6验证主裁是否称职 345
- 11.2.7在abu系统中开启主裁拦截模式 348
- 11.3边裁 351
- 11.3.1角度边裁 352
- 11.3.2价格边裁 354
- 11.3.3波动边裁 354
- 11.3.4综合边裁 355
- 11.3.5验证边裁是否称职 355
- 11.3.6在abu系统中开启边裁拦截模式 359
- 11.4一定要赢得这场胜利,即使一切都不存在 360
- 11.5本章小结 361
- 附录A量化环境部署 362
- 附录B量化相关性分析 381
- 附录C量化统计分析及指标应用 388