第1部分 Python与金融 3
第1章 为什么将Python用于金融 3
1.1 Python是什么 3
1.1.1 Python简史 5
1.1.2 Python生态系统 5
1.1.3 Python用户谱系 7
1.1.4科学栈 7
1.2金融中的科技 9
1.2.1科技开销 9
1.2.2作为业务引擎的科技 9
1.2.3作为进入门槛的科技和人才 9
1.2.4不断提高的速度、频率、数据量 10
1.2.5实时分析的兴起 11
1.3用于金融的Python 12
1.3.1金融和Python语法 12
1.3.2 Python的效率和生产率 15
1.3.3从原型化到生产 19
1.4结语 20
1.5延伸阅读 20
第2章 基础架构和工具 21
2.1 Python部署 22
2.1.1 Anaconda 22
2.1.2 Python Quant Platform 27
2.1.3工具 30
2.1.4 Python 30
2.1.5 IPython 30
2.1.6 Spyder 40
2.2结语 42
2.3延伸阅读 43
第3章 入门示例 45
3.1隐含波动率 46
3.2蒙特卡洛模拟 54
3.2.1纯Python 56
3.2.2用NumPy向量化 57
3.2.3利用对数欧拉方法实现全向量化 59
3.2.4图形化分析 60
3.2.5技术分析 62
3.3结语 67
3.4延伸阅读 68
第2部分 金融分析和开发 71
第4章 数据类型和结构 71
4.1基本数据类型 72
4.1.1整数 72
4.1.2浮点数 73
4.1.3字符串 75
4.2基本数据结构 77
4.2.1元组 77
4.2.2列表 78
4.2.3离题:控制结构 80
4.2.4离题:函数式编程 81
4.2.5字典 82
4.2.6集合 84
4.3 NumPy数据结构 85
4.3.1用Python列表形成数组 85
4.3.2常规NumPy数组 87
4.3.3结构数组 90
4.4代码向量化 91
4.5内存布局 93
4.6结语 95
4.7延伸阅读 95
第5章 数据可视化 97
5.1二维绘图 97
5.1.1一维数据集 98
5.1.2二维数据集 103
5.1.3其他绘图样式 109
5.2金融学图表 116
5.3 3D绘图 119
5.4结语 122
5.5延伸阅读 122
第6章 金融时间序列 123
6.1 pandas基础 124
6.1.1使用DataFrame类的第一步 124
6.1.2使用DataFrame类的第二步 127
6.1.3基本分析 131
6.1.4 Series类 134
6.1.5 GroupBy操作 135
6.2金融数据 136
6.3回归分析 142
6.4高频数据 150
6.5结语 154
6.6延伸阅读 154
第7章 输入/输出操作 155
7.1 Python基本I/O 156
7.1.1将对象写入磁盘 156
7.1.2读写文本文件 159
7.1.3 SQL数据库 160
7.1.4读写NumPy数组 162
7.2 Pandas的I/O 164
7.2.1 SQL数据库 165
7.2.2从SQL到pandas 166
7.2.3 CSV文件数据 168
7.2.4 Excel文件数据 169
7.3 PyTables的快速I/O 170
7.3.1使用表 170
7.3.2使用压缩表 175
7.3.3使用数组 176
7.3.4内存外计算 177
7.4结语 179
7.5延伸阅读 180
第8章 高性能的Python 181
8.1 Python范型与性能 182
8.2内存布局与性能 184
8.3并行计算 186
8.3.1蒙特卡洛算法 186
8.3.2顺序化计算 187
8.3.3并行计算 188
8.3.4性能比较 191
8.4多处理 191
8.5动态编译 193
8.5.1介绍性示例 193
8.5.2二项式期权定价方法 195
8.6用Cython进行静态编译 199
8.7在GPU上生成随机数 201
8.8结语 205
8.9延伸阅读 205
第9章 数学工具 207
9.1逼近法 208
9.1.1回归 208
9.1.2插值 218
9.2凸优化 221
9.2.1全局优化 222
9.2.2局部优化 223
9.2.3有约束优化 224
9.3积分 226
9.3.1数值积分 228
9.3.2通过模拟求取积分 228
9.4符号计算 229
9.4.1基本知识 229
9.4.2方程式 230
9.4.3积分 231
9.4.4微分 232
9.5结语 233
9.6延伸阅读 233
第10章 推断统计学 235
10.1随机数 236
10.2模拟 241
10.2.1随机变量 241
10.2.2随机过程 244
10.2.3方差缩减 256
10.3估值 259
10.3.1欧式期权 259
10.3.2美式期权 263
10.4风险测度 266
10.4.1风险价值 266
10.4.2信用价值调整 270
10.5结语 272
10.6延伸阅读 273
第11章 统计学 275
11.1正态性检验 276
11.1.1基准案例 277
11.1.2现实世界的数据 284
11.2投资组合优化 289
11.2.1数据 290
11.2.2基本理论 291
11.2.3投资组合优化 294
11.2.4有效边界 296
11.2.5资本市场线 297
11.3主成分分析 300
11.3.1 DAX指数和30种成分股 301
11.3.2应用PCA 301
11.3.3构造PCA指数 302
11.4贝叶斯回归 305
11.4.1贝叶斯公式 305
11.4.2 PyMC3 306
11.4.3介绍性示例 307
11.4.4真实数据 310
11.5结语 318
11.6延伸阅读 318
第12章 Excel集成 321
12.1基本电子表格交互 322
12.1.1生成工作簿(.xls) 323
12.1.2生成工作簿(.xslx) 324
12.1.3从工作簿中读取 326
12.1.4使用OpenPyxl 328
12.1.5使用pandas读写 329
12.2用Python编写Excel脚本 332
12.2.1安装DataNitro 333
12.2.2使用DataNitro 333
12.3 xlwings 342
12.4结语 342
12.5延伸阅读 343
第13章 面向对象和图形用户界面 345
13.1面向对象 345
13.1.1 Python类基础知识 346
13.1.2简单的短期利率类 350
13.1.3现金流序列类 354
13.2图形用户界面 356
13.2.1带GUI的短期利率类 356
13.2.2值的更新 358
13.2.3带GUI的现金流序列类 360
13.3结语 362
13.4延伸阅读 362
第14章 Web集成 365
14.1 Web基础知识 366
14.1.1 ftplib 366
14.1.2 httplib 368
14.1.3 urllib 369
14.2 Web图表绘制 372
14.2.1静态图表绘制 372
14.2.2交互式图表绘制 374
14.2.3实时图表绘制 375
14.3快速Web应用 383
14.3.1交易者的聊天室 384
14.3.2数据建模 384
14.3.3 Python代码 385
14.3.4模板 391
14.3.5样式化 396
14.4 Web服务 397
14.4.1金融模型 399
14.4.2实现 400
14.5结语 406
14.6延伸阅读 406
第3部分 衍生品分析库 409
第15章 估值框架 409
15.1资产定价基本定理 409
15.1.1简单示例 409
15.1.2一般结果 410
15.2风险中立折现 412
15.2.1日期建模和处理 412
15.2.2固定短期利率 413
15.3市场环境 415
15.4结语 418
15.5延伸阅读 419
第16章 金融模型的模拟 421
16.1随机数生成 422
16.2泛型模拟类 423
16.3几何布朗运动 427
16.3.1模拟类 427
16.3.2用例 429
16.4跳跃扩散 431
16.4.1模拟类 431
16.4.2用例 434
16.5平方根扩散 435
16.5.1模拟类 435
16.5.2用例 437
16.6结语 438
16.7延伸阅读 440
第17章 衍生品估值 441
17.1泛型估值类 441
17.2欧式行权 445
17.3估值类 445
17.4美式行权 451
17.4.1最小二乘蒙特卡洛方法 451
17.4.2估值类 453
17.4.3用例 454
17.5结语 457
17.6延伸阅读 458
第18章 投资组合估值 459
18.1衍生品头寸 460
18.1.1类 460
18.1.2用例 462
18.2衍生品投资组合 463
18.2.1类 463
18.2.2用例 467
18.3结语 472
18.4延伸阅读 474
第19章 波动率期权 475
19.1 VSTOXX数据 476
19.1.1 VSTOXX指数数据 476
19.1.2 VSTOXX期货数据 477
19.1.3 VSTOXX期权数据 479
19.2模型检验 480
19.2.1相关市场数据 480
19.2.2期权建模 481
19.2.3检验过程 483
19.3基于VSTOXX的美式期权 487
19.3.1期权头寸建模 487
19.3.2期权投资组合 488
19.4结语 489
19.5延伸阅读 490
附录A 精选的最佳实践 491
附录B 看涨期权类 499
附录C 日期和时间 503