猜你喜欢
零起点TensorFlow与量化交易

零起点TensorFlow与量化交易

书籍作者:何海群 ISBN:9787121335846
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7450
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

Python量化回溯、TensorFlow、PyTorch、MXNet深度学习平台以及神经网络模型,都是近年来兴起的前沿科技项目,相关理论、平台、工具目前尚处于摸索阶段。

TensorFlow是近年来影响大的神经网络、深度学习平台,本书从入门者的角度,对TensorFlow进行了介绍,《零起点TensorFlow与量化交易》中通过大量的实际案例,让初学者快速掌握神经网络和金融量化分析的基本编程,为进一步学习奠定扎实的基础。

《零起点TensorFlow与量化交易》中的案例、程序以教学为主,且进行了高度简化,以便读者能够快速理解相关内容,短时间了解Python量化回溯的整个流程,以及数据分析、机器学习、神经网络的应用。

《零起点TensorFlow与量化交易》仅仅作为入门课程,具体的实盘策略,有待广大读者通过进一步深入学习TensorFlow、PyTorch等新一代深度学习平台来获得。更重要的是,广大的一线实盘操作人员需要结合专业的金融操盘经验,与各种神经网络模型融会贯通,构建更加符合金融量化实际应用的神经网络模型,从而获得更好的投资回报收益。

作者简介

何海群,网名:字王,CHRD前海智库CTO,《中华大字库》发明人,20年人工智能从业经验;zwPython开发平台、TopQuant.vip极宽量化系统设计师,中国“Python创客”项目发起人,国内Python量化项目的启蒙者和开拓者:《Python量化实盘·魔鬼训练营》,Top极宽量化开源团队的创始人。2018年于深圳华侨城创意园,启动太和极宽金融孵化基地:金融、科技、艺术三位一体。

研究成果有:BigQuant理论架构:Python量化+数字货币+人工智能;“小数据”理论,GPU超算工作站、MTRD多节点超算集群算法、“1+N”网络传播模型、人工智能“足彩图灵法则”等;论文《人工智能与中文字型设计》是中文字库行业三大基础建模理论之一。

编辑推荐

本书采用独创的黑箱模式、MBA案例教学机制,结合大量的经典案例,介绍TensorFlow系统和常用的深度学习算法、神经网络模型,以及它们在量化分析当中的具体应用。

《零起点TensorFlow与量化交易》仅仅作为入门课程,具体的实盘策略,有待广大读者通过进一步深入学习TensorFlow、PyTorch、MXNet等新一代深度学习平台来获得。更重要的是,还有待广大的一线实盘操作人员结合专业的金融操盘经验,与各种神经网络模型融会贯通,构建更加符合金融量化实际应用的神经网络模型,从而获得更好的投资回报。

前言

推荐序

AlphaGo与柯洁的黑白大战,因为对阵的一方是中国顶级围棋高手柯洁,所以引起国人的高度关注。利用百度搜索引擎输入AlphaGo,一度可以得出7000多万条搜索结果,这远远高于其他热门词条。

事实上,AlphaGo只是Google拥有的两套人工智能系统中的一套。它是Google 2014年收购的DeepMind的人工智能系统,专注于棋赛开发。Google的另外一套人工智能系统就是本书介绍的TensorFlow系统。

在TensorFlow等人工智能系统出现之前,计算机所做的事情往往是简单重复的。计算机会按照人类编好的既定程序,简单重复、按部就班地运行,没有超越人类事先为其设定的思维边界。

计算机与人类的大脑相比,根本的区别在于不具备学习和创新能力。

计算机顶多也就是记忆的信息多,重复计算的速度快,不受情绪的影响等。但是,在TensorFlow等人工智能系统出现之后,计算机所做的事情除简单重复运行之外,更重要的是其具备了一定的自我学习和创新能力。

TensorFlow等人工智能系统使得计算机在一定程度上能够自主学习,自我提高,总结过去的经验,汲取以往的教训,具备一定的创新性。这一点在AlphaGo与柯洁对垒的3场棋局的结果中不难看出。

这正是以AlphaGo和TensorFlow为代表的人工智能系统区别于以往任何计算机技术的关键所在,也是TensorFlow被称为互联网以来唯一的“黑科技”项目的原因。

具备了一定的自我学习和创造能力的人工智能系统的出现,将对经济系统的各个领域产生重大影响。笔者有着超过20年境内外金融行业从业经历,将从一个侧面分享人工智能对金融领域的影响。

从整个金融业的历史沿革来看,这大致经历了4个阶段:纯人工阶段、单机电脑阶段、互联网(含移动互联网)阶段和人工智能阶段。

随着每个阶段的渐次演进,提供金融服务一方的人力成本投入在逐渐减少,提供金融服务的效率在提高;对于接受金融服务的一方来说,金融服务的可获得性,以及便捷程度在逐渐增加,金融服务越来越围绕着人进行,以人为中心的全方位的社会经济服务体系正在形成。

在金融服务体系中,银行服务、证券服务、保险服务等的内部界限开始变得模糊,金融服务与其他非金融的社会经济服务之间的界限开始变得不清。

特别是金融业进入人工智能阶段之后,人工智能系统将接受金融服务一方的身份特征数据、交易数据和行为数据等大数据,进行实时分析和动态跟踪,以远低于人工成本的成本,为每个人建立一个基于生命周期的综合金融模型,对每个人未来的金融行为进行预测,自动为他们提供账户资金管理、货币兑换、证券买卖、保险购买、购房购车计划、旅行休闲、子女教育、养老规划等方面的金融建议和授权代理操作,并将模型预测结果与实际情况相比对,自主学习和修正模型,以便更加贴合接受金融服务一方的真实金融意图,使得人工智能模型的预测建议和人的实际金融行为无限接近。

由此人类将从日常繁杂的各种金融交易中解放出来,投身到更需要自己或自己更感兴趣的方面。

展望未来,人工智能的应用前景无限美好;探寻当下,人工智能在世界各地的各行各业方兴未艾。

千里之行,始于足下。何海群先生的《零起点TensorFlow与量化交易》是有志于人工智能领域的IT人士的一块敲门砖和铺路石。

祝愿人工智能在华夏大地生根发芽,开花结果。

梁忠

梁忠:中国人民大学财政金融系博士,曾任里昂证券CLSA分析员;瑞银证券UBSS董事,财富管理中国研究部主管;瑞士信贷(香港)有限公司中国研究部董事;瑞信方正证券执行董事,研究部主管,具有20年国际顶级金融机构从业经历。


前言

感谢梁忠先生在百忙之中为本书撰写序言。以TensorFlow为代表的神经网络,被视为自互联网以来唯一的“黑科技”,无远弗届,无分行业领域,对社会各界从上至下带来彻底的颠覆与革命。

梁忠先生作为非IT领域的学者、专家,从第三方角度,冷静地观察这场数字革命,同时向更多的大众介绍这场革命的火花,推动行业变革,功莫大焉。

随着类似于Titanic数据集案例、梵高画风等一系列,基于TensorFlow等神经网络、深度学习项目的不断涌现,未来的各个学科都会结合人工智能(AI),进行新的学术重组。

“Python量化三部曲”

“Python量化三部曲”包括:

《零起点Python大数据与量化交易》(入门课程)

《零起点机器学习与量化交易》(重点分析SKLearn)

《零起点TensorFlow与量化交易》(重点分析TensorFlow)

此外,还有几部补充作品:

《零起点Python足彩大数据与机器学习实盘分析》

《零起点Python机器学习快速入门》

《零起点TensorFlow快速入门》

《MXNet神经网络与量化交易》

《Plotly可视化数据分析》

本书是《零起点TensorFlow快速入门》的后续之作,原本是TopQuant.vip极宽量化培训课程高级班的教学课件,为了节省篇幅,删除了Python基础教程,以及SKLearn、TensorFlow等机器学习方面的入门内容。没有经验的读者,建议先阅读《零起点Python机器学习快速入门》《零起点TensorFlow快速入门》,再开始本书的学习,这样会收到事半功倍的效果。

本书是目前较好的TensorFlow神经网络与量化分析入门教程:

无需任何理论基础,全程采用MBA案例模式,懂Excel就可看懂本书。

独创的逆向式课件模式,结合TensorBoard可视化系统,案例、图表优先,层层剖析。

系统介绍TensorFlow在金融量化领域的具体应用,提供多组配套案例。

全套神经网络股票趋势预测、股票价格预测案例源码。

TDS金融数据集的创建与使用。

三位一体的课件模式:图书+开发平台+成套的教学案例,系统讲解,逐步深入。

本书采用独创的黑箱模式、MBA案例教学机制,结合大量的经典案例,介绍TensorFlow系统和常用的深度学习算法、神经网络模型,以及它们在量化分析当中的具体应用。

进一步学习

读者如有兴趣可以进一步学习“Python量化三部曲”的内容,以及《零起点Python足彩大数据与机器学习实盘分析》。

机器学习、人工智能、金融量化,它们的基本原理是相通的,本质上都是数据分析。对于“Python量化三部曲”的读者而言,本书也有很大的价值,特别是对于第一部入门课程的读者。

Python量化回溯与TensorFlow、PyTorch、MXNet等神经网络深度学习平台,都是近年来兴起的科技前沿领域,有关的理论、平台、工具目前还处于摸索阶段。“Python量化三部曲”图书和TopQuant.vip极宽智能量化系统,只是在这些领域的起步阶段,作为入门教程,抛砖引玉。

本书中的案例、程序以教学为主,进行了很多简化,以便大家能够快速理解相关内容,用最短的时间,了解Python量化回溯的整个流程,以及数据分析、机器学习、神经网络在这些领域的应用操作技巧。

神经网络、深度学习在量化实盘当中的应用,是目前全世界都在研究的顶尖课题,当前尚未有很好的模型与应用案例。

本书仅仅作为入门课程,具体的实盘策略,有待广大读者通过进一步深入学习TensorFlow、PyTorch、MXNet等新一代深度学习平台来获得。

最重要的是,还有待广大的一线实盘操作人员结合专业的金融操盘经验,与各种神经网络模型融会贯通,构建更加符合金融量化实际应用的神经网络模型,从而获得更好的投资回报。

网络资源

为避免版本冲突,建议本书的读者下载zwPython 2018m1版本的软件和最新版本的《零起点TensorFlow与量化交易》配套课件程序,作为配套学习课件。配套程序的下载地址是http://www.broadview.com.cn/33584。

使用其他Python运行环境如Linux、Mac平台的读者,请尽量使用Python 3.5和TensorFlow 1.1版本,并自行安装所需的其他模块库。

此外,需要注意的是,读者在运行书中案例时得到的结果,可能与本书略有差别,甚至多次运行同一个案例的结果也会有所差异,这属于正常情况。因为TensorFlow等深度学习系统,内部都使用了随机数作为种子数,用于系统变量初始化等操作,每次分析的起点或者中间参数都有所不同。

本书的案例程序已经做过优化处理,不需要GPU显卡,全部支持单CPU平台。不过,为了提高运行效率,笔者建议尽量使用NVIDA公司最新一代的GPU显卡。

目前是大数据、人工智能+时代,在这样的时代,计算力=生产力。

与本书相关的网络资源如下。

网站:http://www.TopQuant.vip http://www.ziwang.com。

网盘地址:http://pan.baidu.com/s/1jIg944u。

极宽量化QQ群:总群,124134140;QQ 2群,650924099;QQ 3群,450853713。

技术Blog:http://blog.sina.com.cn/zbrow。

字王Git项目总览:https://github.com/ziwang-com/,包括:字王4k云字库、zwPython、zwpy_lst。

与本书相关的程序和数据下载,请浏览网站:TopQuant.vip极宽量化社区,在网站的“下载中心”有最新的程序和数据下载地址。

本书在TopQuant.vip极宽量化网站设有专栏,若对本书、人工智能和机器学习有任何建议,请在网站专栏或QQ群留言,我们会在第一时间进行反馈和答复。

TopQuant极宽量化网站“资源中心”的网址:

http://www.topquant.vip/?p=56

http://ziwang.com/

致谢

本书的出版要特别感谢电子工业出版社的黄爱萍和葛娜编辑,感谢她们在选题策划和稿件整理方面做出的大量工作。

同时,在本书创作过程中,极宽开源量化团队和培训班的全体成员,提出了很多宝贵的意见,并对部分课件程序做了中文注解。

特别是吴娜、余勤、邢梦来、孙励、王硕几位成员,为极宽开源量化文库和TopQuant极宽量化开源软件编写了文档,并在团队成员管理方面做了大量工作,为他们的付出表示感谢。

何海群(字王)

TopQuant.vip极宽量化开源组?创始人

2018年2月14日

目录

第1章 TensorFlow概述 1

1.1 TensorFlow要点概括 2

1.2 TensorFlow简化接口 2

1.3 Keras简介 3

1.4 运行环境模块的安装 4

1.4.1 CUDA运行环境的安装 4

案例1-1:重点模块版本测试 5

案例1-2:GPU开发环境测试 8

1.4.2 GPU平台运行结果 9

第2章 无数据不量化(上) 12

2.1 金融数据源 13

2.1.1 TopDat金融数据集 14

2.1.2 量化分析与试错成本 15

2.2 OHLC金融数据格式 16

案例2-1:金融数据格式 17

2.3 K线图 18

案例2-2:绘制金融数据K线图 19

2.4 Tick数据格式 22

案例2-3:Tick数据格式 23

2.4.1 Tick数据与分时数据转换 25

案例2-4:分时数据 25

2.4.2 resample函数 26

2.4.3 分时数据 26

2.5 离线金融数据集 29

案例2-5:TopDat金融数据集的日线数据 29

案例2-6:TopDat金融数据集的Tick数据 31

2.6 TopDown金融数据下载 33

案例2-7:更新单一A股日线数据 34

案例2-8:批量更新A股日线数据 37

2.6.1 Tick数据与分时数据 40

案例2-9:更新单一A股分时数据 40

案例2-10:批量更新分时数据 43

2.6.2 Tick数据与实时数据 45

案例2-11:更新单一实时数据 45

案例2-12:更新全部实时数据 48

第3章 无数据不量化(下) 51

3.1 均值优先 51

案例3-1:均值计算与价格曲线图 52

3.2 多因子策略和泛因子策略 54

3.2.1 多因子策略 54

3.2.2 泛因子策略 55

案例3-2:均线因子 55

3.3 “25日神定律” 59

案例3-3:时间因子 61

案例3-4:分时时间因子 63

3.4 TA-Lib金融指标 66

3.5 TQ智能量化回溯系统 70

3.6 全内存计算 70

案例3-5:增强版指数索引 71

案例3-6:AI版索引数据库 73

3.7 股票池 77

案例3-7:股票池的使用 77

3.8 TQ_bar全局变量类 81

案例3-8:TQ_bar初始化 82

案例3-9:TQ版本日线数据 85

3.9 大盘指数 87

案例3-10:指数日线数据 88

案例3-11:TQ版本指数K线图 89

案例3-12:个股和指数曲线对照图 92

3.10 TDS金融数据集 96

案例3-13:TDS衍生数据 98

案例3-14:TDS金融数据集的制作 102

案例3-15:TDS金融数据集2.0 105

案例3-16:读取TDS金融数据集 108

第4章 人工智能与趋势预测 112

4.1 TFLearn简化接口 112

4.2 人工智能与统计关联度分析 113

4.3 关联分析函数corr 113

4.3.1 Pearson相关系数 114

4.3.2 Spearman相关系数 114

4.3.3 Kendall相关系数 115

4.4 open(开盘价)关联性分析 115

案例4-1:open关联性分析 115

4.5 数值预测与趋势预测 118

4.5.1 数值预测 119

4.5.2 趋势预测 120

案例4-2:ROC计算 120

案例4-3:ROC与交易数据分类 123

4.6 n+1大盘指数预测 128

4.6.1 线性回归模型 128

案例4-4:上证指数n+1的开盘价预测 129

案例4-5:预测数据评估 133

4.6.2 效果评估函数 136

4.6.3 常用的评测指标 138

4.7 n+1大盘指数趋势预测 139

案例4-6:涨跌趋势归一化分类 140

案例4-7:经典版涨跌趋势归一化分类 143

4.8 One-Hot 145

案例4-8:One-Hot格式 146

4.9 DNN模型 149

案例4-9:DNN趋势预测 150

第5章 单层神经网络预测股价 156

5.1 Keras简化接口 156

5.2 单层神经网络 158

案例5-1:单层神经网络模型 158

5.3 神经网络常用模块 168

案例5-2:可视化神经网络模型 170

案例5-3:模型读写 174

案例5-4:参数调优入门 177

第6章 MLP与股价预测 182

6.1 MLP 182

案例6-1:MLP价格预测模型 183

6.2 神经网络模型应用四大环节 189

案例6-2:MLP模型评估 190

案例6-3:优化MLP价格预测模型 194

案例6-4:优化版MLP模型评估 197

第7章 RNN与趋势预测 200

7.1 RNN 200

7.2 IRNN与趋势预测 201

案例7-1:RNN趋势预测模型 201

案例7-2:RNN模型评估 209

案例7-3:RNN趋势预测模型2 211

案例7-4:RNN模型2评估 214

第8章 LSTM与量化分析 217

8.1 LSTM模型 217

8.1.1 数值预测 218

案例8-1:LSTM价格预测模型 219

案例8-2:LSTM价格预测模型评估 226

8.1.2 趋势预测 230

案例8-3:LSTM股价趋势预测模型 231

案例8-4:LSTM趋势模型评估 239

8.2 LSTM量化回溯分析 242

8.2.1 构建模型 243

案例8-5:构建模型 243

8.2.2 数据整理 251

案例8-6:数据整理 251

8.2.3 回溯分析 262

案例8-7:回溯分析 262

8.2.4 专业回报分析 268

案例8-8:量化交易回报分析 268

8.3 完整的LSTM量化分析程序 279

案例8-9:LSTM量化分析程序 280

8.3.1 数据整理 280

8.3.2 量化回溯 284

8.3.3 回报分析 285

8.3.4 专业回报分析 288

第9章 日线数据回溯分析 293

9.1 数据整理 293

案例9-1:数据更新 294

案例9-2:数据整理 296

9.2 回溯分析 307

9.2.1 回溯主函数 307

9.2.2 交易信号 308

9.3 交易接口函数 309

案例9-3:回溯分析 309

案例9-4:多模式回溯分析 316

第10章 Tick数据回溯分析 318

10.1 ffn金融模块库 318

案例10-1:ffn功能演示 318

案例10-2:量化交易回报分析 330

案例10-3:完整的量化分析程序 343

10.2 Tick分时数据量化分析 357

案例10-4:Tick分时量化分析程序 357

总结 371

附录A TensorFlow 1.1函数接口变化 372

附录B 神经网络常用算法模型 377

附录C 机器学习常用算法模型 414

标签
Python,量化交易,编程,TensorFlow