描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121420528丛书名: 大数据金融丛书
本书主要为有志于从事量化研究领域相关工作的读者建立一个量化研究的一般性流程和框架,并对流程的关键环节适当展开,给出程序案例。
本书是以给广大量化研究者建立一个一般性的量化研究流程(主要是量化策略开发,也包括其他量化研究)为主旨来展开编写的。全部章节以流程化的形式展开,从量化研究的数据开始到终以交易结束。数据库、指标库、算法库、工具库、可视化库、报告和日常工作系统、交易系统这7个核心库/系统分别解决了量化研究中某一个环节的问题。量化研究是以上述7个核心库/系统所代表环节的一个循环,在这个循环中不断进行的改进和研究。它将数据和思想相结合,通过交易来检验研究成果是否达到预期,然后改进思想和更换数据,并投入下一次交易中。这样的循环使得每一次量化研究都更加接近理想效果。而在循环的每一个环节上,本书给出了一系列工具、算法、技术等来支撑各个核心库/系统的功能。本书在编程语言上以Matlab和Python为主,数据库一章用到了MySQL的基本知识,交易系统一章用到了MongoDB的知识。本书的内容十分丰富,通过阅读本书,读者可以对量化研究形成一个系统、全面、完整的认识,并在今后的研究工作中逐步拓展,终形成自己的体系。
绪论 量化研究体系介绍 1
0.1 7大模块 1
0.1.1 数据库 1
0.1.2 指标库 2
0.1.3 算法库 2
0.1.4 工具库 3
0.1.5 可视化库 5
0.1.6 报告和日常工作系统 5
0.1.7 交易和风控系统 5
0.2 结束语 7
第1章 数据库 9
1.1 股票日频率行情数据下载脚本 13
1.2 期货成交持仓排名数据下载脚本 21
1.3 EDB数据下载案例 26
1.4 高频数据下载案例 30
1.5 同花顺量化数据接口的融资标的股数据下载案例 38
1.6 同花顺十大流通股东数据下载案例 39
第2章 指标库 42
2.1 指标库的设计与分类 42
2.1.1 根据投资标的进行分类 42
2.1.2 根据数据性质进行分类 42
2.1.3 根据投资市场进行分类 43
2.2 指标库目录管理程序的说明 43
2.3 技术指标案例 58
2.3.1 摆动指标 58
2.3.2 波动指标 64
2.3.3 超买超卖指标 72
2.3.4 成交量指标 78
2.3.5 反趋向指标 89
2.3.6 价格指标 105
2.3.7 量价技术指标 111
2.3.8 能量指标 118
第3章 算法库 131
3.1 机器学习常见算法分类汇总 131
3.1.1 按学习方式分类 132
3.1.2 按对训练集的使用方法分类 134
3.1.3 按形式及功能分类 135
3.2 傅里叶变换 143
3.2.1 傅里叶变换算法理论 143
3.2.2 离散傅里叶变换代码与去噪实例 145
3.2.3 利用快速傅里叶变换对原数据进行降噪 151
3.3 ReliefF特征选择 152
3.3.1 ReliefF算法理论 152
3.3.2 ReliefF算法实例分析 155
3.4 高斯混合聚类模型(GMM) 161
3.4.1 GMM算法理论 161
3.4.2 算法代码及实例 169
3.5 Chi-Merge算法 175
3.5.1 Chi-Merge 算法简介 175
3.5.2 Chi-Merge原理介绍 176
3.5.3 Chi-Merge实例分析 177
3.5.4 Chi-Merge算法代码 182
3.6 粗糙集分类算法 188
3.6.1 粗糙集分类算法简介 188
3.6.2 粗糙集分类算法原理介绍 189
3.6.3 粗糙集分类算法函数 196
3.6.4 粗糙集分类算法实例分析 197
3.6.5 粗糙集分类算法代码 199
第4章 工具库 208
4.1 数据清洗程序 208
4.1.1 自动数据清洗程序的功能概述 208
4.1.2 手动数据清洗程序的功能概述 211
4.1.3 自动数据清洗程序 213
4.1.4 手动输入日期序列对数据进行补全的程序 217
4.2 因子回测程序 218
4.2.1 因子回测程序整体逻辑 218
4.2.2 因子回测程序流程 218
4.2.3 输入参数 219
4.2.4 模型结构及逻辑 221
4.2.5 因子回测程序代码 223
4.3 先后轮动关系挖掘程序 232
4.3.1 先后轮动程序介绍 232
4.3.2 先后轮动总体流程 232
4.3.3 输入参数 233
4.3.4 模型结构及逻辑 234
4.3.5 自定义折线化函数逻辑 235
4.3.6 程序代码 235
4.4 多品种量化回测系统 251
4.4.1 平台思路框架 251
4.4.2 公式介绍 251
4.5 中文变量与代码变量对照表 275
4.6 函数介绍 276
4.7 实例分析 278
第5章 可视化库 281
5.1 Matlab画图编程技巧总结 281
5.1.1 画布设置 281
5.1.2 坐标轴设置 282
5.1.3 label设置 283
5.1.4 legend设置 284
5.1.5 title设置 284
5.1.6 颜色、透明图控制 284
5.1.7 plot函数 285
5.1.8 scatter函数 286
5.1.9 plotyy函数 288
5.1.10 极坐标与笛卡儿坐标转换 290
5.1.11 patch函数应用 291
5.1.12 构建曲面 292
5.1.13 自制坐标轴 293
5.1.14 字体 293
5.1.15 画图技巧 294
5.2 形态类画图程序 296
5.2.1 渐变彩色折线图 296
5.2.2 饼状图 298
5.2.3 彩带图 302
5.2.4 关系图 304
5.2.5 火柴图 306
5.2.6 雷达图 309
5.2.7 面积图 311
5.2.8 柱状图 314
5.3 功能性图例 318
5.3.1 沿有效前沿的资产权重变化面积图 318
5.3.2 资产组合的有效前沿 319
5.3.3 二资产协整关系判断及对冲策略测试 320
5.3.4 时间序列数据的离群点可视化 324
5.3.5 数据分布及统计性质 325
5.3.6 数据分布的分位数观察 327
5.3.7 二分类机器学习器的分类准确率展示 329
5.3.8 品种指标排名 334
5.3.9 时间序列与相关指标对比图 336
5.3.10 多个价格序列及其收益率序列对比图 341
5.3.11 策略累计收益及回撤 344
5.3.12 逐笔交易盈亏图 347
5.3.13 三维聚类展示 349
第6章 报告和日常工作系统 351
6.1 Matlab中调用Microsoft Word的技巧总结 351
6.1.1 COM对象及其接口 351
6.1.2 创建和编辑Microsoft Word文件 355
6.2 实例:创建一份股票量化日报模板 363
6.2.1 建立Word文档 363
6.2.2 页内容编写 364
6.2.3 第二页内容编写 372
6.2.4 第三页内容编写 375
6.3 量化团队工作管理系统 378
6.3.1 量化研究环节、评价及考核 378
6.3.2 评分管理系统 380
第7章 交易系统 391
7.1 东方财富模拟交易接口 391
7.1.1 网页结构的基础知识及爬虫技术操作 391
7.1.2 东方财富模拟股票交易接口 397
7.1.3 东方财富模拟期货交易接口 411
7.1.4 东方财富模拟期权交易接口 421
7.2 VNPY交易接口 445
7.2.1 VNPY使用前的准备工作 445
7.2.2 VNPY交易接口的使用 448
本书是作者李一邨与电子工业出版社的资深编辑李冰老师的初次合作。李冰老师具有多年科技书籍编辑工作经验,在她的帮助和指导下,历时一年半才完成初稿。著书期间,经过多次商讨和修改,日臻完善。我们衷心地希望本书的内容能够为从事量化研究领域工作的读者提供一些帮助。
本书主旨
本书主要为有志于从事量化研究领域相关工作的读者建立一个量化研究的一般性流程和框架,并对流程的关键环节适当展开,给出程序案例。读者通过学习本书能够了解一般性的量化研究内容,并在今后结合自身的工作进一步丰富和拓展这个框架,以期终建立自己独特的量化研究体系。
本书主要内容
本书以7大核心库/系统为核心构建量化研究体系,每个核心库/系统都在研究环节中发挥了自身的功能,具体内容如下。
(1)数据库以同花顺和万得两个数据商的量化接口为例,对两个接口的各个数据模块编写了数据下载脚本并作为案例,这些案例可以帮助读者了解基于数据商的量化接口开发数据库的编程经验。
(2)指标库给出了一套指标库目录管理程序,并总结了8大类技术指标,这些技术指标可在量化投资中发挥风控、止损、止盈、趋势判断等功能。
(3)算法库首先给出了机器学习算法的一般分类,然后重点介绍了几个经典和常用的算法并作为案例。傅里叶变换主要用于时间序列的分析,可以对时间序列进行成分分解和去掉噪声成分;ReliefF是一种特征选择算法,可对研究数据相对于目标数据的重要性进行排序,从中选择重要的数据作为特征因子;高斯混合聚类是一种非监督聚类算法,用于特征数据是高斯分布的聚类;Chi-Merge算法是一种连续数值数据离散化的算法,通常可用于将连续数值数据离散化为几个标签,从而将回归问题转化为分类问题;粗糙集分类算法是一种基于规则推理的分类算法。上述几个算法功能各不相同,在研究中存在互补性。
(4)工具库的内容包括:数据清洗程序,用于对时间序列数据的清洗,包括补全、匹配、平滑等;因子回测程序,用于对因子在研究中是否有效进行回测的程序;先后轮动程序,一个观察自变量和因变量是否存在先行滞后关系的程序,用于检验自变量和应变量在时间上的因果性;回测平台程序,用于量化策略的回测。
(5)可视化库首先总结了一些Matlab画图编程的技巧,并总结了一些常用函数,然后从形态类画图程序和功能类画图程序两大类出发分别介绍了一些图例。其中,形态类画图程序是指折线图、柱状图、饼状图等;功能类画图程序主要是为了实现某种研究目的而使用的画图程序,如对异常数据点的可视化、两个时间序列协整关系的观察等,这些画图程序可以广泛运用于研究报告、论文撰写及任何需要用到数据展示的应用场景中。
(6)报告和日常工作系统首先介绍了Matlab调用Word相关COM接口的技术,然后利用这些技术开发了一套自动化撰写量化研究报告的程序,后介绍了量化团队的管理方法,并开发了一套量化研究员的管理考核系统。
(7)交易系统首先介绍了爬虫的基本知识和原理,然后利用这些知识以东方财富网的股票交易接口、期货交易接口、期权交易接口为例给出了开发案例,后介绍了VNPY交易接口的下载、安装和基本功能。
本书特色
纵观全书,可发现本书特点鲜明,主要表现在以下几个方面。
(1)知识系统、全面、丰富:因为本书旨在为读者建立一个全面、系统的量化研究流程和框架,所以撰写本书所需的知识也必然相应地需要全面和系统。比如,在编程语言方面,本书既基于有着悠久数据分析编程历史的Matlab语言,也基于近年来被称为胶水语言的Python,这两门语言在数据分析领域被广泛使用,应该说本书迎合了当下数据分析的主流语言。另外,量化研究离不开数据,所以本书也用到了MySQL和MongoDB两门数据库语言,同时对于爬虫这门技术也做了深入讲解,为读者今后建立自己感兴趣想要抓取的特色的数据库打下坚实基础。
(2)教学与应用并重:本书不仅是一本传播知识的书,也是一本实战和应用的书。在每一章开头都给出了这一章所需要的知识,然后对所讲的知识进行一次实战运用,或者给出案例,或者直接做一个工程项目,力求学以致用,为读者建立一个“落地”的量化研究体系。
(3)解说翔实,图文并重:因为量化研究是数理化程度比较深的研究领域,所以对数学能力有一定的要求。以本书算法库中的“傅里叶变换”为例,本书首先在解说中给出了全面、严谨的数学推导过程,然后基于数学结论编写程序,并代入实证数据计算结果,后对结果进行可视化展示和说明,帮助读者从数学推导和实证两个角度综合理解。
(4)案例实用:本书的案例和程序并不只作为知识讲解的示例使用,它还是量化研究中时常需要面对的问题的一个答案。在实际的量化研究工作中,本书所给出的程序可以真正解决问题,具有实战意义。
(5)系统可拓展:本书给出的是量化研究的一般性框架,读者可以通过学习本书,结合自身的研究需要,对本书的程序和框架进行拓展,终形成一套适合自身研究需要的特色化、个性化的量化研究体系。
本书读者定位和阅读方法
本书的读者主要是教师、学生、专业人士及其他对量化研究技术感兴趣的人士。
致教师
本书系统地介绍了量化研究技术,可以作为数学、统计、金融等专业本科生或研究生的教材。书中的内容不仅系统,而且相对独立,教师可以根据课程的学时和专业方向,选择合适的内容进行课堂教学,其他内容则可以作为参考。授课时,建议先补充一定的计算机知识和编程知识,对于学术性较深的章节如算法库,建议先补充高等数学、概率论、线性代数等数学知识。在进行课程备课的过程中,如果需要书中的一些电子资料作为课件或授课支撑材料,可以直接给笔者发邮件([email protected]),笔者会根据具体情况,提供力所能及的帮助。
致学生
作为大数据时代的学生,量化研究是一项基本技能,尤其是对以后有志于做科研工作的学生来说更应掌握。在今后的大数据时代,量化分析技术将会像今天的Office办公软件技术一样,成为工作中必不可少的一部分,所以无论未来是否从事量化投资相关的工作,学习量化研究都将有助于今后的职业生涯。
致专业人士
对于从事量化研究的专业人士,尽可以关注整个量化研究体系,因为本书的知识体系应该是当前量化类书籍中相对完善的。此外,书中的算法案例和项目案例,也是本书的一个特色,值得借鉴。
配套资源
笔者在金融行业从业多年,有着丰富的业界积累。对于有资源需求的读者,欢迎关注伊园科技的官方知乎号、微信公众号、B站号。以下是三者的二维码。
勘误和支持
由于本书编写时间仓促,加之作者水平有限,书中错误和疏漏之处在所难免。在此,诚恳地期待广大读者批评指正。如果有建议,可以直接发送至邮箱[email protected]。在技术之路上如能与大家互勉共进,我们倍感荣幸!对于书中出现的问题,欢迎读者通过杭州伊园科技有限公司的知乎号、微信公众号、B站号、邮箱等进行反馈。知乎号:李一邨-量化投资;微信公众号:return量化;B站号:李一邨;邮箱:[email protected]。
致谢
感谢MathWorks官方文档提供了全面、深入、准确的参考材料,强大的官方文档支持是其他资料无法企及的;同时,感谢Matlab中文论坛为本书提供的交流讨论专区;感谢伊园科技编委会的鼎力支持;感谢电子工业出版社李冰老师的支持和鼓励,感谢徐萍老师在文字编辑方面的辛勤工作,使我们顺利完成全部书稿。
评论
还没有评论。