python股票量化交易⼊门到实践_Python股票量化交易从⼊门
到实践
第 1章 理解Python股票量化交易  1
1.1 多⾓度分析量化交易 1
1.1.1 量化交易的本质 2
1.1.2 量化交易的发展 4
1.1.3 量化交易的优势 7
1.1.4 量化交易的过程 8
1.2 多⾓度分析股票价格 9
1.2.1 从股票的起源看本质 9
1.2.2 如何衡量股票溢价 11
1.2.3 股票收益的组成 12
1.2.4 股价波动的原因 13
1.3 为什么选择Python语⾔ 14
1.3.1 概述编程语⾔的发展 14
1.3.2 ⾯向过程和⾯向对象 15
1.3.3 Python的起源及优势 16
1.4 本章总结 17
第 2章 量化语⾔Python的关键应⽤ 18
2.1 快速部署Python开发环境 18
2.1.1 Python环境安装 18
2.1.2 第三⽅库安装 21
2.1.3 开发⼯具安装 22
2.2 开启Python的第 ⼀个程序 26
2.2.1 如何建⽴标准py⽂件 26
2.2.2 区分模块、包、库 28
2.2.3 import发挥扩展优势 29
2.2.4 调试助⼿print( )函数 30
2.3 何为Python动态类型特性 31
2.3.1 变量的种类 31
2.3.2 动态类型的特性 35
2.3.3 内存管理与回收 38
2.3.4 深⼊探究PyObject 39
2.4 如何正确地创建函数 41
2.4.1 ⽤def关键字定义函数 41
2.4.2 参数传递的形式 41
2.4.3 匿名函数lambda 44
2.5 初识Python⾯向对象 45
2.5.1 ⽗类、⼦类和实例 46
2.5.2 元类和类及object和type 47 2.5.3 经典类和新式类的区别 49 2.6 如何⽤⾯向对象思维编程 49 2.6.1 如何正确地构建类 50
2.6.2 类的实例化全过程 51
2.6.3 如何引⽤类的属性 52
2.6.4 如何引⽤类的⽅法 54
2.6.5 类的继承机制应⽤ 55
2.6.6 类的组合机制应⽤ 57
2.7 深⼊理解for-in循环 57
2.7.1 for-in循环的原理 57
2.7.2 for-in循环的使⽤技巧 59
2.7.3 ⽣成器的原理和作⽤ 62
2.8 巧⽤装饰器测试代码效率 63 2.9 多进程和多线程的提速⽅案 67 2.9.1 多进程和多线程 68
2.9.2 Python的GIL原理 68
2.9.3 多任务的解决⽅案 69
2.10 未⾬绸缪的异常处理机制 72 2.10.1 分析try-except常规机制 72 2.10.2 扩展try-except使⽤技巧 74 2.11 本章总结 75
第3章 第三⽅库NumPy快速⼊门 76 3.1 初识N维数组对象 76
3.2 N维数组对象的特性 78
3.2.1 ⽮量运算的特性 78
3.2.2 ⼴播运算的特性 79
3.2.3 ⽤条件表达式选取元素 82
3.3 ⾼效处理性能的对⽐ 83
3.4 ⽤常⽤数组处理函数 84
3.4.1 创建数组的函数 85
3.4.2 元素级处理函数 87
3.4.3 线性代数相关函数 88
3.5 本章总结 91
第4章 第三⽅库Pandas快速⼊门 92 4.1 Series和DataFrame概览 93
4.2 Series的⽣成和访问 93
4.2.1 Series的⽣成⽅法 94
4.2.2 Series的访问⽅法 96
4.3 DataFrame的⽣成和访问 97
4.3.1 DataFrame的⽣成⽅法 97
4.3.2 DataFrame的索引访问 99
4.3.3 DataFrame的元素访问 100 4.3.4 元素标签和位置的转换 103 4.3.5 ⽤条件表达式访问元素 105 4.4 时间序列的⽣成和转换 106
4.4.1 ⽤datetime⽣成时间序列 106 4.4.2 ⽤Pandas⽣成时间序列 109 4.4.3 时间序列的降采样 112
4.4.4 时间序列的升采样 114
4.5 DataFrame的规整化处理 117 4.
5.1 模拟⽣成股票⾏情数据 117 4.5.2 DataFrame概览 120
4.5.3 DataFrame的可视化 122
4.5.4 DataFrame缺失值处理 123 4.5.5 DataFrame精度的转换 125 4.5.6 DataFrame合并处理 125
4.6 DataFrame的⾼效遍历 128
4.6.1 循环遍历的⼏种⽅式 129
4.6.2 循环遍历的性能对⽐ 130
4.7 DataFrame的存储和加载 131 4.7.1 将DataFrame存储⾄CSV 132
4.7.2 将CSV加载为DataFrame 134 4.8 本章总结 135
第5章 第三⽅库Matplotlib快速⼊门 136 5.1 两种绘图⽅式的区分 136
5.1.1 函数式绘图 137
5.1.2 对象式绘图 141
5.2 常⽤图表类型的绘制 143
5.2.1 折线图的绘制 143
5.2.2 标注点的绘制 144
5.2.3 参考线/区域的绘制 147
5.2.4 双y轴图表的绘制 148
5.2.5 条形图的绘制 149
5.2.6 直⽅图的绘制 151
5.2.7 K线图的绘制 152
5.3 图形对象属性参数的调节 155
5.4 多⼦图对象的创建和布局 158
5.4.1 创建多⼦图对象的⽅法 158
5.4.2 布局多⼦图对象的⽅法 161
5.5 注意事项 163
5.5.1 tight_layout( )出错问题 163
5.5.2 中⽂显⽰乱码问题 164
5.6 本章总结 164
第6章 统计概率理论快速⼊门 165
6.1 统计概率的基础知识 165
6.1.1 随机事件与概率的关系 165
6.1.2 离散和连续随机变量 166
6.1.3 典型的随机变量分布 168
6.2 深⼊理解伯努利分布 170
6.2.1 伯努利分布的随机数 170
6.2.2 伯努利分布的概率 170
6.2.3 伯努利分布的市场模型 172
6.3 深⼊理解正态分布 179
6.3.1 正态分布的随机数 179
6.3.2 ⽣成概率密度函数 181
6.3.3 正态分布与随机漫步 183
6.4 本章总结 188
第7章 股票⾏情数据的获取和管理 189 7.1 如何获取股票⾏情数据 189
7.1.1 ⽤Panads获取股票数据 190
7.1.2 ⽤Tushare获取股票数据 192
python编程:从入门到实践第二版
7.1.3 ⽤Baostock获取股票数据 196
7.2 规整化处理股票数据格式 199
7.2.1 ⾏索引时间格式规整化 200
7.2.2 列索引名称格式规整化 202
7.3 定制股票⾏情数据获取接⼝ 203
7.4 注册JSON格式⾃选股票池 204
7.4.1 将股票池另存为JSON⽂件 205 7.4.2 加载JSON⽂件以获取股票池 209 7.5 ⽤多任务为股票数据的获取提速 209 7.6 ⽤数据库管理本地⾏情数据 212
7.6.1 Python操作SQLite的API 212
7.6.2 Pandas操作SQLite的API 216 7.6.3 建⽴SQLite股票⾏情数据库 217 7.6.4 基于SQLite股票⾏情数据分析 219 7.7 本章总结 221
第8章 股票技术指标的可视化分析 222 8.1 定制可视化接⼝ 222
8.1.1 可视化代码结构分析 224
8.1.2 可视化接⼝框架实现 225
8.1.3 可视化图表类型实现 228
8.1.4 可视化接⼝使⽤说明 229
8.2 基础技术指标的可视化 231
8.2.1 原⽣量价指标可视化 232
8.2.2 移动平均线SMA可视化 235
8.2.3 震荡类指标KDJ可视化 237
8.2.4 趋势类指标MACD可视化 239
8.3 衍⽣技术指标的可视化 242
8.3.1 均线交叉信号可视化 243

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。