第1章 从故事开始学量化 1
1.1 亿万富翁的“神奇公式” 2
1.1.1 案例1-1:亿万富翁的“神奇公式” 2
1.1.2 案例分析:Python图表 5
1.1.3 matplotlib绘图模块库 7
1.1.4 案例分析:style绘图风格 10
1.1.5 案例分析:colormap颜色表 12
1.1.6 案例分析:颜色表关键词 14
1.1.7 深入浅出 17
1.2 股市“一月效应” 18
1.2.1 案例1-2:股市“一月效应” 18
1.2.2 案例分析:“一月效应”计算 19
1.2.3 案例分析:“一月效应”图表分析 24
1.2.4 案例分析:颜色表效果图 26
1.2.5 “一月效应”全文注解版Python源码 27
1.2.6 大数据?宏分析 34
1.3 量化交易流程与概念 36
1.3.1 数据分析I2O流程 36
1.3.2 量化交易不是高频交易、自动交易 37
1.3.3 小资、小白、韭菜 38
1.3.4 专业与业余 38
1.4 用户运行环境配置 42
1.4.1 程序目录结构 43
1.4.2 金融股票数据包 44
1.5 Python实战操作技巧 46
1.5.1 模块检测 46
1.5.2 Spyder编辑器界面设置 47
1.5.3 代码配色技巧 48
1.5.4 图像显示配置 50
1.5.5 Python2、Python 3双版本双开模式 51
1.5.6 单版本双开、多开模式 52
1.5.7 实战胜于一切 54
1.6 量化、中医与西医 54
第2章 常用量化技术指标与框架 56
2.1 案例2-1:SMA均线策略 56
2.1.1 案例要点与事件编程 58
2.1.2 量化程序结构 61
2.1.3 main程序主入口 61
2.1.4 KISS法则 63
2.2 Python量化系统框架 64
2.2.1 量化行业关键词 64
2.2.2 国外主流Python量化网站 65
2.2.3 我国主流Python量化网站 67
2.2.4 主流Python量化框架 70
2.3 常用量化软件包 78
2.3.1 常用量化软件包简介 79
2.3.2 案例2-2:模块库列表 80
2.4 常用量化技术指标 82
2.4.1 TA-Lib金融软件包 83
2.4.2 案例2-3:MA均线函数调用 84
2.4.3 TA-Lib函数调用 86
2.4.4 量化分析常用指标 88
2.5 经典量化策略 90
2.5.1 阿尔法(Alpha)策略 90
2.5.2 Beta策略 92
2.5.3 海龟交易法则 93
2.5.4 ETF套利策略 95
2.6 常用量化策略 95
2.6.1 动量交易策略 96
2.6.2 均值回归策略 97
2.6.3 其他常用量化策略 98
2.7 起点与终点 100
第3章 金融数据采集整理 101
3.1 常用数据源API与模块库 102
3.1.1 大数据综合API 102
3.1.2 专业财经数据API 103
3.1.3 专业数据模块库 104
3.2 案例3-1:zwDatX数据类 104
3.3 美股数据源模块库 108
3.4 开源文档库Read the Docs 109
3.5 案例3-2:下载美股数据 110
3.6 财经数据源模块库TuShare 113
3.6.1 沪深股票列表 115
3.6.2 案例3-3:下载股票代码数据 116
3.6.3 CSV文件处理 119
3.7 历史数据 121
3.7.1 历史行情 121
3.7.2 案例3-4:下载近期股票数据 124
3.7.3 历史复权数据 130
3.7.4 案例3-5:下载历史复权数据 131
3.8 其他交易数据 134
3.9 zwDat超大股票数据源与数据更新 143
3.9.1 案例3-6:A股基本概况数据下载 144
3.9.2 案例3-7:A股交易数据下载 146
3.9.3 案例3-8:A股指数行情数据下载 150
3.9.4 案例3-9:美股交易数据下载 151
3.10 数据归一化处理 153
3.10.1 中美股票数据格式差异 153
3.10.2 案例3-10:数据格式转化 154
3.10.3 案例3-11:A股策略PAT实盘分析 156
3.10.4 案例3-12:数据归一化 158
3.11 为有源头活水来 160
第4章 PAT案例汇编 162
4.1 投资组合与回报率 163
4.1.1 案例4-1:下载多组美股数据 163
4.1.2 案例4-2:投资组合收益计算 165
4.2 SMA均线策略 168
4.2.1 SMA简单移动平均线 168
4.2.2 案例4-3:原版SMA均线策略 169
4.2.3 案例4-4:增强版SMA均线策略 173
4.2.4 案例4-5:A股版SMA均线策略 174
4.3 均线交叉策略 175
4.3.1 案例4-6:均线交叉策略 176
4.3.2 案例4-7:A股版均线交叉策略 178
4.4 VWAP动量策略 181
4.4.1 案例4-8:VWAP动量策略 182
4.4.2 案例4-9:A股版VWAP动量策略 183
4.5 布林带策略 183
4.5.1 案例4-10:布林带策略 185
4.5.2 案例4-11:A股版布林带策略 186
4.6 RSI2策略 188
4.6.1 案例4-12:RSI2策略 190
4.6.2 案例4-13:A股版RSI2策略 190
4.7 案例与传承 194
第5章 zwQuant整体架构 196
5.1 发布前言 196
5.2 功能简介 197
5.2.1 目录结构 197
5.2.2 安装与更新 198
5.2.3 模块说明 199
5.2.4 zwSys模块:系统变量与类定义 200
5.2.5 zwTools模块:常用(非量化)工具函数 201
5.2.6 zwQTBox:常用“量化”工具函数集 201
5.2.7 zwQTDraw.py:量化绘图工具函数 203
5.2.8 zwBacktest:回溯测试工具函数 203
5.2.9 zwStrategy:策略工具函数 203
5.2.10 zw_TA-Lib:金融函数模块 204
5.3 示例程序 207
5.4 常用量化分析参数 208
5.5 回溯案例:对标测试 209
5.5.1 对标测试1:投资回报参数 209
5.5.2 对标测试2:VWAP策略 211
5.6 回报参数计算 214
5.7 主体框架 220
5.7.1 stkLib内存数据库 220
5.7.2 Bars数据包 221
5.7.3 案例:内存数据库&数据包 222
5.7.4 qxLib、xtrdLib 227
5.7.5 案例5-1:qxLib数据 228
5.7.6 量化系统的价格体系 230
5.7.7 数据预处理 231
5.7.8 绘图模板 234
5.8 新的起点 236
第6章 模块详解与实盘数据 237
6.1 回溯流程 238
6.1.1 案例6-1:投资回报率 238
6.1.2 代码构成 242
6.1.3 运行总流程 243
6.2 运行流程详解 244
6.2.1 设置股票数据源 244
6.2.2 设置策略参数 247
6.2.3 dataPre数据预处理 249
6.2.4 绑定策略函数 253
6.2.5 回溯测试:zwBackTest 253
6.2.6 输出回溯结果数据、图表 258
6.3 零点策略 260
6.3.1 mul多个时间点的交易&数据 263
6.3.2 案例6-2:多个时间点交易 264
6.4 不同数据源与格式修改 270
6.4.1 案例6-3:数据源修改 272
6.4.2 数据源格式修改 274
6.5 金融数据包与实盘数据更新 275
6.5.1 大盘指数文件升级 276
6.5.2 实盘数据更新 277
6.5.3 案例6-4:A股实盘数据更新 277
6.5.4 案例6-5:大盘指数更新 279
6.6 稳定第一 281
第7章 量化策略库 282
7.1 量化策略库简介 282
7.1.1 量化系统的三代目 283
7.1.2 通用数据预处理函数 283
7.2 SMA均线策略 286
7.2.1 案例7-1:SMA均线策略 286
7.2.2 实盘下单时机与推荐 289
7.2.3 案例7-2:实盘SMA均线策略 290
7.3 CMA均线交叉策略 294
7.3.1 案例7-3:均线交叉策略 294
7.3.2 对标测试误差分析 296
7.3.3 案例7-4:CMA均线交叉策略修改版 299
7.3.4 人工优化参数 300
7.4 VWAP策略 301
7.4.1 案例7-5:VWAP策略 301
7.4.2 案例7-6:实盘VWAP策略 303
7.5 BBands布林带策略 304
7.5.1 案例7-7:BBands布林带策略 305
7.5.2 案例7-8:实盘BBands布林带策略 306
7.6 大道至简1 1 307
第8章 海龟策略与自定义扩展 309
8.1 策略库 309
8.1.1 自定义策略 310
8.1.2 海龟投资策略 310
8.2 tur海龟策略v1:从零开始 311
8.3 案例8-1:海龟策略框架 311
8.4 tur海龟策略v2:策略初始化 312
8.5 案例8-2:策略初始化 312
8.6 tur海龟策略v3:数据预处理 313
8.7 案例8-3:数据预处理 314
8.8 tur海龟策略v4:策略分析 317
8.9 案例8-4:策略分析 317
8.10 tur海龟策略v5:数据图表输出 320
8.10.1 案例8-5:图表输出 320
8.10.2 参数优化 324
8.10.3 案例8-6:参数优化 324
8.11 tur海龟策略v9:加入策略库 325
8.12 案例8-7:入库 326
8.13 庖丁解牛 328
第9章 TA-Lib函数库与策略开发 329
9.1 TA-Lib技术指标 329
9.1.1 TA-Lib官网 329
9.1.2 矩阵版TA-Lib金融函数模块 330
9.2 MACD策略 331
9.2.1 MACD策略1 331
9.2.2 案例9-1:MACD_v1 335
9.2.3 MACD策略2 336
9.2.4 案例9-2:MACD_v2 338
9.3 KDJ策略 340
9.3.1 KDJ策略1 340
9.3.2 案例9-3:KDJ01 343
9.3.3 KDJ策略2 346
9.3.4 案例9-4:KDJ02 347
9.4 RSI策略 350
9.4.1 RSI取值的大小 351
9.4.2 RSI策略 351
9.4.3 预留参数优化接口 356
9.4.4 案例9-5:A股版RSI策略 357
9.5 基石、策略与灵感 358
第10章 扩展与未来 360
10.1 回顾案例2-1:SMA均线策略 360
案例10-1:SMA均线策略扩展 363
10.2 大盘指数资源 365
10.2.1 大盘指数文件升级 366
10.2.2 大盘指数内存数据库 367
10.2.3 扩展zwQuantX类变量 368
10.2.4 大盘指数读取函数 368
10.2.5 案例10-2:读取指数 369
10.2.6 大盘数据切割 370
10.2.7 案例10-3:inxCut数据切割 372
10.3 系统整合 373
10.3.1 案例10-4:整合设置 375
10.3.2 案例10-5:修改指数代码 376
10.3.3 修改sta_dataPre0xtim函数 377
10.3.4 案例10-6:整合数据切割 380
10.3.5 修改绘图函数 381
10.4 扩展完成 384
案例10-7:SMA均线扩展策略 384
10.5 其他扩展课题 386
10.5.1 复权数据冲突 386
10.5.2 波动率指标DVIX 386
10.5.3 修改回溯主函数zwBackTest 387
10.5.4 案例10-8:波动率 390
10.5.5 空头交易 392
10.5.6 虚拟空头交易 392
10.5.7 修改检查函数 393
10.5.8 案例10-9:空头数据 396
10.6 终点与起点 397
附录A zwPython开发平台用户手册 398
附录B Python量化学习路线图 423