书籍:Python金融大数据分析 Python for Finance_ Mastering Data-Driven Finance 2nd - 2019.pdf

简介: 简介金融业最近以极高的速度采用了Python,一些最大的投资银行和对冲基金使用它来构建核心交易和风险管理系统。 针对Python 3进行了更新,本手册的第二版帮助您开始使用该语言,指导开发人员和定量分析师通过Python库和工具构建财务应用程序和交互式财务分析。

简介

图片.png

金融业最近以极高的速度采用了Python,一些最大的投资银行和对冲基金使用它来构建核心交易和风险管理系统。 针对Python 3进行了更新,本手册的第二版帮助您开始使用该语言,指导开发人员和定量分析师通过Python库和工具构建财务应用程序和交互式财务分析。

在整本书中使用实际例子,作者Yves Hilpisch还向您展示了如何基于一个大型的,现实的案例研究,为基于蒙特卡罗模拟的衍生品和风险分析开发一个完整的框架。 本书的大部分内容都使用了交互式IPython笔记本。

图片.png

Python凭借其简单、易读、可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析、处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业开发核心应用的编程语言。《Python金融大数据分析》提供了使用Python进行数据分析,以及开发相关应用程序的技巧和工具。

《Python金融大数据分析》总计分为3部分,共19章。

第 1部分介绍了Python在金融学中的应用,其内容涵盖了Python用于金融行业的原因、Python的基础架构和工具,以及Python在计量金融学中的一些具体入门实例;

第 2部分介绍了金融分析和应用程序开发中重要的Python库、技术和方法,其内容涵盖了Python的数据类型和结构、用matplotlib进行数据可视化、金融时间序列数据处理、高性能输入/输出操作、高性能的Python技术和库、金融学中需要的多种数学工具、随机数生成和随机过程模拟、Python统计学应用、Python和Excel的集成、Python面向对象编程和GUI的开发、Python与Web技术的集成,以及基于Web应用和Web服务的开发;

第3部分关注的是蒙特卡洛模拟期权与衍生品定价实际应用的开发工作,其内容涵盖了估值框架的介绍、金融模型的模拟、衍生品的估值、投资组合的估值、波动率期权等知识。 《Python金融大数据分析》适合对使用Python进行大数据分析、处理感兴趣的金融行业开发人员阅读。

参考资料

目录

第 1部分 Python与金融
第 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 金融中的科技 8
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部分 金融分析和开发
第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部分 衍生品分析库
第 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

相关文章
从混沌到秩序:Python的依赖管理工具分析
Python 的依赖管理工具一直没有标准化,主要原因包括历史发展的随意性、社区的分散性、多样化的使用场景、向后兼容性的挑战、缺乏统一治理以及生态系统的快速变化。依赖管理工具用于处理项目中的依赖关系,确保不同环境下的依赖项一致性,避免软件故障和兼容性问题。常用的 Python 依赖管理工具如 pip、venv、pip-tools、Pipenv、Poetry 等各有优缺点,选择时需根据项目需求权衡。新工具如 uv 和 Pixi 在性能和功能上有所改进,值得考虑。
128 35
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
在现代数据分析中,高维时间序列数据的处理和预测极具挑战性。基于矩阵分解的长期事件(MFLEs)分析技术应运而生,通过降维和时间序列特性结合,有效应对大规模数据。MFLE利用矩阵分解提取潜在特征,降低计算复杂度,过滤噪声,并发现主要模式。相比传统方法如ARIMA和深度学习模型如LSTM,MFLE在多变量处理、计算效率和可解释性上更具优势。通过合理应用MFLE,可在物联网、金融等领域获得良好分析效果。
138 0
使用Python实现基于矩阵分解的长期事件(MFLEs)时间序列分析
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
川航选择引入 SelectDB 建设湖仓一体大数据分析引擎,取得了数据导入效率提升 3-6 倍,查询分析性能提升 10-18 倍、实时性提升至 5 秒内等收益。
从湖仓分离到湖仓一体,四川航空基于 SelectDB 的多源数据联邦分析实践
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
本文探讨了金融资产波动率建模中的三种主流方法:GARCH、GJR-GARCH和HAR模型,基于SPY的实际交易数据进行实证分析。GARCH模型捕捉波动率聚类特征,GJR-GARCH引入杠杆效应,HAR整合多时间尺度波动率信息。通过Python实现模型估计与性能比较,展示了各模型在风险管理、衍生品定价等领域的应用优势。
541 66
金融波动率的多模型建模研究:GARCH族与HAR模型的Python实现与对比分析
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
在Python开发中,GIL(全局解释器锁)一直备受关注。本文基于CPython解释器,探讨GIL的技术本质及其对程序性能的影响。GIL确保同一时刻只有一个线程执行代码,以保护内存管理的安全性,但也限制了多线程并行计算的效率。文章分析了GIL的必要性、局限性,并介绍了多进程、异步编程等替代方案。尽管Python 3.13计划移除GIL,但该特性至少要到2028年才会默认禁用,因此理解GIL仍至关重要。
286 16
Python GIL(全局解释器锁)机制对多线程性能影响的深度分析
Python时间序列分析工具Aeon使用指南
**Aeon** 是一个遵循 scikit-learn API 风格的开源 Python 库,专注于时间序列处理。它提供了分类、回归、聚类、预测建模和数据预处理等功能模块,支持多种算法和自定义距离度量。Aeon 活跃开发并持续更新至2024年,与 pandas 1.4.0 版本兼容,内置可视化工具,适合数据探索和基础分析任务。尽管在高级功能和性能优化方面有提升空间,但其简洁的 API 和完整的基础功能使其成为时间序列分析的有效工具。
148 37
Python时间序列分析工具Aeon使用指南
Python时间序列分析:使用TSFresh进行自动化特征提取
TSFresh 是一个专门用于时间序列数据特征自动提取的框架,支持分类、回归和异常检测等机器学习任务。它通过自动化特征工程流程,处理数百个统计特征(如均值、方差、自相关性等),并通过假设检验筛选显著特征,提升分析效率。TSFresh 支持单变量和多变量时间序列数据,能够与 scikit-learn 等库无缝集成,适用于大规模时间序列数据的特征提取与模型训练。其工作流程包括数据格式转换、特征提取和选择,并提供可视化工具帮助理解特征分布及与目标变量的关系。
161 16
Python时间序列分析:使用TSFresh进行自动化特征提取

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等