《Python股票量化交易从入门到实践》简介:
量化交易是一种新兴的系统化的金融投资方法,它是以计算机强大的运算能力为基础,运用数据建模、统计学分析、程序设计等工具从历史数据中得到良好的交易策略,是计算机科学在金融领域的具体应用。Python语言凭借其简洁、高效的特性,以及其在大数据分析方面的强大性能,在量化交易领域得到了良好的应用。 本书以 A 股市场为交易标的物,引导读者从理解量化交易开始,逐步掌握行情数据的获取和管理、技术指标的可视化,并在熟练编程的基础上,构建出个性化的交易策略体系。 本书适合对股票的量化交易感兴趣的读者阅读,通过阅读本书,读者不仅能够了解 Python 数据分析和数据可视化的核心技能,更能够将 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
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
8.3.2 股价跳空缺口可视化 246
8.3.3 量价指标周期重采样 251
8.3.4 黄金分割与支撑/阻力线 256
8.4 使用TA-Lib库计算技术指标 261
8.4.1 常用技术指标的计算方法 261
8.4.2 常见K线形态的识别方法 265
8.4.3 TA-Lib库的计算速率优势 268
8.5 自定义显示界面框架开发 268
8.5.1 行情界面需求分析 269
8.5.2 行情界面框架实现 269
8.5.3 如何显示行情界面 272
8.6 本章总结 275
第9章 构建股票量化交易策略体系 276
9.1 建立多维度的度量体系 276
9.1.1 交易盈亏区间可视化 277
9.1.2 交易概览信息的统计 281
9.1.3 度量策略资金的绝对收益 283
9.1.4 度量策略与基准的相对收益 286
9.1.5 度量策略的最大风险回撤 288
9.1.6 回测界面的自定义设计 293
9.2 经典择时策略进阶之股票量化 交易 304
9.2.1 唐奇安通道突破策略的思想 305
9.2.2 唐奇安通道突破策略的实现 306
9.2.3 唐奇安通道突破策略的回测 310
9.3 融入ATR跟踪止盈/止损策略 311
9.3.1 ATR技术指标的实现 312
9.3.2 止盈/止损策略的实现 313
9.3.3 ATR止盈/止损策略回测 315
9.4 蒙特卡洛法最优化策略参数 316
9.4.1 枚举法与蒙特卡洛法的区别 317
9.4.2 蒙特卡洛参数最优化的实现 322
9.5 基于凯利公式量化仓位管理 324
9.5.1 凯利公式的原理分析 324
9.5.2 凯利公式的效果展示 326
9.5.3 凯利公式在股票中的应用 327
9.6 用经典选股策略完善股票量化体系 329
9.6.1 线性回归的原理和实现 329
9.6.2 用走势线性回归建立选股模型 332
9.6.3 走势线性回归的衍生分析法 335
9.7 谨防回测阶段的陷阱 338
9.7.1 避免使用未来函数 338
9.7.2 设置滑点以避免偷价 339
9.7.3 避免无手续费的策略 340
9.7.4 避免参数的过度优化 341
9.8 本章总结 342
· · · · · ·