第1章 初识量化交易 / 1
1.1 量化交易的基本概念 / 2
1.1.1 什么是量化交易 / 2
1.1.2 量化交易的特点 / 2
1.1.3 为什么要学习量化交易 / 4
1.1.4 量化交易与其他交易 / 6
1.2 量化交易的主要内容 / 7
1.2.1 量化选股 / 7
1.2.2 量化择时 / 8
1.2.3 算法交易 / 8
1.2.4 各种套利交易 / 8
1.3 量化交易的历史 / 10
1.3.1 国外量化交易的历史 / 10
1.3.2 国内量化交易的历史 / 10
1.4 量化交易的故事 / 11
1.4.1 朱尔斯·雷格纳特的故事 / 11
1.4.2 爱德华·索普的故事 / 13
1.4.3 詹姆斯·西蒙斯的故事 / 14
1.5 量化交易的潜在风险及应对策略 / 16
1.6 量化交易与人工交易的比较 / 16
1.7 量化交易的注意事项 / 17
第2章 JoinQuant(聚宽)量化交易平台 / 19
2.1 JoinQuant(聚宽)量化交易平台的功能 / 20
2.2 JoinQuant(聚宽)量化交易平台的账户注册与登录 / 20
2.2.1 账户注册 / 21
2.2.2 账户登录 / 22
2.3 创建量化交易策略 / 23
2.3.1 向导式策略生成器 / 25
2.3.2 新建策略 / 35
2.4 量化交易策略的回测详情 / 36
2.5 模拟交易 / 38
2.5.1 新建模拟交易并运行 / 38
2.5.2 查看模拟交易 / 39
2.5.3 绑定微信 / 42
第3章 Python语言及其开发环境 / 45
3.1 Python语言概述 / 46
3.1.1 Python的发展历程 / 46
3.1.2 Python的特点 / 47
3.2 搭建Python开发环境 / 48
3.2.1 Python的下载和安装 / 48
3.2.2 Python的环境变量配置 / 50
3.3 编写Python程序 / 53
3.4 利用IPython Notebook编写Python程序 / 57
第4章 Python的基本语法 / 63
4.1 Python的基本数据类型 / 64
4.1.1 数值类型 / 64
4.1.2 字符串 / 66
4.2 变量与赋值 / 69
4.2.1 变量命名规则 / 69
4.2.2 变量的赋值 / 70
4.3 运算符 / 71
4.3.1 算术运算符 / 71
4.3.2 赋值运算符 / 73
4.3.3 位运算符 / 74
4.4 常见的数值函数和字符串函数 / 75
4.4.1 数学函数 / 76
4.4.2 随机数函数 / 77
4.4.3 三角函数 / 79
4.4.4 字符串函数 / 80
4.5 Python的代码格式 / 85
4.5.1 代码缩进 / 85
4.5.2 代码注释 / 86
4.5.3 空行 / 86
4.5.4 同一行显示多条语句 / 86
第5章 Python的基本流程控制 / 87
5.1 选择结构 / 88
5.1.1 关系运算 / 88
5.1.2 逻辑运算 / 90
5.1.3 if语句 / 91
5.1.4 嵌套if语句 / 93
5.2 循环结构 / 94
5.2.1 while循环 / 95
5.2.2 while循环使用else语句 / 95
5.2.3 无限循环 / 96
5.2.4 for循环 / 97
5.2.5 在for循环中使用range() 函数 / 98
5.3 其他语句 / 99
5.3.1 break语句 / 100
5.3.2 continue语句 / 100
5.3.3 pass语句 / 101
第6章 Python的特征数据类型 / 103
6.1 列表 / 104
6.1.1 创建列表 / 104
6.1.2 访问列表中的值 / 104
6.1.3 更新列表中的值 / 105
6.1.4 删除列表中的值 / 106
6.1.5 列表的函数 / 106
6.1.6 列表的方法 / 107
6.2 元组 / 109
6.2.1 创建元组 / 109
6.2.2 访问元组中的值 / 110
6.2.3 连接元组 / 111
6.2.4 删除整个元组 / 112
6.2.5 元组的函数 / 112
6.3 字典 / 113
6.3.1 创建字典 / 114
6.3.2 访问字典中的值和键 / 114
6.3.3 修改字典 / 115
6.3.4 字典中的函数 / 116
6.4 集合 / 117
6.4.1 创建集合 / 117
6.4.2 集合的两个基本功能 / 118
6.4.3 集合的运算符 / 119
6.4.4 集合的方法 / 120
第7章 Python的函数及应用 / 123
7.1 函数的定义与调用 / 124
7.1.1 函数的定义 / 124
7.1.2 函数的调用 / 125
7.2 参数传递 / 126
7.2.1 不可更改对象 / 126
7.2.2 可更改对象 / 127
7.3 函数的参数类型 / 128
7.3.1 必需参数 / 128
7.3.2 关键字参数 / 129
7.3.3 默认参数 / 130
7.3.4 不定长参数 / 131
7.4 匿名函数 / 132
7.5 变量作用域及类型 / 133
7.5.1 变量作用域 / 133
7.5.2 全局变量和局部变量 / 135
7.5.3 global和nonlocal关键字 / 136
第8章 Python面向对象的程序设计 / 139
8.1 面向对象 / 140
8.1.1 面向对象概念 / 140
8.1.2 类定义与类对象 / 141
8.1.3 类的继承 / 143
8.2 模块 / 147
8.2.1 自定义模块并调用 / 147
8.2.2 import 语句 / 148
8.2.3 标准模块 / 150
8.3 包 / 151
第9章 利用Python语言编写量化策略 / 153
9.1 股票量化策略的组成 / 154
9.1.1 初始化函数(initialize) / 155
9.1.2 开盘前运行函数(before_market_open) / 156
9.1.3 开盘时运行函数(market_open) / 157
9.1.4 收盘后运行函数(after_market_close) / 158
9.2 股票量化策略的设置函数 / 158
9.2.1 设置基准函数 / 159
9.2.2 设置佣金/ 印花税函数 / 159
9.2.3 设置滑点函数 / 161
9.2.4 设置动态复权( 真实价格) 模式函数 / 161
9.2.5 设置成交量比例函数 / 162
9.2.6 设置是否开启盘口撮合模式函数 / 162
9.2.7 设置要操作的股票池函数 / 163
9.3 股票量化策略的定时函数 / 163
9.3.1 定时函数的定义及分类 / 163
9.3.2 定时函数各项参数的意义 / 164
9.3.3 定时函数的注意事项 / 164
9.3.4 定时函数的实例 / 165
9.4 股票量化策略的下单函数 / 166
9.4.1 按股数下单函数 / 166
9.4.2 目标股数下单函数 / 167
9.4.3 按价值下单函数 / 168
9.4.4 目标价值下单函数 / 168
9.4.5 撤单函数 / 169
9.4.6 获取未完成订单函数 / 169
9.4.7 获取订单信息函数 / 169
9.4.8 获取成交信息函数 / 170
9.5 股票量化策略的日志log / 171
9.5.1 设定log级别 / 171
9.5.2 log.info / 171
9.6 股票量化策略的常用对象 / 172
9.6.1 Order对象 / 172
9.6.2 全局对象g / 173
9.6.3 Trade对象 / 173
9.6.4 tick对象 / 174
9.6.5 Context对象 / 174
9.6.6 Position对象 / 176
9.6.7 SubPortfolio对象 / 176
9.6.8 Portfolio对象 / 177
9.6.9 SecurityUnitData对象 / 178
第10章 Python量化策略的常用库和模块 / 179
10.1 Numpy库 / 180
10.1.1 ndarray数组基础 / 180
10.1.2 矩阵 / 187
10.2 Pandas 库 / 188
10.2.1 一维数组Series / 188
10.2.2 二维数组DataFrame / 189
10.2.3 三维数组Panel / 199
10.3 Datetime 模块和Time 模块 / 201
10.3.1 利用Datetime模块获得当前的日期和时间 / 202
10.3.2 利用Time模块获得当前的日期和时间 / 203
10.3.3 获得当前时间并转换为指定日期格式 / 204
10.3.4 获得三天前的时间的方法 / 204
10.3.5 获得三天前的日期的方法 / 205
10.3.6 获得历史交易日 / 206
第11章 Python量化策略的获取数据函数 / 207
11.1 history() 函数 / 208
11.1.1 各项参数的意义 / 208
11.1.2 history() 函数的应用实例 / 210
11.2 attribute_history () 函数 / 213
11.3 get_current_data () 函数 / 215
11.4 get_fundamentals () 函数 / 216
11.4.1 各项参数的意义 / 216
11.4.2 get_fundamentals () 函数的应用实例 / 217
11.5 get_fundamentals_continuously () 函数 / 222
11.6 get_index_stocks () 函数 / 223
11.6.1 各项参数的意义 / 224
11.6.2 get_index_stocks () 函数的应用实例 / 225
11.7 get_industry_stocks() 函数 / 225
11.8 get_concept_stocks () 函数 / 227
11.9 get_all_securities() 函数 / 229
11.9.1 各项参数的意义 / 229
11.9.2 get_all_securities() 函数的应用实例 / 230
11.10 get_security_info () 函数 / 232
11.11 get_billboard_list () 函数 / 233
11.11.1 各项参数的意义 / 233
11.11.2 get_billboard_list() 函数的应用实例 / 234
11.12 get_locked_shares () 函数 / 234
第12章 Python 量化策略的回测 / 237
12.1 回测的过程 / 238
12.2 编写双均线量化策略 / 239
12.2.1 量化策略的编辑页面 / 239
12.2.2 双均线量化策略的初始化函数 / 241
12.2.3 双均线量化策略的交易程序函数 / 242
12.3 设置量化策略的回测参数 / 243
12.4 双均线量化策略的回测详情 / 245
12.5 量化策略的风险指标 / 248
12.5.1 Alpha(阿尔法) / 249
12.5.2 Beta(贝塔) / 250
12.5.3 Sharpe(夏普比率) / 251
12.5.4 Sortino(索提诺比率) / 251
12.5.5 Information Ratio(信息比率) / 252
12.5.6 Volatility(策略波动率) / 253
12.5.7 Benchmark Volatility(基准波动率) / 254
12.5.8 Max Drawdown(最大回撤) / 255
第13章 Python 量化策略的因子分析 / 257
13.1 初识因子分析 / 258
13.1.1 因子的分类 / 258
13.1.2 因子分析的作用 / 258
13.2 因子分析的实现代码 / 258
13.2.1 因子分析中变量的含义 / 259
13.2.2 因子分析中可以使用的基础因子 / 259
13.2.3 calc 的参数及返回值 / 261
13.3 因子分析的结果 / 261
13.3.1 新建因子 / 261
13.3.2 收益分析 / 264
13.3.3 IC 分析 / 268
13.3.4 换手分析 / 269
13.4 因子在研究和回测中的使用 / 270
13.5 基本面因子应用实例 / 273
第14章 Python 量化策略的技术指标实例 / 277
14.1 均线型技术指标实例 / 278
14.1.1 传统平均线 / 278
14.1.2 高价平均线 / 280
14.1.3 低价平均线 / 281
14.1.4 变异平均线 / 282
14.1.5 成本价均线 / 283
14.2 超买超卖型技术指标实例 / 285
14.2.1 随机指标KD / 285
14.2.2 资金流量指标MFI / 286
14.2.3 相对强弱指标RSI / 288
14.2.4 变动速率线OSC / 289
14.2.5 威廉指标WR / 290
14.2.6 顺势指标CCI / 291
14.3 趋势型技术指标实例 / 292
14.3.1 平滑异同平均线MACD / 293
14.3.2 趋向指标DMI / 294
14.3.3 简易波动指标EMV / 295
14.3.4 终极指标UOS / 296
14.4 能量型技术指标实例 / 298
14.4.1 情绪指标BRAR / 298
14.4.2 带状能量线CR / 299
14.4.3 成交量变异率VR / 300
14.4.4 梅斯线MASS / 301
14.4.5 累积能量线OBV / 302
14.4.6 相对强弱量VRSI / 303
14.5 压力支撑型技术指标实例 / 305
14.5.1 布林通道线BOLL / 305
14.5.2 麦克支撑压力线MIKE / 306
14.5.3 薛斯通道线XS / 307
第15章 Python量化交易策略实例 / 311
15.1 MACD指标量化交易策略 / 312
15.1.1 编写初始化函数 / 312
15.1.2 编写单位时间调用的函数 / 313
15.1.3 MACD 指标量化交易策略的回测 / 315
15.2 能量型指标量化交易策略 / 316
15.2.1 编写初始化函数 / 316
15.2.2 编写单位时间调用的函数 / 317
15.2.3 能量型指标量化交易策略的回测 / 318
15.3 KD指标量化交易策略 / 320
15.3.1 编写初始化函数 / 320
15.3.2 编写开盘前运行函数 / 321
15.3.3 编写开盘时运行函数 / 321
15.3.4 编写收盘后运行函数 / 322
15.3.5 KD指标量化交易策略的回测 / 322
15.4 多股票持仓量化交易策略 / 324
15.4.1 编写初始化函数 / 324
15.4.2 编写单位时间调用的函数 / 324
15.4.3 多股票持仓量化交易策略的回测 / 325
15.5 多股票追涨量化交易策略 / 327
15.5.1 编写初始化函数 / 327
15.5.2 编写每天早上开盘时执行函数 / 327
15.5.3 编写开始交易前被调用函数 / 328
15.5.4 编写单位时间调用的函数 / 328
15.5.5 多股票追涨量化交易策略的回测 / 329
15.6 银行股轮动量化交易策略 / 331
15.6.1 编写初始化函数 / 331
15.6.2 编写选股函数 / 332
15.6.3 编写交易函数 / 332
15.6.4 银行股轮动量化交易策略的回测 / 333
15.7 小市值股票量化交易策略 / 334
15.7.1 编写初始化函数 / 334
15.7.2 编写选股函数 / 335
15.7.3 编写过滤停牌股票函数 / 336
15.7.4 编写交易函数 / 336
15.7.5 小市值股票量化交易策略的回测 / 337
· · · · · · (
收起)