Python量化交易
  • 推荐0
  • 收藏8
  • 浏览3.4K

Python量化交易

张杨飞 (作者) 

  • 书  号:978-7-121-36140-1
  • 出版日期:2019-05-13
  • 页  数:416
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:孙学瑛
纸质版 ¥99.00
本书本着能让新手快速上手量化交易的原则,循序渐进地讲解了量化交易入门所需要的知识,以及大量的开发技巧与交易技巧,具有很强的实用性。vn.py是机构级别的量化交易软件,掌握vn.py框架原理并且熟练运用,有利于新手快速搭建属于自己的量化交易系统。Python语言有非常强大的数据分析库,对于交易策略的研发具有天然优势,且其易学性也深受初学者喜爱。本书即以Python+vn.py这一流行组合写作,从量化交易的起源及其发展进程入手,在简单介绍Python量化编程基础,以及详细解析vn.py架构之后,深入且全面地介绍了CTA策略、海龟策略,以及新策略的开发流程。
求人不如求已,用心打造自己的财富之井
本书将手把手地教会你用
Python+vn.py流行组合
搭建属于自己的量化交易系统
且着重于量化交易策略的解析、应用与回测
前 言
在证券交易领域中,量化交易脱胎于传统的主观交易:把投资者的交易理念、交易策略固化成计算机程序,通过算法快速自动下单,有效地防止投资者自身情绪的干扰,让其把精力放在研发交易策略上。量化交易的另一个优点是其成功的方法有迹可循,因为量化交易的过程是,运用现代统计学理论对历史数据进行数据分析,构建数学模型来预测市场未来价格的变化,然后通过计算机语言表达出来,从而实现自动交易。
vn.py是机构级别的量化交易软件,掌握vn.py框架原理并且熟练使用,有利于新手快速入门量化交易,搭建属于自己的量化交易系统,也可以在机构中找到与量化岗位相关的工作。
为什么写作本书
本书使用的编程语言是Python。尽管市面上关于Python量化交易方面的书籍不少,但是大部分着重讲述Python编程基础,而且主要是在股票交易中的应用,在期货市场的应用少之又少。就实践的层面来看,股票量化交易对于入门者几乎是不可能实现的,尽管2019年重新开放程序化交易API,但是其资金门槛高达5亿元。
期货市场上程序化交易接口却无资金门槛,而且量化交易应用发展得比较成熟,这才是新手可以去学习和实践的地方。故本书的写作定位是交易策略在期货领域的应用和开发,力求填补这方面的空白。
本书特色
本书尽量以初学者的角度来讲述量化交易的内容,逐步填平量化交易入门要踩的“坑”,力求让读者快速熟悉这方面的知识,能够独立开发交易策略并且尝试进行仿真交易。如果在SinNow仿真交易平台能够赢利,那么就可以上实盘去“跑”了。
本书的另一个特色是使用机构级别的开源交易软件:vn.py。机构级别软件对应的使用群体是做量化交易的机构投资者,如私募基金、证券自营,以及资管和期货资管等。这类软件虽然上手困难,但是熟练掌握后能更有效地深耕于量化交易领域,并且也有利于初学者入门量化交易。
本书主要内容
本书共包括7章,每章的主要内容如下。
第1章“量化交易速览”首先从狭义和广义两个方面介绍了“量化交易”的概念,然后介绍开拓出这个领域的先驱们的故事,接着讲述量化投资在美国与中国的历史发展进程,最后简单地介绍国内常用的量化交易策略及宽客这个专门从事量化交易的职业。
第2章“Python量化编程基础”介绍了将Python作为量化交易入门语言的理由,讲解了Python的基础概念,以及常用的数据分析库NumPy与Pandas、机器学习库scikit-learn,最后讲解绘图库Matplotlib的基本用法。
第3章“vn.py入门”介绍了vn.py交易系统的概况、安装步骤、主交易界面的功能,具体讲述vn.py应用框架的结构,分别是底层接口、中层引擎及上层应用,最后对这3层结构的原理做一个具体说明。
第4章“在vn.py中实现CTA策略”介绍vn.py提供的数据解决方案,用于生成具体CTA策略的相关支出模块,如K线生成、K线管理和策略模板,最后讲述回测和优化模块。
第5章“经典CTA策略”主要介绍vn.py官方提供的经典CTA策略,包括策略原理、代码解释、策略回测和参数优化。
第6章“海龟策略本地化实证”首先介绍海龟交易策略的起源、关键要素,然后解析vn.py下海龟策略的代码,通过交叉检验与筛选品种构成投资组合,最后基于构建好的海龟组合对策略的各个关键要素进行研究。
第7章“新策略实战”首先介绍了开发新策略的流程,然后是搭建投资组合,并进行策略回测为实战做好准备,最后介绍在真实交易情况下接触的3套系统,并且分析策略回测与实战中结果不同的成因。
致谢
我首先要感谢“猴子聊人物”创始人,他的数据分析的课程让我快速上手Python语言;然后是“用Python的交易员”陈晓优先生,我也是受益于其知乎Live上对量化交易的推广才从传统的金融转到该领域的。
我还要真诚地感谢电子工业出版社优秀的IT编辑孙学瑛女士和电子工业出版社对本书的重视,以及他们为本书出版所做的一切。

目录

目 录
第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

本书勘误

印次
  • 页码:90  •  行数:6  •  印次: 1

    这行严重错误,正确的是:salesDict = {

    崇明岛主 提交于 2019/10/5 16:27:30
    孙学瑛 确认于 2019/10/14 16:10:16
  • 页码:90  •  行数:6  •  印次: 1

    第六行开始的一段,整段错误,正确的是:salesDict = {
    ‘购药时间’:[‘2018-08-01星期五’,’2018-08-02星期六’,’2018-08-03星期三’],
    ‘社保卡号’:[‘001616528’,’001616528’,’0012602828’],
    ‘商品编码’:[236701,236701,236701],
    ‘商品名称’:[‘ 最强VC银翘片’,’ 清热解毒口服液’,’ 感 康’],
    ‘销售数量’:[6,1,2],
    ‘应收金额’:[82.8,28,16.8],
    ‘实收金额’:[69.00,24.64,15.00]
    }

    崇明岛主 提交于 2019/10/5 16:29:32
    孙学瑛 确认于 2019/10/14 16:09:48
  • 页码:92  •  行数:20  •  印次: 1

    正确表达为 :pd.core.series.Series

    崇明岛主 提交于 2019/10/5 16:30:54
    孙学瑛 确认于 2019/10/14 16:09:20
  • 页码:97  •  行数:8  •  印次: 1

    代码前面丢失了一段代码 :from sklearn.model_selection import train_test_split

    崇明岛主 提交于 2019/10/5 16:24:15
    孙学瑛 确认于 2019/10/14 16:10:37
  • 页码:103  •  行数:3  •  印次: 1

    整行表达错误!正确的是:from sklearn.model_selection import train_test_split

    崇明岛主 提交于 2019/10/5 16:34:43
    孙学瑛 确认于 2019/10/14 16:08:25

读者评论

  • 103页 2行报错,我是直接复制下载好的代码不可能错

    足篮双绝发表于 2020/12/17 15:29:10
  • 想问下为啥这书的勘误这么多呢

    足篮双绝发表于 2020/12/17 15:21:40
  • 你好啊,能不能推荐下MAC环境搭建教程啊呢?

    发表于 2019/12/26 21:34:35
  • 作者大大,小白求解,2.8节scikit-learn的代码你是通过什么敲的?

    pybai发表于 2019/9/17 17:03:30
    • 那时候在jupyter notebook敲的。但建议最好在IDE上写代码,如Vscode,pycharm,

      yazhang发表于 2019/10/14 20:29:44
  • dataService 这个包在那里有?

    Tony发表于 2019/7/18 9:32:25
    • 以1.9.2为例,dataService文件夹在vnpy-1.9.2-LTS\vnpy-1.9.2-LTS\examples\DataService中,其中Ccc和coinapi是下载数据货币的,Futu是下载港股美股的,Tushare是下载A股的

      yazhang发表于 2019/7/22 10:32:54

相关图书

B站运营大揭秘:百万Up主真想教会你的创作笔记

本书由B站的三位百万级Up主(GenJi是真想教会你、鱼C-小甲鱼、阿Test正经比比)联合打造,为读者提供了B站独家运营秘籍。 全书总计8章。第1章重点讲解...

 

期货交易——日内投机常用技巧与实战

李俊峰 (作者)

本书主要讲解日内投机交易的各种常用技巧。第1章讲解日内投机操作的基础知识,让投资者详细地了解日内投机交易的特点、流程、风险性等。第2章讲解如何确定交易方向,以及...

¥69.00

基金定投——投资小白盈利指南

于佳蓉 (作者)

随着国内外投资市场环境的变化,投资者的风险偏好也发生了巨大变化,无论是对个人投资者来说,还是对专业投资机构来说,投资难度均有所加大,对投资小白来说更是如此。他们...

¥69.80

小马白话期权3——交易新手入门指南(全彩)

随着更多商品期权品种的上市,越来越多的投资者开始关注期权。本书讲解期权的基础知识、交易策略、操作方法和风险控制等,最后提供了期权的实际操作案例,书中的每个案例几...

¥79.00

股票多因子模型实战:Python核心代码解析

陆一潇 (作者)

本书深入浅出地介绍股票多因子模型的原理与构建方式,从基础知识、单因子测试、因子合成、股票组合构建等多方面进行介绍。 本书共6章:第1章对量化投资进行概述,引出...

 

数据赋能:数字化营销与运营新实战

姚新军 (作者)

本书围绕数据为企业数字营销和运营赋能的两大主线:数据驱动和数据分析展开。详细介绍了企业如何在基于获取各种重要数据的基础上,将这些数据应用于数字广告投放、数字渠道...

¥168.00