描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302587484丛书名: 新时代·技术新未来
简单易懂:即便是非金融或投资专业的读者也可以看懂。
直截了当:不谈理论,只讲方法,带领读者使用真实数据集进行操练。
轻松愉快:没有说教,如朋友般娓娓道来,还有小瓦姑娘陪你练习。
前沿视角:将国际前沿的自然语言处理技术引入书中,令人耳目一新。
使用Python获得真实的股票行情数据,让你快速上手;
设计简单的交易策略,让交易信号告诉你什么时候下单买卖;
“徒手”实现一个简单的回测程序,让它帮你评估策略的收益情况;
用Python实现经典的交易策略并回测,让你心中有数;
使用KNN模型预测股价的涨跌,并基于此设计交易策略;
利用第三方量化交易平台获取更多数据;
使用PCA主成分分析制作你的专属交易因子,用它来选股;
对因子进行分析,找到在某个时间范围内能带来较高收益的因子;
将经典机器学习算法与因子结合起来设计交易策略;
初探自然语言处理,获得股市相关的文本数据,并进行情绪分析。
本书主要以国内A股市场为例,借助第三方量化交易平台,讲述了KNN、线性模型、决策树、支持向量机、朴素贝叶斯等常见机器学习算法在交易策略中的应用,同时展示了如何对策略进行回测,以便让读者能够有效评估自己的策略。 另外,本书还讲解了自然语言处理(NLP)技术在量化交易领域的发展趋势,并使用时下热门的深度学习技术,向读者介绍了多层感知机、卷积神经网络,以及长短期记忆网络在量化交易方面的前瞻性应用。 本书没有从Python基础语法讲起,对于传统交易策略也只是一带而过,直接将读者带入机器学习的世界。本书适合对Python语言有一定了解且对量化交易感兴趣的读者阅读。
VII
目 录
第1章 小瓦的故事—从零开始
1.1 何以解忧,“小富”也行 1
1.1.1 那些年,那些交易 2
1.1.2 自动化交易和高频交易 2
1.1.3 因子投资悄然兴起 3
1.2 机器学习崛起 4
1.2.1 量化投资风生水起 4
1.2.2 没有数据是不行的 5
1.2.3 交易策略和阿尔法因子 5
1.3 要想富,先配库 6
1.3.1 Anaconda的下载和安装 6
1.3.2 Jupyter Notebook的基本使用方法 8
1.3.3 用真实股票数据练练手 11
1.4 小结 15
第2章 小瓦的策略靠谱吗—回测与经典策略
2.1 对小瓦的策略进行简单回测 16
2.1.1 下载数据并创建交易信号 16
2.1.2 对交易策略进行简单回测 18
2.1.3 关于回测,你还需要知道的 20
2.2 经典策略之移动平均策略 21
2.2.1 单一移动平均指标 21
2.2.2 双移动平均策略的实现 23
2.2.3 对双移动平均策略进行回测 26
2.3 经典策略之海龟策略 28
2.3.1 使用海龟策略生成交易信号 28
2.3.2 根据交易信号和仓位进行下单 29
2.3.3 对海龟策略进行回测 31
2.4 小结 34
第3章 AI来了—机器学习在交易中的简单应用
3.1 机器学习的基本概念 35
3.1.1 有监督学习和无监督学习 35
深入浅出Python量化交易实战
VIII
3.1.2 分类和回归37
3.1.3 模型性能的评估37
3.2 机器学习工具的基本使用方法 37
3.2.1 KNN算法的基本原理 38
3.2.2 KNN算法用于分类 38
3.2.3 KNN算法用于回归 43
3.3 基于机器学习的简单交易策略 47
3.3.1 获取股票数据47
3.3.2 创建交易条件49
3.3.3 使用分类算法制定交易策略 50
3.4 小结 54
第4章 多来点数据—借助量化交易平台
4.1 数据不够,平台来凑 55
4.1.1 选择量化交易平台 56
4.1.2 量化交易平台的研究环境 57
4.1.3 在研究环境中运行代码 58
4.2 借助财务数据筛选股票 59
4.2.1 获取股票的概况60
4.2.2 获取股票的财务数据 62
4.2.3 通过财务指标进行选股 64
4.3 谁是幕后“大佬” 65
4.3.1 找到的股东66
4.3.2 大股东们增持了还是减持了 67
4.3.3 资金净流入还是净流出 69
4.4 小结 71
第5章 因子来了—基本原理和用法
5.1 “瓦氏因子”了解一下 72
5.1.1 获取主力资金流向数据 73
5.1.2 简易特征工程74
5.1.3 “瓦氏因子”的计算 75
5.1.4 用添加“瓦氏因子”的数据训练模型 76
5.1.5 “因子”都能干啥 77
5.2 股票不知道怎么选?因子来帮忙 78
5.2.1 确定股票池78
5.2.2 获取沪深两市的全部指数 79
5.2.3 获取股票的市值因子 80
5.2.4 获取股票的现金流因子 81
5.2.5 获取股票的净利率因子 82
5.2.6 获取股票的净利润增长率因子 83
5.3 把诸多因子“打个包” 84
5.3.1 将4个因子存入一个DataFrame 84
5.3.2 使用PCA提取主成分 85
5.3.3 找到主成分数值的股票 86
5.4 小结 87
目录
IX
第6章 因子好用吗—有些事需要你知道
6.1 针对投资组合获取因子值 88
6.1.1 建立投资组合并设定日期 88
6.1.2 获取一个情绪因子 90
6.1.3 获取全部的因子分析结果 91
6.2 因子收益分析 92
6.2.1 因子各分位统计92
6.2.2 因子加权多空组合累计收益 94
6.2.3 做多分位做空小分位收益 96
6.2.4 分位数累计收益对比 97
6.3 因子IC分析 98
6.3.1 因子IC分析概况 99
6.3.2 因子IC时间序列图 99
6.3.3 因子IC正态分布Q-Q图和月度均值 101
6.4 因子换手率、因子自相关性和因子预
测能力分析 102
6.4.1 因子换手率分析103
6.4.2 因子自相关性分析 104
6.4.3 因子预测能力分析 106
6.5 小结 107
第7章 当因子遇上线性模型
7.1 什么是线性模型 108
7.1.1 准备用于演示的数据 108
7.1.2 来试试简单的线性回归 110
7.1.3 使用正则化的线性模型 113
7.2 用线性模型搞搞交易策略 115
7.2.1 准备因子115
7.2.2 训练模型117
7.2.3 基于模型的预测进行选股 118
7.3 能不能赚到钱 119
7.3.1 平台的策略回测功能 120
7.3.2 把研究成果写成策略 121
7.3.3 回测124
7.4 小结 126
第8章 因子遇到决策树与随机森林
8.1 什么是决策树和随机森林 127
8.1.1 线性模型不适用的数据样本 127
8.1.2 决策树的用法和原理 129
8.1.3 随机森林的用法和原理 130
8.2 哪些因子重要,决策树能告诉你 132
8.2.1 多来点因子132
8.2.2 设定目标并训练模型 135
8.2.3 哪些因子重要137
8.3 用重要因子和随机森林来制订
策略 138
深入浅出Python量化交易实战
8.3.1 回测函数的初始化 138
8.3.2 盘前的准备工作139
8.3.3 策略中的机器学习部分 141
8.3.4 定义买入股票和卖出股票的列表 142
8.3.5 定义买入操作和卖出操作 144
8.3.6 对策略进行回测145
8.4 小结 146
第9章 因子遇到支持向量机
9.1 什么是支持向量机 147
9.1.1 支持向量机的基本原理 147
9.1.2 线性内核有时“很着急” 149
9.1.3 RBF内核“闪亮登场” 150
9.2 动态因子选择策略 152
9.2.1 设置回测环境152
9.2.2 开盘前准备153
9.2.3 机器学习的部分155
9.2.4 买入和卖出的操作 157
9.3 策略的回测详情 158
9.3.1 策略收益概述159
9.3.2 策略交易详情159
9.3.3 持仓和收益详情161
9.4 使用策略进行模拟交易 162
9.4.1 模拟交易163
9.4.2 查看模拟交易详情 164
9.4.3 模拟交易的持仓与下单 165
9.5 小结 166
第10章 初识自然语言处理技术
10.1我们的想法是否靠谱 167
10.1.1 思考几个问题 167
10.1.2 参考一下“大佬”们的做法 168
10.1.3 说了那么多,什么是NLP 169
10.2 获取文本数据并简单清洗 170
10.2.1 获取新闻联播文本数据 170
10.2.2 对文本数据进行简单清洗 172
10.3 中文分词,“结巴”来帮忙 173
10.3.1 使用“结巴”进行分词 174
10.3.2 使用“结巴”进行列表分词 174
10.3.3 建立停用词表 175
10.3.4 去掉文本中的停用词 176
10.3.5 使用“结巴”提取关键词 178
10.4 小结 180
第11章 新闻文本向量化和话题建模
11.1 让机器“读懂”新闻 181
11.1.1 准备文本数据 181
目录
11.1.2 使用CountVectorizer将文本转化为
向量 183
11.1.3 使用TfidfVectorizer将文本转化为
向量 185
11.2 让机器告诉我们新闻说了啥 186
11.2.1 什么是话题建模 186
11.2.2 什么是LDA模型 187
11.3 话题建模实战 188
11.3.1 加载数据并进行分词 188
11.3.2 将分词结果合并保存 190
11.3.3 使用LDA进行话题建模 191
11.3.4 对模型进行改进 192
11.4 小结 194
第12章 股评数据情感分析
12.1 机器懂我们的情感吗 195
12.1.1 了解分好类的语料 196
12.1.2 将文件上传到量化交易平台 197
12.2 用语料制作数据集 198
12.2.1 将正面情绪语料存储为列表 198
12.2.2 将负面情绪语料存储为列表 200
12.2.3 给数据“打上标签” 201
12.2.4 合并正负面情绪语料 202
12.3 隆重推出“朴素贝叶斯” 203
12.3.1 “朴素贝叶斯”又是什么 204
12.3.2 为贝叶斯模型准备数据 205
12.3.3 开始训练贝叶斯模型并评估其性能 206
12.4 小结 208
第13章 咱也“潮”一把—深度学习来了
13.1 开始研究前的准备 209
13.1.1 翻翻工具箱,看看有什么 210
13.1.2 为神经网络准备数据 211
13.2 使用Keras对文本进行预处理 213
13.2.1 使用Tokenizer提取特征 213
13.2.2 将文本转化为序列 214
13.2.3 填充序列与转化矩阵 216
13.3 使用Keras构建简单神经网络 217
13.3.1 先动手“撸”一个多层感知机 217
13.3.2 念叨一下多层感知机的原理 218
13.3.3 再来说说激活函数 220
13.3.4 Dropout层又是干吗的 221
13.3.5 训练一下,看看效果如何 222
13.4 小结 224
深入浅出Python量化交易实战
第14章 再进一步—CNN和LSTM
14.1 先动手“撸”一个卷积神经
网络 225
14.1.1 准备好库和数据集 225
14.1.2 处理数据与搭建模型 227
14.2 卷积神经网络模型详解 229
14.2.1 嵌入层是干啥用的 230
14.2.2 卷积层是干啥用的 231
14.2.3 池化层是干啥用的 233
14.2.4 训练模型看看效果 234
14.3 长短期记忆网络 236
14.3.1 搭建一个简单的长短期记忆网络 236
14.3.2 关于长短期记忆网络 237
14.3.3 训练模型及评估 238
14.3.4 保存模型并在回测中调用 240
14.4 小结 241
第15章 写在后—小瓦的征程
15.1 可以一夜暴富了吗 242
15.1.1 使用第三方量化平台是个好主
意吗 243
15.1.2 机器学习到底有没有用 243
15.1.3 要“吊死”在A股“这棵树”
上吗 244
15.2 将来要做什么 245
15.2.1 学习一些数据库知识 245
15.2.2 多看看不同的投资标的 247
15.2.3 打开国际化的视野 249
15.3 小结 252
前 言
总有些人,不甘平凡
不管是在上学的时候,还是走向工作岗位之后,大家可能都会遇到这样的人—他们
从不满足于平凡的现状,常常想着如何让自己的生活变得更好。于是他们比别人花更多的
时间“泡”图书馆、查资料、加班,努力学习,认真思考,总想找到一条让自己的人生发
生“质变”的路。
有句“鸡汤”是这么说的:上天总会奖励那些偷偷努力的人。虽说“鸡汤”适量“饮
用”就好,不过说真的,就我们目前观察,努力的人大概率还是能够提升自己的生活品质的。
不过大家要注意,这里说的是“大概率”,而不是说“肯定”。因为即使你很努力,但是
努力的方向选得不太好,那很可能会事倍功半。
就像我们这本书的主角—小瓦,她有足够的动力去改变自己的生活,也为了这个目
标很努力地在学习和思考,但她需要一个很好的努力方向来实现自己的人生目标,而本书
的目的也是要帮助她厘清思路,使她掌握相关的技能。
当然,在培养起兴趣,并掌握了基本技能之后,小瓦未来还要再接再厉,勇攀高峰。
常言道,“功夫不负有心人”。相信只要坚持不懈地钻研,小瓦终会过上自己想要的生活(小
瓦的名字来源于北欧神话中女武神Valkyria的名字,暗指她未来将会有很高的成就)。
本书会带给读者什么
这里要强调的是,本书并不是鼓励大家都去一头扎进量化交易当中,把它当作实现“一
夜暴富”的捷径。实际上,本书写作的初衷是:在股票交易这个门槛较低,且数据相对比
较完善的场景当中,让读者可以像小瓦一样,提高自己的数据分析能力,掌握机器学习技能。
再直白一点地说,如果读者朋友和小瓦有类似的动机和背景,那本书带给你的是一种
I
深入浅出Python量化交易实战
II
思维方式和比较通用的技能:你会更加重视数据在各种业务场景中的重要性;了解如何使
用科学的方式去分析和解决业务问题,如何使用算法在多个维度的数据中找到有用的信
息,如何使用机器学习和深度学习技术对目标做出预测,以及如何处理文本数据等。
退一步讲,即使读者朋友没有使用量化交易技术进行投资,依靠上述技能仍然可以获得
一份不错的收入(如找一份数据分析师的工作,或者是兼职帮别人做点事情),这样也算是
“进可攻退可守”的策略了。
本书内容及体系结构
本书以完全没有量化交易经验的对象视角,从基础的环境搭建开始进行讲解,并
直接带读者进入多因子、机器学习的时代。本书后半部分更是紧贴国际前沿趋势,介绍了
NLP技术在量化交易领域的应用,以便读者参考。
本书更多地采用启发式的方法,让读者朋友能够跟着相关内容不停思考和尝试,而不
是简单地照搬现有策略。
第1章,先是简单介绍了小瓦的情况,以便让读者朋友们更有代入感;紧接着对人类
的交易历史做了简明的阐述,主要是为了让读者朋友们可以了解交易技术的发展脉络,对
量化交易的概念有基本的认知;随后直接带读者进入环境配置的环节,并使用真实的股票
数据集进行实验,让喜欢实操的读者对量化交易有一个直观的感受,并产生兴趣。
第2章,通过对小瓦策略的回测,向读者朋友介绍了回测的基本概念和简单方法;随
后简单介绍了一些历史上比较经典的交易策略—移动平均策略和海龟策略,并通过简单
的回测让读者朋友对这两种策略的收益情况有一个大致的了解。
第3章,就开始让读者朋友们和小瓦一起接触机器学习的概念了。本章先是用通俗易
懂的例子讲解了有监督学习和无监督学习的概念;然后对机器学习中的分类和回归进行了
阐述;随后用真实的股票数据训练了一个简单的KNN模型,并基于KNN模型编写了简单
的交易策略,后对这个策略进行了简单的回测。
第4章,为了能够让小瓦和读者朋友们更加专注于策略的编写和回测,我们挑选了一个
第三方量化交易平台,并基于该平台的研究环境,讲解了如何获取股票的概况数据、财务数
据、股东数据、主力资金流入/流出数据等。从本章开始,本书附带的代码,需要在该平台上
运行。
第5章,开始介绍时下流行的因子。为了给读者朋友带来更多启发,我们让小瓦发动
前言
III
自己的聪明才智设计了一个专属于自己的“瓦氏因子”,并借此向读者朋友展示了因子的
基本原理;随后使用代码,通过第三方量化交易平台获取了股票的市值因子、现金流因子、
净利率因子等;后别出心裁地使用了无监督学习的主成分分析(PCA)算法,把上述一
些因子进行了“打包”,并借此进行了选股的实验。
第6章,介绍了对因子进行分析的方法。这里我们建立了一个实验用的投资组合,并
以“成交量的5日指数移动平均”因子为例,介绍了如何对因子进行收益分析、因子的IC
分析,以及因子换手率、因子相关性和因子预测能力的分析,以便让读者朋友对因子的评
价方法有基本的了解,并可以掌握相关的方法。
第7章,开始将机器学习与多因子进行结合。介绍了机器学习中的线性模型算法,包
括基础的线性回归算法和使用正则化的岭回归算法,并使用实验数据集对两种算法进行
了对比;紧接着使用了多个因子与线性模型结合,编写了策略;后使用了第三方量化交
易平台的回测功能对策略进行了回测,在这个过程中,读者朋友也可以掌握回测涉及的相
关指标。
第8章,将机器学习算法与多因子的结合更进一步。本章不仅仅介绍了决策树与随机
森林算法,更是使用了决策树的判断特征重要性的功能对若干个因子的重要性进行了计算;
随后,我们使用了决策树“认为”比较重要的因子,结合随机森林算法编写了交易策略;
同样地,也再次对策略进行了回测。
第9章,将近年来普遍在量化交易中表现比较好的支持向量机(SVM)带到读者面前。
本章从基本的原理开始介绍,之后提出了动态因子选择策略—每次运行程序都使用决策树
算法选择重要性的因子,再用其来训练支持向量机模型,并形成策略和进行回测。可以
说,到这一章,读者朋友们可以对传统机器学习算法在量化交易领域的应用有了初步的掌握。
第10章,会让小瓦和读者朋友一起,进入一个更新的世界—开始探讨更加前沿的尝
试:将自然语言处理技术应用于量化交易当中。本章先介绍了国际上一些知名机构在自然
语言处理和量化交易方向的一些成果,随后使用真实的新闻文本数据,介绍了中文的分词
方法及应用,为后面的章节打下基础。
第11章在第10章的基础上,让小瓦和读者朋友一起学习文本向量化方法,并使用潜
狄利克雷分布(LDA)进行话题建模技术的学习。通过本章的学习,小瓦将能够掌握如何
使用机器学习算法,从大量文本中快速获取话题。
第12章,开始让小瓦和读者朋友一起,进行文本数据情感分析的实验。在本章中,我
们还会继续使用到文本向量化方法;之后使用了在文本分类中非常常用的朴素贝叶斯算法。
深入浅出Python量化交易实战
在完成本章的学习之后,读者朋友将会和小瓦一样,掌握文本分类的基本方法。
第13章,我们让小瓦开始接触神经网络算法。作为近几年大热的人工智能算法,神经
网络不论是在图像识别方面还是在文本分类方面,都有广泛的应用。本章主要向小瓦和读
者朋友介绍对用户非常友好的深度学习框架—Keras,并介绍如何使用Keras内置的工具
对文本数据进行处理;随后使用Keras搭建了多层感知机(全连接层)神经网络,对文本
的情绪进行分类实验。
第14章,在小瓦已经掌握多层感知机的基础上,我们进一步介绍了卷积神经网络和长
短期记忆网络的原理,并基于文本分类任务,分别训练了卷积神经网络和长短期记忆网络。
经过本章的学习之后,小瓦和读者朋友可以掌握卷积神经网络和长短期记忆网络的原理和
基本的训练方法。
第15章,提出了一些问题,并对小瓦未来学习和研究的方向给出了一些建议,也给读
者朋友提供了一些参考。
本 书 特 色
1.视角独特,让读者能够有较强的代入感
本书以一个女大学生的故事作为开篇,将她的动机和基础条件列出—想要改善自己
的生活状态,并且有一些Python基础,对于量化交易只是听说过,但从来没有接触过。因
此本书站在她的角度,内容安排由浅入深,层层递进,让读者能够轻松入门,不会觉得难
于上手。
2.内容新颖,核心内容单刀直入
本书没有花篇幅去讲解Python基础语法、数据类型等基础知识(因为市面上此类的书
籍已经很多),而是本着实用性原则,给读者朋友呈现的都是核心内容,文字与代码精练,
读者朋友容易上手。
3.紧跟国际潮流,给读者更前沿的视野
本书的另一特点是,对传统的交易策略一带而过。作者重点对目前国内外热门的机器
学习算法相关应用进行了系统的阐述。对于国际上先进的自然语言处理技术和神经网络的
应用,作者更是不吝笔墨,为读者朋友做了系统的介绍。这样做的目的是让读者朋友能够
了解国际上更加前沿的做法,并给读者朋友留下思考和探索的空间,能够让读者朋友在入
门之后,有进一步努力的方向。
前言
本书读者对象
●
学习Python,但没找到应用场景的朋友;
●
对股票投资感兴趣,想尝试量化交易的朋友;
●
有意向进入投资机构,成为一名量化基金经理的朋友;
●
平时工作不是很忙,打算做点副业的朋友。
由于作者水平有限,本书难免会有疏漏之处,欢迎各位读者朋友指正。
作 者
评论
还没有评论。