量化投资:以Python为工具
  • 推荐0
  • 收藏7
  • 浏览1.8K

量化投资:以Python为工具

蔡立耑 (作者) 

  • 丛  书:金融科技丛书
  • 书  号:978-7-121-30514-6
  • 出版日期:2016-12-28
  • 页  数:620
  • 开  本:16(185*260)
  • 出版状态:上市销售
  • 维护人:高洪霞
主要讲解量化投资的思想和策略,并借助Python语言进行实战。由三部分组成:
首先,对Python编程语言的介绍,通过学习,读者可以迅速掌握用Python语言处理数据的方法,灵活运用Python语言解决实际金融问题;其次,向读者介绍量化投资的理论知识,主要讲解量化投资所需的数量基础与量化投资的类型等方面;最后,将以上两部分内容结合起来,讲述如何在Python语言中构建量化投资策略。
专家解读量化投资(以Python语言),引领读者进入引人入胜的学术与实务领域!
序言
过去十年,一股“量化投资”的热潮在中国悄然掀起。最近这两年,投资人对量化的
关注更是到达了前所未有的地步。除了业界到处寻找量化团队以外,各种量化基金如雨后
春笋般出现,各个大学校园也开始举办一场又一场的量化讲座、研讨会等。量化投资一时
蔚为风行,产官学共襄盛举。
这么受人瞩目的议题,到底它的内涵是什么呢?为了了解量化投资这个概念,我们先
回顾一下投资分析与决策过程。在投资分析与实战中,虽然个中滋味如人饮水,个中细节
一言难尽,但“投资”大致上会有如下几个阶段:首先,投资人利用各种工具与分析方法,建构模型(系统)来验证买卖标的、时点、价位等有效性;第二阶段则筛选经过分析与验证得到的结论,实际应用于交易;一个严谨的投资人,通常还会有第三阶段,即在实际投资的过程中,不断地修正与完善自已的模型(系统)。在资讯工具不发达的年代,这些过程往往以质化为主。例如,基金经理人会研究上巿公司财务报表,拜访公司高层,以经验判断技术指标的趋势与形态,做出投资的买卖决策。这种做法带有很大的主观性,因此又被称为“主观交易”。主观交易的流弊,在于决策基础多源于“大胆假设”而缺乏科学方法“小心求证”的过程。更甚者,行为金融学指出,投资人的行为往往易受各种心理认知谬误的影响而伤害投资绩效。除此之外,在瞬息万变的金融巿场中,主观交易者若要处变不惊地坚守操作纪律,同时眼明手快地捕捉稍纵即逝的机会,也常有“力不从心”之叹。
相较于主观交易所遭遇的问题,量化投资则在上述投资的各个阶段,利用数学、统计、计算机等分析工具来建立模型,据以客观地分析数据,按事先设定好的投资逻辑来进行投资决策,在理想状况下自动化执行下单。正因为如此,量化投资拥有可验证性、纪律性与即时性等许多主观交易不可企及的优势。若再善用计算机技术,量化交易者可以处理的资讯量更让主观交易者望尘莫及。如此说来,采用量化技术岂非在投资上立于不败之地?
读者只要稍加思考即可发现,量化投资的模型很容易因建模者的能力不同而良莠不齐。此外,绝大多数模型的核心思想在于“以史为鍳”;在对历史数据依赖度高的前提下,一旦遇到新兴的金融巿场或历史不曾出现的事件,量化投资者也只能徒呼负负。既然主观交易有诸多限制,量化交易又并非万能,那么,对投资绩效念兹在兹的投资者,究竟该何去何从呢?我们要提醒读者的是,编程语言、统计、金融、技术指标等量化投资常用的知识只是工具,它们就像武侠小说中的宝剑与武功秘籍,虽然很重要,却不是笑傲江湖的保证。宝剑锋从磨砺出,只有勤练武艺,在实战中积累经验,才能审时度势,百战不殆。
本书旨在对量化投资做广泛与初步的介绍,希望能引领读者进入这个引人入胜的学术
与实务领域。囿于笔者的学养见识,书中内容或有疏漏谬误之处,尚祈先进专家能不吝指
正。最后,谨以此书表达对热血投资大众的献曝之忱。若读者需要书中的习题解答、代码、数据、勘误补充及量化相关资讯,可发邮件至service@baoquant.com 索取,来信请在邮件标题中写明书名:《量化投资:以Python 为工具》。

目录

目录
第1 部分Python 入门 1
第1 章Python 简介与安装使用 2
1.1 Python 概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Python 的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 下载安装Python 执行文件. . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 下载安装Anaconda . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 多种Python 版本并存. . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Python 的简单使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 交互对话环境IPython . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 IPython 的安装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 IPython 的使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 IPython 功能介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
第2 章Python 代码的编写与执行 14
2.1 创建Python 脚本文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.1 记事本. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.2 Python 默认的IDLE 环境. . . . . . . . . . . . . . . . . . . . . . . . 15
2.1.3 专门的程序编辑器. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 执行.py 文件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.1 IDLE 环境自动执行. . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.2 在控制台cmd 中执行. . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3 在Annaconda Prompt 中执行. . . . . . . . . . . . . . . . . . . . . . 19
2.3 Python 编程小技巧. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.1 Python 行. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.3.2 Python 缩进. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
第3 章Python 对象类型初探 23
3.1 Python 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 变量命名规则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.3 数值类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.1 整数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3.2 浮点数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.3 布尔类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3.4 复数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4 字符串. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.5 列表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 可变与不可变. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.7 元组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.8 字典. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.9 集合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
第4 章Python 集成开发环境:Spyder 介绍 36
4.1 代码编辑器. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.2 代码执行Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 变量查看与编辑. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.4 当前工作路径与文件管理. . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.5 帮助文档与在线帮助. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.6 其他功能. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
第5 章Python 运算符与使用 44
5.1 常用运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1.1 算术运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.1.2 赋值运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.1.3 比较运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.4 逻辑运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.5 身份运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.1.6 成员运算符. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.7 运算符的优先级. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.2 具有运算功能的内置函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
第6 章Python 常用语句 55
6.1 赋值语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.1.1 赋值含义与简单赋值. . . . . . . . . . . . . . . . . . . . . . . . . . . 55
6.1.2 多重赋值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.1.3 多元赋值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.1.4 增强赋值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2 条件语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.3 循环语句. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3.1 for 循环. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
6.3.2 while 循环. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.3.3 嵌套循环. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
6.3.4 break、continue 等语句. . . . . . . . . . . . . . . . . . . . . . . . . 62
第7 章函数 66
7.1 函数的定义与调用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
7.2 函数的参数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
7.3 匿名函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
7.4 作用域. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
第8 章面向对象75
8.1 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
8.2 封装. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
8.3 继承(Inheritance) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
第9 章Python 标准库与数据操作 82
9.1 模块、包和库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.1.1 模块. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
9.1.2 包. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
9.1.3 库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.2 Python 标准库介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
9.3 Python 内置数据类型与操作. . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.3.1 序列类型数据操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
9.3.1.1 list 类型与操作. . . . . . . . . . . . . . . . . . . . . . . . . 91
9.3.1.2 tuple 类型与操作. . . . . . . . . . . . . . . . . . . . . . . . 95
9.3.1.3 range 类型与操作. . . . . . . . . . . . . . . . . . . . . . . 97
9.3.1.4 字符串操作. . . . . . . . . . . . . . . . . . . . . . . . . . . 98
9.3.2 字典类型操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
9.3.3 集合操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
第10 章常用第三方库:Numpy 库与多维数组 111
10.1 NumPy 库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.2 创建数组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
10.3 数组元素索引与切片. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
10.4 数组运算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
第11 章常用第三方库:Pandas 与数据处理 120
11.1 Series 类型数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
11.1.1 Series 对象的创建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
11.1.2 Series 对象的元素提取与切片. . . . . . . . . . . . . . . . . . . . . . 122
11.1.2.1 调用方法提取元素. . . . . . . . . . . . . . . . . . . . . . . 122
11.1.2.2 利用位置或标签提取元素与切片. . . . . . . . . . . . . . . 123
11.1.3 时间序列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
11.2 DataFrame 类型数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
11.2.1 创建DataFrame 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . 128
11.2.2 查看DataFrame 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . 130
11.2.3 DataFrame 对象的索引与切片. . . . . . . . . . . . . . . . . . . . . . 131
11.2.4 DataFrame 的操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
11.2.5 DataFrame 的运算. . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
11.3 数据规整化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
11.3.1 缺失值的处理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
11.3.1.1 缺失值的判断. . . . . . . . . . . . . . . . . . . . . . . . . . 142
11.3.1.2 选出不是缺失值的数据. . . . . . . . . . . . . . . . . . . . 143
11.3.2 缺失值的填充. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
11.3.3 缺失值的选择删除. . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
11.3.4 删除重复数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
第12 章常用第三方库:Matplotlib 库与数据可视化 149
12.1 Matplotlib 简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
12.2 修改图像属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.2.1 坐标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
12.2.1.1 更改坐标轴范围. . . . . . . . . . . . . . . . . . . . . . . . 152
12.2.1.2 设定坐标标签与显示角度. . . . . . . . . . . . . . . . . . . 153
12.2.2 添加文本. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.2.2.1 添加标题. . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
12.2.2.2 中文显示问题. . . . . . . . . . . . . . . . . . . . . . . . . . 157
12.2.2.3 设定坐标轴标签. . . . . . . . . . . . . . . . . . . . . . . . 159
12.2.2.4 增加图形背景grid . . . . . . . . . . . . . . . . . . . . . . . 160
12.2.2.5 增加图例. . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
12.2.3 多种线条属性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.2.3.1 线条的类型. . . . . . . . . . . . . . . . . . . . . . . . . . . 162
12.2.3.2 图形的颜色. . . . . . . . . . . . . . . . . . . . . . . . . . . 163
12.2.3.3 点的形状类型. . . . . . . . . . . . . . . . . . . . . . . . . . 164
12.2.3.4 线条宽度. . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
12.3 常见图形的绘制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
12.3.1 柱状图(Bar charts) . . . . . . . . . . . . . . . . . . . . . . . . . . 167
12.3.2 直方图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
12.3.3 饼图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.3.4 箱线图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
12.4 Figure、Axes 对象与多图绘制. . . . . . . . . . . . . . . . . . . . . . . . . . 173
12.4.1 Figure、Axes 对象. . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
12.4.2 多图绘制. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.4.2.1 多个子图绘制. . . . . . . . . . . . . . . . . . . . . . . . . . 176
12.4.2.2 一个图中多条曲线绘制. . . . . . . . . . . . . . . . . . . . 178
第2 部分统计学基础 180
第13 章描述性统计 181
13.1 数据类型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
13.2 图表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
13.2.1 频数分布表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
13.2.2 直方图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
13.3 数据的位置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
13.4 数据的离散度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
第14 章随机变量简介 190
14.1 概率与概率分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
14.1.1 离散型随机变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
14.1.2 连续型随机变量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
14.2 期望值与方差. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
14.3 二项分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
14.4 正态分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
14.5 其他连续分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.5.1 卡方分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.5.2 t 分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
14.5.3 F 分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
14.6 变量的关系. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
14.6.1 联合概率分布. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
14.6.2 变量的独立性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
14.6.3 变量的相关性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
14.6.4 上证综指与深证综指的相关性分析. . . . . . . . . . . . . . . . . . . 205
第15 章推断统计 208
15.1 参数估计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
15.1.1 点估计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
15.1.2 区间估计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
15.2 案例分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
15.3 假设检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
15.3.1 两类错误. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
15.3.2 显著性水平与p 值. . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
15.3.3 确定小概率事件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
15.4 t 检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
15.4.1 单样本t 检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
15.4.2 独立样本t 检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
15.4.3 配对样本t 统计量的构造. . . . . . . . . . . . . . . . . . . . . . . . 218
第16 章方差分析 221
16.1 方差分析之思想. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
16.2 方差分析之原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
16.2.1 离差平方和. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
16.2.2 自由度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
16.2.3 显著性检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
16.3 方差分析之Python 实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
16.3.1 单因素方差分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
16.3.2 多因素方差分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
16.3.3 析因方差分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
第17 章回归分析 231
17.1 一元线性回归模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
17.1.1 一元线性回归模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
17.1.2 最小平方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
17.2 模型拟合度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
17.3 古典假设条件下^_、^ _ 之统计性质. . . . . . . . . . . . . . . . . . . . . . . . 234
17.4 显著性检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
17.5 上证综指与深证成指的回归分析与Python 实践. . . . . . . . . . . . . . . . 236
17.5.1 Python 拟合回归函数. . . . . . . . . . . . . . . . . . . . . . . . . . 236
17.5.2 绘制回归诊断图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
17.6 多元线性回归模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
17.7 多元线性回归案例分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
17.7.1 价格水平对GDP 的影响. . . . . . . . . . . . . . . . . . . . . . . . . 241
17.7.2 考量自变量共线性因素的新模型. . . . . . . . . . . . . . . . . . . . . 243
第3 部分金融理论、投资组合与量化选股246
第18 章资产收益率和风险 247
18.1 单期与多期简单收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
18.1.1 单期简单收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
18.1.2 多期简单收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
18.1.3 Python 函数计算简单收益率. . . . . . . . . . . . . . . . . . . . . . . 252
18.1.4 单期与多期简单收益率的关系. . . . . . . . . . . . . . . . . . . . . . 252
18.1.5 年化收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
18.1.6 考虑股利分红的简单收益率. . . . . . . . . . . . . . . . . . . . . . . 256
18.2 连续复利收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
18.2.1 多期连续复利收益率. . . . . . . . . . . . . . . . . . . . . . . . . . . 260
18.2.2 单期与多期连续复利收益率的关系. . . . . . . . . . . . . . . . . . . 262
18.3 绘制收益图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
18.4 资产风险的来源. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
18.4.1 市场风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
18.4.2 利率风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
18.4.3 汇率风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
18.4.4 流动性风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
18.4.5 信用风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
18.4.6 通货膨胀风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
18.4.7 营运风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
18.5 资产风险的测度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
18.5.1 方差. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
18.5.2 下行风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
18.5.3 风险价值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
18.5.4 期望亏空. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
18.5.5 最大回撤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
第19 章投资组合理论及其拓展 276
19.1 投资组合的收益率与风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
19.2 Markowitz 均值-方差模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
19.3 Markowitz 模型之Python 实现. . . . . . . . . . . . . . . . . . . . . . . . . 285
19.4 Black-Litterman 模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
第20 章资本资产定价模型(CAPM) 298
20.1 资本资产定价模型的核心思想. . . . . . . . . . . . . . . . . . . . . . . . . . 298
20.2 CAPM 模型的应用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
20.3 Python 计算单资产CAPM 实例. . . . . . . . . . . . . . . . . . . . . . . . . 301
20.4 CAPM 模型的评价. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
第21 章Fama-French 三因子模型 308
21.1 Fama-French 三因子模型的基本思想. . . . . . . . . . . . . . . . . . . . . . 308
21.2 三因子模型之Python 实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
21.3 三因子模型的评价. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
第4 部分时间序列简介与配对交易 317
第22 章时间序列基本概念 318
22.1 认识时间序列. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
22.2 Python 中的时间序列数据. . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
22.3 选取特定日期的时间序列数据. . . . . . . . . . . . . . . . . . . . . . . . . . 321
22.4 时间序列数据描述性统计. . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
第23 章时间序列的基本性质 326
23.1 自相关性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
23.1.1 自协方差. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
23.1.2 自相关系数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
23.1.3 偏自相关系数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
23.1.4 acf( ) 函数与pacf( ) 函数. . . . . . . . . . . . . . . . . . . . . . . . . 328
23.1.5 上证综指的收益率指数的自相关性判断. . . . . . . . . . . . . . . . . 328
23.2 平稳性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
23.2.1 强平稳. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
23.2.2 弱平稳. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
23.2.3 强平稳与弱平稳的区别. . . . . . . . . . . . . . . . . . . . . . . . . . 332
23.3 上证综指的平稳性检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
23.3.1 观察时间序列图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
23.3.2 观察序列的自相关图和偏自相关图. . . . . . . . . . . . . . . . . . . 333
23.3.3 单位根检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
23.4 白噪声. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
23.4.1 白噪声. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
23.4.2 白噪声检验——Ljung-Box 检验. . . . . . . . . . . . . . . . . . . . . 341
23.4.3 上证综合指数的白噪声检验. . . . . . . . . . . . . . . . . . . . . . . 343
第24 章时间序列预测 345
24.1 移动平均预测. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
24.1.1 简单移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
24.1.2 加权移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
24.1.3 指数加权移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
24.2 ARMA 模型预测. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
24.2.1 自回归模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
24.2.2 移动平均模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
24.3 自回归移动平均模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
24.4 ARMA 模型的建模过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
24.5 CPI 数据的ARMA 短期预测. . . . . . . . . . . . . . . . . . . . . . . . . . 351
24.5.1 序列识别. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
24.5.2 模型识别与估计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
24.5.3 模型诊断. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
24.5.4 运用模型进行预测. . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
24.6 股票收益率的平稳时间序列建模. . . . . . . . . . . . . . . . . . . . . . . . . 359
第25 章GARCH 模型 364
25.1 资产收益率的波动率与ARCH 效应. . . . . . . . . . . . . . . . . . . . . . . 364
25.2 ARCH 模型和GARCH 模型. . . . . . . . . . . . . . . . . . . . . . . . . . 365
25.2.1 ARCH 模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
25.2.2 GARCH 模型. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
25.3 ARCH 效应检验. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
25.4 GARCH 模型构建. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
第26 章配对交易策略 372
26.1 什么是配对交易. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
26.2 配对交易的思想. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
26.3 配对交易的步骤. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
26.3.1 股票对的选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
26.3.2 配对交易策略的制定. . . . . . . . . . . . . . . . . . . . . . . . . . . 383
26.4 构建PairTrading 类. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
26.5 Python 实测配对交易交易策略. . . . . . . . . . . . . . . . . . . . . . . . . 391
第5 部分技术指标与量化投资399
第27 章K 线图 400
27.1 K 线图简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
27.2 Python 绘制上证综指K 线图. . . . . . . . . . . . . . . . . . . . . . . . . . 403
27.3 Python 捕捉K 线图的形态. . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
27.3.1 Python 捕捉“早晨之星” . . . . . . . . . . . . . . . . . . . . . . . . 406
27.3.2 Python 语言捕捉“乌云盖顶”形态. . . . . . . . . . . . . . . . . . . 410
第28 章动量交易策略 416
28.1 动量概念介绍. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
28.2 动量效应产生的原因. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416
28.3 价格动量的计算公式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
28.3.1 作差法求动量值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
28.3.2 做除法求动量值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418
28.4 编写动量函数momentum( ) . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
28.5 万科股票2015 年走势及35 日动量线. . . . . . . . . . . . . . . . . . . . . . 420
28.6 动量交易策略的一般思路. . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
第29 章RSI 相对强弱指标 429
29.1 RSI 基本概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
29.2 Python 计算RSI 值. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
29.3 Python 编写rsi( ) 函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
29.4 RSI 天数的差异. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
29.5 RSI 指标判断股票超买和超卖状态. . . . . . . . . . . . . . . . . . . . . . . . 436
29.6 RSI 的“黄金交叉”与“死亡交叉” . . . . . . . . . . . . . . . . . . . . . . 437
29.7 交通银行股票RSI 指标交易实测. . . . . . . . . . . . . . . . . . . . . . . . . 438
29.7.1 RSI 捕捉交通银行股票买卖点. . . . . . . . . . . . . . . . . . . . . . 438
29.7.2 RSI 交易策略执行及回测. . . . . . . . . . . . . . . . . . . . . . . . . 440
第30 章均线系统策略 446
30.1 简单移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
30.1.1 简单移动平均数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
30.1.2 简单移动平均函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
30.1.3 期数选择. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
30.2 加权移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
30.2.1 加权移动平均数. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
30.2.2 加权移动平均函数. . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
30.3 指数加权移动平均. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
30.3.1 指数加权移动平均数. . . . . . . . . . . . . . . . . . . . . . . . . . . 452
30.3.2 指数加权移动平均函数. . . . . . . . . . . . . . . . . . . . . . . . . . 454
30.4 创建movingAverage 模组. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
30.5 常用平均方法的比较. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
30.6 中国银行股价数据与均线分析. . . . . . . . . . . . . . . . . . . . . . . . . . 456
30.7 均线时间跨度. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458
30.8 中国银行股票均线系统交易. . . . . . . . . . . . . . . . . . . . . . . . . . . 459
30.8.1 简单移动平均线制定中国银行股票的买卖点. . . . . . . . . . . . . . 459
30.8.2 双均线交叉捕捉中国银行股票的买卖点. . . . . . . . . . . . . . . . . 462
30.9 异同移动平均线(MACD) . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
30.9.1 MACD 的求值过程. . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
30.9.2 异同均线(MACD)捕捉中国银行股票的买卖点. . . . . . . . . . . 466
30.10 多种均线指标综合运用模拟实测. . . . . . . . . . . . . . . . . . . . . . . . 468
第31 章通道突破策略 473
31.1 通道突破简介. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
31.2 唐奇安通道. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
31.2.1 唐奇安通道刻画. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
31.2.2 Python 捕捉唐奇安通道突破. . . . . . . . . . . . . . . . . . . . . . . 476
31.3 布林带通道. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
31.4 布林带通道与市场风险. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
31.5 通道突破交易策略的制定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
31.5.1 一般布林带上下通道突破策略. . . . . . . . . . . . . . . . . . . . . . 484
31.5.2 特殊布林带通道突破策略. . . . . . . . . . . . . . . . . . . . . . . . 485
第32 章随机指标交易策略 489
32.1 什么是随机指标(KDJ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
32.2 随机指标的原理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
32.3 KDJ 指标的计算公式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
32.3.1 未成熟随机指标RSV . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
32.3.2 K、D 指标计算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
32.3.3 J 指标计算. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
32.3.4 KDJ 指标简要分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
32.4 KDJ 指标的交易策略. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
32.5 KDJ 指标交易实测. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
32.5.1 KD 指标交易策略. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
32.5.2 KDJ 指标交易策略. . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
32.5.3 K 线、D 线“金叉”与“死叉” . . . . . . . . . . . . . . . . . . . . . 504
第33 章量价关系分析 509
33.1 量价关系概述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
33.2 量价关系分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
33.2.1 价涨量增. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
33.2.2 价涨量平. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
33.2.3 价涨量缩. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
33.2.4 价平量增. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
33.2.5 价平量缩. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
33.2.6 价跌量增. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
33.2.7 价跌量平. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
33.2.8 价跌量缩. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
33.3 不同价格段位的成交量. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
33.4 成交量与均线思想结合制定交易策略. . . . . . . . . . . . . . . . . . . . . . 518
第34 章OBV 指标交易策略 524
34.1 OBV 指标概念. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
34.2 OBV 指标计算方法. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
34.3 OBV 指标的理论依据. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
34.4 OBV 指标的交易策略制定. . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
34.5 OBV 指标交易策略的Python 实测. . . . . . . . . . . . . . . . . . . . . . . 528
34.6 OBV 指标的应用原则. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530

读者评论

  • 配套的资源下载网站没有了,请问怎么解决?

    雅典娜4294发表于 2019/1/20 22:42:04

同系列书

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

    陆一潇 (作者)

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

     
  • 量化风险管理:概念、技术和工具(修订版)

    Alexander J. McNeil, Rüdiger Frey, Paul Embrechts (作者) 卜永强 (译者)

    近几十年来,金融风险管理领域随着金融工具和市场的日益复杂以及金融服务业监管的不断加强而迅速发展。本书专门讨论这个领域中出现的量化建模问题,对量化风险管理的理论概...

    ¥199.00
  • Python机器学习与量化投资

    何海群 (作者)

    本书采用生动活泼的语言,从入门者的角度,讲解了Python 语言和sklearn 模块库内<br>置的各种经典机器学习算法;介绍了股市外汇、比特币等实盘交易数据...

    ¥79.00
  • MXNet神经网络与实战应用

    TOP 极宽量化开源组 (作者)

    MXNet是亚马逊(Amazon)的深度学习库,以简单、高效、容易使用而著称。它拥有类似于Theano和TensorFlow的数据流图,为多GPU装置提供了良好...

    ¥69.00
  • 零起点:Python大数据与量化交易

    何海群 (作者)

    本书是国内较早关于Python大数据与量化交易的原创书籍,配合zwPython、zwQuant开源量化软件学习,已经是一套完整的大数据分析、量化交易学习教材,可...

    ¥79.00