Python量化交易
目 录
第1章 量化交易速览 1
1.1 为何选择量化交易 1
1.1.1 量化交易的概念 1
1.1.2 主观交易与量化交易 2
1.2 量化交易的先驱们 5
1.2.1 朱尔斯・雷格纳特 5
1.2.2 爱德华・索普 6
1.2.3 托马斯・彼得菲 9
1.2.4 詹姆斯・西蒙斯 14
查看完整
第1章 量化交易速览 1
1.1 为何选择量化交易 1
1.1.1 量化交易的概念 1
1.1.2 主观交易与量化交易 2
1.2 量化交易的先驱们 5
1.2.1 朱尔斯・雷格纳特 5
1.2.2 爱德华・索普 6
1.2.3 托马斯・彼得菲 9
1.2.4 詹姆斯・西蒙斯 14
查看完整
知乎专栏《Python量化之路》作者,受困于早期Python量化交易的学习资料过于零散,把自己在量化交易从入门到应用的踩“坑”经历整理成学习笔记发布到网上,以*简单的CTA策略为着力点,力求拉近学习与实践(即实盘交易)的距离,由浅入深,比较系统而全面地介绍量化交易相关知识,收获了很多初学者的肯定和共鸣。目前就职于上海某金融科技公司,负责策略的研发与API接口的开发。
本书本着能让新手快速上手量化交易的原则,循序渐进地讲解了量化交易入门所需要的知识,以及大量的开发技巧与交易技巧,具有很强的实用性。vn.py是机构级别的量化交易软件,掌握vn.py框架原理并且熟练运用,有利于新手快速搭建属于自己的量化交易系统。Python语言有非常强大的数据分析库,对于交易策略的研发具有天然优势,且其易学性也深受初学者喜爱。本书即以Python+vn.py这一流行组合写作,从量化交易的起源及其发展进程入手,在简单介绍Python量化编程基础,以及详细解析vn.py架构之后,深入且全面地介绍了CTA策略、海龟策略,以及新策略的开发流程。
相对其他量化交易方面的书,本书不再讲述Python语言编程的大量细节,而将笔墨着重放在对量化交易策略的解析、应用与回测之上,这才是新手真正需要学习和实践的地方。本书适合所有对量化交易感兴趣的人员阅读,也适合相关院校和培训机构作为量化交易系统课程的…
查看完整
相对其他量化交易方面的书,本书不再讲述Python语言编程的大量细节,而将笔墨着重放在对量化交易策略的解析、应用与回测之上,这才是新手真正需要学习和实践的地方。本书适合所有对量化交易感兴趣的人员阅读,也适合相关院校和培训机构作为量化交易系统课程的…
查看完整
目 录
第1章 量化交易速览 1
1.1 为何选择量化交易 1
1.1.1 量化交易的概念 1
1.1.2 主观交易与量化交易 2
1.2 量化交易的先驱们 5
1.2.1 朱尔斯・雷格纳特 5
1.2.2 爱德华・索普 6
1.2.3 托马斯・彼得菲 9
1.2.4 詹姆斯・西蒙斯 14
1.3 美国量化投资的发展历史 17
1.3.1 兴起阶段(1970―1990年) 17
1.3.2 快速发展阶段(1990―2000年) 18
1.3.3 稳步增长阶段(2000年至今) 19
1.4 中国量化投资的发展历史 20
1.4.1 ETF套利时代(2010年以前) 20
1.4.2 多因子Alpha和高频交易称雄时代(2010―2015年) 21
1.4.3 多元化投资时代(2016年至今) 23
1.5 国内常用的量化交易策略 24
1.5.1 期货CTA策略 24
1.5.2 股票Alpha策略 32
1.5.3 期权波动率套利策略 41
1.5.4 高频交易策略 45
1.6 宽客 48
1.7 宽客的两大阵形:P宗与Q宗 51
1.8 宽客的3种职能分类 52
1.8.1 量化IT工程师 52
1.8.2 量化研究员 53
1.8.3 量化交易员 54
1.9 宽客的四大派系 55
1.9.1 券商资管 56
1.9.2 公募基金 56
1.9.3 私募基金 57
1.9.4 期货市场 57
第2章 Python量化编程基础 59
2.1 Python运行环境搭建 60
2.1.1 安装Anaconda2-5.0.0(32位) 61
2.1.2 设置Anancoda环境 62
2.1.3 创建共享环境 64
2.1.4 列出共享环境 64
2.1.5 安装Jupyter Notebook 65
2.2 数据 66
2.2.1 字符串 66
2.2.2 数字 67
2.2.3 容器 68
2.2.4 布尔值 73
2.2.5 空值 73
2.3 函数 74
2.3.1 自定义函数 74
2.3.2 第三方库的函数 75
2.4 条件判断 75
2.5 循环 76
2.6 类和实例 79
2.6.1 定义学生父类 79
2.6.2 定义父类实例 81
2.6.3 定义团体子类 82
2.6.4 定义子类实例 83
2.7 NumPy与Pandas 84
2.7.1 一维数组 84
2.7.2 二维数组 88
2.8 scikit-learn机器学习库 92
2.8.1 机器学习的步骤 93
2.8.2 线性回归 94
2.8.3 逻辑回归 100
2.9 Matplotlib绘图库 103
2.9.1 用列表绘制线条 103
2.9.2 用数组绘图 105
2.9.3 多个图的绘制 108
第3章 vn.py入门 109
3.1 vn.py介绍 109
3.2 搭建vn.py运行环境 113
3.2.1 安装Visual Studio 2013社区版(特定版本) 113
3.2.2 安装代码编辑器工具:Sublime Text 114
3.2.3 安装Wing IDE 115
3.2.4 安装MongoDB数据库 115
3.2.5 安装Robo 3T 118
3.2.6 安装vn.py 119
3.2.7 更新vn.py 121
3.3 VnTrader界面功能介绍 122
3.3.1 连接CTP 122
3.3.2 界面说明 123
3.4 vn.py架构 124
3.4.1 底层接口 125
3.4.2 中层引擎 126
3.4.3 上层应用 127
3.5 底层接口 128
3.5.1 CTP API的工作原理 128
3.5.2 CTP API的Python封装设计 133
3.5.3 CTP API对接中层引擎原理 135
3.6 事件引擎 138
3.6.1 时间驱动 138
3.6.2 事件驱动 139
3.6.3 事件引擎工作流程 140
3.6.4 事件引擎结构 141
3.7 上层应用 143
3.7.1 PyQt介绍 143
3.7.2 GUI组件构成 144
第4章 在vn.py中实现CTA策略 147
4.1 数据解决方案 147
4.1.1 CSV加载模块 147
4.1.2 开发新的CSV导入模块 152
4.1.3 数据下载模块 155
4.2 K线生成模块 157
4.2.1 1分钟K线合成 158
4.2.2 X分钟K线合成 161
4.3 K线管理模块 162
4.3.1 初始化参数 162
4.3.2 生成时间序列 163
4.3.3 定义属性函数 164
4.3.4 生成计算指标 165
4.4 CTA策略模块 167
4.4.1 定义成员变量 168
4.4.2 构建函数 169
4.4.3 回调函数 170
4.4.4 主动函数 171
4.5 策略回测模块 174
4.5.1 CTA回测引擎 174
4.5.2 参数优化设置 178
4.5.3 调用回测和优化模块 178
第5章 经典CTA策略 185
5.1 双均线策略 185
5.1.1 策略原理 185
5.1.2 向量回测 186
5.1.3 vn.py回测 191
5.2 Dual Thrust策略 200
5.2.1 策略原理 200
5.2.2 策略代码解析 201
5.2.3 策略回测 206
5.2.4 策略优化 208
5.2.5 滚动回测 211
5.3 AtrRsi策略 212
5.3.1 ATR指标 213
5.3.2 RSI指标 215
5.3.3 策略原理 216
5.3.4 策略代码解析 217
5.3.5 策略回测 220
5.3.6 滚动回测 221
5.4 金肯特纳通道策略 223
5.4.1 策略原理 223
5.4.2 策略代码解析 224
5.4.3 策略回测 229
5.4.4 滚动回测 229
5.5 布林带通道策略 231
5.5.1 策略原理 231
5.5.2 CCI指标 232
5.5.3 ATR指标 234
5.5.4 策略回测 235
5.5.5 滚动回测 236
5.6 跨时间周期策略 238
5.6.1 策略原理 239
5.6.2 策略代码解析 239
5.6.3 策略回测 243
5.6.4 滚动回测 244
5.7 多信号组合策略 245
5.7.1 策略原理 246
5.7.2 信号生成部分 246
5.7.3 交易管理部分 251
5.7.4 多信号策略的重构 256
第6章 海龟策略本地化实证 259
6.1 海龟策略速览 259
6.1.1 海龟策略的故事 259
6.1.2 海龟策略的局限性 260
6.1.3 原版海龟策略 261
6.1.4 策略回测效果 266
6.2 本地化实现困境与解决方案 268
6.2.1 本地化实现困境 268
6.2.2 理想解决方案 270
6.3 vn.py实现的海龟策略 271
6.3.1 工具准备 271
6.3.2 数据准备 272
6.3.3 海龟策略代码结构 275
6.3.4 海龟策略6大要素代码解析 278
6.3.5 海龟策略的回测 284
6.4 品种选择验证 285
6.4.1 原版投资组合测试 285
6.4.2 筛选品种的传统方法 287
6.4.3 构建海龟组合的难点 295
6.4.4 海龟组合筛选的解决方案 296
6.4.5 重新构建投资组合 300
6.5 长短周期信号检验 320
6.6 上一笔赢利过滤检验 322
6.7 手续费、滑点测试 324
6.8 单位头寸限制检验 325
6.9 关于海龟策略的其他研究方向 329
第7章 新策略实战 330
7.1 开发新的策略 330
7.1.1 策略思路 330
7.1.2 增加AROON函数 332
7.1.3 策略代码解析 333
7.1.4 策略回测 335
7.2 多策略的组合回测 337
7.2.1 历史表现 338
7.2.2 预测表现 341
7.2.3 回测的注意事项 341
7.3 模拟测试 348
7.3.1 策略文件目录 348
7.3.2 实盘/模拟盘配置文件 349
7.4 真实交易环境 352
7.4.1 交易环境的3套系统 352
7.4.2 交易环境的数据流 353
7.5 实际操作注意事项 354
7.5.1 计算错误 354
7.5.2 数据使用误差 355
7.5.3 过拟合 356
7.5.4 幸存者偏差 357
7.5.5 策略周期 358
7.5.6 动态变化的现实环境 359
7.5.7 人为干预 360
附录A 主流交易品种 361
A.1 股票 361
A.1.1 股票的定义 361
A.1.2 股票交易所 362
A.1.3 股票竞价规则 363
A.1.4 T+1制度 367
A.1.5 股票交易策略 369
A.2 期货 371
A.2.1 期货的定义 371
A.2.2 期货交易所 371
A.2.3 期货交易策略 374
A.3 期权 376
A.3.1 期权的定义 376
A.3.2 期权的分类 379
A.3.3 期权的影响因素 381
A.3.4 期权投资组合 383
A.3.5 期权波动率套利策略 386
A.4 外汇 387
A.4.1 外汇的定义 387
A.4.2 外汇市场的结构 389
A.4.3 外汇市场的组织形式 392
A.4.4 主要外汇交易中心 393
A.4.5 外汇交易策略 395
参考文献 398
^ 收 起
第1章 量化交易速览 1
1.1 为何选择量化交易 1
1.1.1 量化交易的概念 1
1.1.2 主观交易与量化交易 2
1.2 量化交易的先驱们 5
1.2.1 朱尔斯・雷格纳特 5
1.2.2 爱德华・索普 6
1.2.3 托马斯・彼得菲 9
1.2.4 詹姆斯・西蒙斯 14
1.3 美国量化投资的发展历史 17
1.3.1 兴起阶段(1970―1990年) 17
1.3.2 快速发展阶段(1990―2000年) 18
1.3.3 稳步增长阶段(2000年至今) 19
1.4 中国量化投资的发展历史 20
1.4.1 ETF套利时代(2010年以前) 20
1.4.2 多因子Alpha和高频交易称雄时代(2010―2015年) 21
1.4.3 多元化投资时代(2016年至今) 23
1.5 国内常用的量化交易策略 24
1.5.1 期货CTA策略 24
1.5.2 股票Alpha策略 32
1.5.3 期权波动率套利策略 41
1.5.4 高频交易策略 45
1.6 宽客 48
1.7 宽客的两大阵形:P宗与Q宗 51
1.8 宽客的3种职能分类 52
1.8.1 量化IT工程师 52
1.8.2 量化研究员 53
1.8.3 量化交易员 54
1.9 宽客的四大派系 55
1.9.1 券商资管 56
1.9.2 公募基金 56
1.9.3 私募基金 57
1.9.4 期货市场 57
第2章 Python量化编程基础 59
2.1 Python运行环境搭建 60
2.1.1 安装Anaconda2-5.0.0(32位) 61
2.1.2 设置Anancoda环境 62
2.1.3 创建共享环境 64
2.1.4 列出共享环境 64
2.1.5 安装Jupyter Notebook 65
2.2 数据 66
2.2.1 字符串 66
2.2.2 数字 67
2.2.3 容器 68
2.2.4 布尔值 73
2.2.5 空值 73
2.3 函数 74
2.3.1 自定义函数 74
2.3.2 第三方库的函数 75
2.4 条件判断 75
2.5 循环 76
2.6 类和实例 79
2.6.1 定义学生父类 79
2.6.2 定义父类实例 81
2.6.3 定义团体子类 82
2.6.4 定义子类实例 83
2.7 NumPy与Pandas 84
2.7.1 一维数组 84
2.7.2 二维数组 88
2.8 scikit-learn机器学习库 92
2.8.1 机器学习的步骤 93
2.8.2 线性回归 94
2.8.3 逻辑回归 100
2.9 Matplotlib绘图库 103
2.9.1 用列表绘制线条 103
2.9.2 用数组绘图 105
2.9.3 多个图的绘制 108
第3章 vn.py入门 109
3.1 vn.py介绍 109
3.2 搭建vn.py运行环境 113
3.2.1 安装Visual Studio 2013社区版(特定版本) 113
3.2.2 安装代码编辑器工具:Sublime Text 114
3.2.3 安装Wing IDE 115
3.2.4 安装MongoDB数据库 115
3.2.5 安装Robo 3T 118
3.2.6 安装vn.py 119
3.2.7 更新vn.py 121
3.3 VnTrader界面功能介绍 122
3.3.1 连接CTP 122
3.3.2 界面说明 123
3.4 vn.py架构 124
3.4.1 底层接口 125
3.4.2 中层引擎 126
3.4.3 上层应用 127
3.5 底层接口 128
3.5.1 CTP API的工作原理 128
3.5.2 CTP API的Python封装设计 133
3.5.3 CTP API对接中层引擎原理 135
3.6 事件引擎 138
3.6.1 时间驱动 138
3.6.2 事件驱动 139
3.6.3 事件引擎工作流程 140
3.6.4 事件引擎结构 141
3.7 上层应用 143
3.7.1 PyQt介绍 143
3.7.2 GUI组件构成 144
第4章 在vn.py中实现CTA策略 147
4.1 数据解决方案 147
4.1.1 CSV加载模块 147
4.1.2 开发新的CSV导入模块 152
4.1.3 数据下载模块 155
4.2 K线生成模块 157
4.2.1 1分钟K线合成 158
4.2.2 X分钟K线合成 161
4.3 K线管理模块 162
4.3.1 初始化参数 162
4.3.2 生成时间序列 163
4.3.3 定义属性函数 164
4.3.4 生成计算指标 165
4.4 CTA策略模块 167
4.4.1 定义成员变量 168
4.4.2 构建函数 169
4.4.3 回调函数 170
4.4.4 主动函数 171
4.5 策略回测模块 174
4.5.1 CTA回测引擎 174
4.5.2 参数优化设置 178
4.5.3 调用回测和优化模块 178
第5章 经典CTA策略 185
5.1 双均线策略 185
5.1.1 策略原理 185
5.1.2 向量回测 186
5.1.3 vn.py回测 191
5.2 Dual Thrust策略 200
5.2.1 策略原理 200
5.2.2 策略代码解析 201
5.2.3 策略回测 206
5.2.4 策略优化 208
5.2.5 滚动回测 211
5.3 AtrRsi策略 212
5.3.1 ATR指标 213
5.3.2 RSI指标 215
5.3.3 策略原理 216
5.3.4 策略代码解析 217
5.3.5 策略回测 220
5.3.6 滚动回测 221
5.4 金肯特纳通道策略 223
5.4.1 策略原理 223
5.4.2 策略代码解析 224
5.4.3 策略回测 229
5.4.4 滚动回测 229
5.5 布林带通道策略 231
5.5.1 策略原理 231
5.5.2 CCI指标 232
5.5.3 ATR指标 234
5.5.4 策略回测 235
5.5.5 滚动回测 236
5.6 跨时间周期策略 238
5.6.1 策略原理 239
5.6.2 策略代码解析 239
5.6.3 策略回测 243
5.6.4 滚动回测 244
5.7 多信号组合策略 245
5.7.1 策略原理 246
5.7.2 信号生成部分 246
5.7.3 交易管理部分 251
5.7.4 多信号策略的重构 256
第6章 海龟策略本地化实证 259
6.1 海龟策略速览 259
6.1.1 海龟策略的故事 259
6.1.2 海龟策略的局限性 260
6.1.3 原版海龟策略 261
6.1.4 策略回测效果 266
6.2 本地化实现困境与解决方案 268
6.2.1 本地化实现困境 268
6.2.2 理想解决方案 270
6.3 vn.py实现的海龟策略 271
6.3.1 工具准备 271
6.3.2 数据准备 272
6.3.3 海龟策略代码结构 275
6.3.4 海龟策略6大要素代码解析 278
6.3.5 海龟策略的回测 284
6.4 品种选择验证 285
6.4.1 原版投资组合测试 285
6.4.2 筛选品种的传统方法 287
6.4.3 构建海龟组合的难点 295
6.4.4 海龟组合筛选的解决方案 296
6.4.5 重新构建投资组合 300
6.5 长短周期信号检验 320
6.6 上一笔赢利过滤检验 322
6.7 手续费、滑点测试 324
6.8 单位头寸限制检验 325
6.9 关于海龟策略的其他研究方向 329
第7章 新策略实战 330
7.1 开发新的策略 330
7.1.1 策略思路 330
7.1.2 增加AROON函数 332
7.1.3 策略代码解析 333
7.1.4 策略回测 335
7.2 多策略的组合回测 337
7.2.1 历史表现 338
7.2.2 预测表现 341
7.2.3 回测的注意事项 341
7.3 模拟测试 348
7.3.1 策略文件目录 348
7.3.2 实盘/模拟盘配置文件 349
7.4 真实交易环境 352
7.4.1 交易环境的3套系统 352
7.4.2 交易环境的数据流 353
7.5 实际操作注意事项 354
7.5.1 计算错误 354
7.5.2 数据使用误差 355
7.5.3 过拟合 356
7.5.4 幸存者偏差 357
7.5.5 策略周期 358
7.5.6 动态变化的现实环境 359
7.5.7 人为干预 360
附录A 主流交易品种 361
A.1 股票 361
A.1.1 股票的定义 361
A.1.2 股票交易所 362
A.1.3 股票竞价规则 363
A.1.4 T+1制度 367
A.1.5 股票交易策略 369
A.2 期货 371
A.2.1 期货的定义 371
A.2.2 期货交易所 371
A.2.3 期货交易策略 374
A.3 期权 376
A.3.1 期权的定义 376
A.3.2 期权的分类 379
A.3.3 期权的影响因素 381
A.3.4 期权投资组合 383
A.3.5 期权波动率套利策略 386
A.4 外汇 387
A.4.1 外汇的定义 387
A.4.2 外汇市场的结构 389
A.4.3 外汇市场的组织形式 392
A.4.4 主要外汇交易中心 393
A.4.5 外汇交易策略 395
参考文献 398
^ 收 起
知乎专栏《Python量化之路》作者,受困于早期Python量化交易的学习资料过于零散,把自己在量化交易从入门到应用的踩“坑”经历整理成学习笔记发布到网上,以*简单的CTA策略为着力点,力求拉近学习与实践(即实盘交易)的距离,由浅入深,比较系统而全面地介绍量化交易相关知识,收获了很多初学者的肯定和共鸣。目前就职于上海某金融科技公司,负责策略的研发与API接口的开发。
本书本着能让新手快速上手量化交易的原则,循序渐进地讲解了量化交易入门所需要的知识,以及大量的开发技巧与交易技巧,具有很强的实用性。vn.py是机构级别的量化交易软件,掌握vn.py框架原理并且熟练运用,有利于新手快速搭建属于自己的量化交易系统。Python语言有非常强大的数据分析库,对于交易策略的研发具有天然优势,且其易学性也深受初学者喜爱。本书即以Python+vn.py这一流行组合写作,从量化交易的起源及其发展进程入手,在简单介绍Python量化编程基础,以及详细解析vn.py架构之后,深入且全面地介绍了CTA策略、海龟策略,以及新策略的开发流程。
相对其他量化交易方面的书,本书不再讲述Python语言编程的大量细节,而将笔墨着重放在对量化交易策略的解析、应用与回测之上,这才是新手真正需要学习和实践的地方。本书适合所有对量化交易感兴趣的人员阅读,也适合相关院校和培训机构作为量化交易系统课程的教材。
^ 收 起
相对其他量化交易方面的书,本书不再讲述Python语言编程的大量细节,而将笔墨着重放在对量化交易策略的解析、应用与回测之上,这才是新手真正需要学习和实践的地方。本书适合所有对量化交易感兴趣的人员阅读,也适合相关院校和培训机构作为量化交易系统课程的教材。
^ 收 起
比价列表
1人想要1人拥有
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠