内容简介
作者简介
Yves Hilpisch博士是Python Quants集团的创始人和管理合伙人。该集团致力于应用开源技术来解决金融数据科学、人工智能、算法交易和计算金融学等问题。他还是AI Machine公司的创始人和CEO。这个公司的主营业务是通过专属策略执行平台来发挥人工智能的威力。他还是Python算法交易大学认证的在线培训项目的主管。
本书目录
目录第1部分 Python与金融
第1章 为什么将Python用于金融 3
1.1 Python编程语言 3
Python简史 5
Python生态系统 6
Python用户谱系 7
科学栈 7
1.2 金融中的科技 8
科技投入 9
作为业务引擎的科技 9
作为进入门槛的科技和人才 10
不断提高的速度、频率和数据量 10
实时分析的兴起 11
1.3 用于金融的Python 12
金融和Python语法 12
Python的效率和生产率 16
从原型化到生产 20
1.4 数据驱动和人工智能优先的金融学 21
数据驱动金融学 21
人工智能优先金融学 24
1.5 结语 26
1.6 延伸阅读 27
第2章 Python基础架构 29
2.1 作为包管理器使用的conda 31
安装Miniconda 31
conda基本操作 33
2.2 作为虚拟环境管理器的conda 37
2.3 使用Docker容器 41
Docker镜像和容器 41
构建Ubuntu和Python Docker镜像 42
2.4 使用云实例 46
RSA公钥和私钥 47
Jupyter Notebook配置文件 48
Python和Jupyter Notebook安装脚本 49
协调Droplet设置的脚本 51
2.5 结语 52
2.6 延伸阅读 53
第2部分 掌握基础知识
第3章 数据类型与结构 57
3.1 基本数据类型 58
整数 58
浮点数 59
布尔值 61
字符串 65
题外话:打印和字符串替换 66
题外话:正则表达式 69
3.2 基本数据结构 71
元组 71
列表 72
题外话:控制结构 74
题外话:函数式编程 75
字典 76
集合 78
3.3 结语 79
3.4 延伸阅读 79
第4章 用NumPy进行数值计算 81
4.1 数据数组 82
用Python列表形成数组 82
Python array类 84
4.2 常规NumPy数组 86
基础知识 86
多维数组 89
元信息 93
改变组成与大小 93
布尔数组 97
速度对比 99
4.3 NumPy结构数组 100
4.4 代码向量化 102
基本向量化 102
内存布局 105
4.5 结语 107
4.6 延伸阅读 108
第5章 pandas数据分析 109
5.1 DataFrame类 110
使用DataFrame类的第一步 110
使用DataFrame类的第二步 114
5.2 基本分析 118
5.3 基本可视化 122
5.4 Series类 124
5.5 GroupBy操作 126
5.6 复杂选择 128
5.7 联接、连接和合并 131
联接 132
连接 133
合并 135
5.8 性能特征 137
5.9 结语 139
5.10 延伸阅读 140
第6章 面向对象编程 141
6.1 Python对象简介 145
int 145
list 146
ndarray 146
DataFrame 148
6.2 Python类基础知识 149
6.3 Python数据模型 154
6.4 Vector类 158
6.5 结语 159
6.6 延伸阅读 159
第3部分 金融数据科学
第7章 数据可视化 163
7.1 静态2D绘图 164
一维数据集 164
二维数据集 170
其他绘图样式 177
7.2 静态3D绘图 184
7.3 交互式2D绘图 188
基本图表 188
金融图表 192
7.4 结语 196
7.5 延伸阅读 196
第8章 金融时间序列 197
8.1 金融数据 198
数据导入 198
汇总统计 201
随时间推移的变化 203
重新采样 207
8.2 滚动统计 209
概述 209
技术分析示例 211
8.3 相关分析 213
数据 213
对数回报率 214
OLS回归 216
相关 217
8.4 高频数据 218
8.5 结语 220
8.6 延伸阅读 220
第9章 输入/输出操作 221
9.1 Python基本I/O 222
将对象写入磁盘 222
读取和写入文本文件 225
使用SQL数据库 229
读写NumPy数组 232
9.2 pandas的I/O 234
使用SQL数据库 235
从SQL到pandas 237
使用CSV文件 239
使用Excel文件 240
9.3 PyTables的I/O 242
使用表 242
使用压缩表 250
使用数组 252
内存外计算 253
9.4 TsTables的I/O 256
样板数据 257
数据存储 258
数据检索 259
9.5 结语 261
9.6 延伸阅读 262
第10章 高性能的Python 265
10.1 循环 266
Python 266
NumPy 267
Numba 268
Cython 269
10.2 算法 271
质数 271
斐波那契数 275
π 279
10.3 二叉树 283
Python 283
NumPy 285
Numba 286
Cython 287
10.4 蒙特卡洛模拟 288
Python 289
NumPy 291
Numba 291
Cython 292
多进程 293
10.5 pandas递归算法 294
Python 294
Numba 296
Cython 296
10.6 结语 297
10.7 延伸阅读 298
第11章 数学工具 299
11.1 逼近法 299
回归 301
插值 310
11.2 凸优化 314
全局优化 315
局部优化 317
有约束优化 318
11.3 积分 320
数值积分 321
通过模拟求取积分 322
11.4 符号计算 323
基础知识 323
方程式 325
积分与微分 325
微分 326
11.5 结语 328
11.6 延伸阅读 328
第12章 推断统计学 331
12.1 随机数 332
12.2 模拟 338
随机变量 338
随机过程 341
方差缩减 356
12.3 估值 359
欧式期权 359
美式期权 364
12.4 风险测度 367
风险价值 367
信用价值调整 371
12.5 Python脚本 374
12.6 结语 377
12.7 延伸阅读 377
第13章 统计学 379
13.1 正态性检验 380
基准案例 381
真实数据 390
13.2 投资组合优化 396
数据 396
基本理论 398
最优投资组合 401
有效边界 404
资本市场线 405
13.3 贝叶斯统计 408
贝叶斯公式 409
贝叶斯回归 410
两种金融工具 414
随时更新估算值 418
13.4 机器学习 423
无监督学习 423
有监督学习 426
13.5 结语 441
13.6 延伸阅读 441
第4部分 算法交易
第14章 FXCM交易平台 445
14.1 入门 446
14.2 读取数据 447
读取分笔交易数据 447
读取K线蜡烛图数据 449
14.3 使用API 451
读取历史数据 452
读取流数据 454
下单 455
账户信息 457
14.4 结语 457
14.5 延伸阅读 458
第15章 交易策略 459
15.1 简单移动平均数 460
数据导入 460
交易策略 461
向量化事后检验 463
优化 465
15.2 随机游走假设 467
15.3 线性OLS回归 469
数据 470
回归 472
15.4 聚类 474
15.5 频率方法 476
15.6 分类 479
两个二元特征 479
5个二元特征 480
5个数字化特征 482
顺序训练-测试分离 484
随机训练-测试分离 485
15.7 深度神经网络 486
用scikit-learn实现DNN 486
用TensorFlow实现DNN 489
15.8 结语 492
15.9 延伸阅读 493
第16章 自动化交易 495
16.1 资本管理 496
二项设定中的凯利标准 496
用于股票及指数的凯利标准 500
16.2 基于ML的交易策略 505
向量化事后检验 505
最优杠杆 510
风险分析 512
持久化模型对象 515
16.3 在线算法 516
16.4 基础设施与部署 518
16.5 日志与监控 519
16.6 结语 521
16.7 Python脚本 522
自动化交易策略 522
策略监控 525
16.8 延伸阅读 525
第5部分 衍生品分析
第17章 估值框架 529
17.1 资产定价基本定理 529
简单示例 530
一般结果 530
17.2 风险中立折现 532
日期建模与处理 532
恒定短期利率 534
17.3 市场环境 536
17.4 结语 539
17.5 延伸阅读 540
第18章 金融模型的模拟 541
18.1 随机数生成 542
18.2 通用模拟类 544
18.3 几何布朗运动 548
模拟类 548
用例 550
18.4 跳跃扩散 553
模拟类 553
用例 556
18.5 平方根扩散 557
模拟类 558
用例 560
18.6 结语 561
18.7 延伸阅读 563
第19章 衍生品估值 565
19.1 通用估值类 566
19.2 欧式行权 570
估值类 570
用例 572
19.3 美式行权 577
最小二乘蒙特卡洛方法 577
估值类 578
用例 580
19.4 结语 583
19.5 延伸阅读 585
第20章 投资组合估值 587
20.1 衍生品头寸 588
类 588
用例 590
20.2 衍生品投资组合 592
类 592
用例 597
20.3 结语 604
20.4 延伸阅读 605
第21章 基于市场的估值 607
21.1 期权数据 608
21.2 模型检验 610
相关市场数据 611
期权建模 612
检验过程 615
21.3 投资组合估值 620
建立期权头寸模型 621
期权投资组合 622
21.4 Python代码 623
21.5 结语 625
21.6 延伸阅读 626
附录A 日期与时间 627
A.1 Python 627
A.2 NumPy 633
A.3 pandas 636
附录B BSM期权类 641
B.1 类定义 641
B.2 类的使用 643
· · · · · ·


