Python金融衍生品大数据分析:建模、模拟、校准与对冲
作者:(德)Yves Hilpisch(伊夫·希尔皮斯科)
格式: pdf、txt、epub、azw3、mobi、docx
编辑推荐
阅读本书读者可掌握:
• 基于巿场的定价
• 风险中性定价
• 离散巿场模型
• Black-Scholes-Merton 模型
• 傅里叶期权定价
• 美式期权定价
• *波动率与跳跃扩散模型
• 模型校准
• 数值模拟与定价
内容简介
Python在数据分析领域得到了越来越广泛的应用。*部分着眼于风险对股市指数期权的价值、股票、利率的影响。第二部分介绍套利定价理论、离散时间内风险中性估值,持续时间,介绍了两种流行的期权定价方法。*后,第三部分介绍市场估值工作的整个过程。
作者简介
作者Yves Hilpsch是Python Quants(德国)股份有限公司的创始人和任事股东,也是Python Quants(纽约)有限责任公司的共同创办人。该集团提供基于Python的金融和衍生品分析软件以及与Python及金融相关的咨询、开发和培训服务。Yves Hilpsch还是Python for Finance(《Python金融大数据分析》)一书的作者。
译者蔡立耑
美国伊利诺伊大学金融硕士,华盛顿大学经济学硕士、博士。熟悉行为金融与量化投资。在金融、计算机等领域的学术、实战经验丰富。
目 录
目 录
第 1 章
快速导览 1
1.1 基于市场的估价 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 1
1.2 本书的结构 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 1
1.3 为什么选择 Python . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 3
1.4 深入阅读 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 4
第 1 部分
市场 6
第 2 章
什么是基于市场的定价 6
2.1 期权及其价值 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 6
2.2 普通金融工具与奇异金融工具 . . . . . . . . . . . . . . . . . . . . . .
. . . . 10
2.3 影响股权衍生工具的风险 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 11
2.3.1 市场风险 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 11
2.3.2 其他风险 . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 12
2.4 对冲 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 13
2.5 基于市场的定价过程 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 14
第 3 章
市场典型事实 15
3.1 简介 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 15
3.2 波动率、相关性 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . 15
3.3 基本案例:正态收益率 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 17
3.4 指数和股票 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 21
3.4.1 典型事实 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 21
3.4.2 DAX 指数收益率 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 21
3.5 期权市场 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 25
3.5.1 买卖价差 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 25
3.5.2 隐含波动率曲面 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 27
3.6 短期利率 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 28
3.7 结论 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 31
3.8 Python 脚本 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 31
3.8.1 GBM 分析 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 31
3.8.2 DAX 分析 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 35
3.8.3 BSM 隐含波动率 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 36
3.8.4 EURO STOXX 50
隐含波动率 . . . . . . . . . . . . . . . . . . . . .
38
3.8.5 EURIBOR 分析 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . 40
第 2 部分
理论定价 42
第 4 章
风险中性定价 42
4.1 简介 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 42
4.2 离散时间不确定性 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 43
4.3 离散市场模型 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 47
4.3.1 基本元素 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 47
4.3.2 基础定义 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 47
4.4 离散时间模型的主要结果 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 49
4.5 连续时间模型 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 53
4.6 总结 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 58
4.7 证明 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 59
4.7.1 引理 1 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 59
4.7.2 命题 1 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 59
4.7.3 定理 1 . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 60
第 5 章
完全市场模型 62
5.1 简介 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 62
5.2
Black-Scholes-Merton 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
5.2.1 市场模型 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 62
5.2.2 基本 PDE . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 63
5.2.3 欧式期权 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 64
5.3 BSM 模型的 Greeks . . . . . . . . . . .. . . . . 67
5.4
Cox-Ross-Rubinstein 模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
5.5 总结 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 74
5.6 证明及 Python 脚本 . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . 74
5.6.1 伊藤引理 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 74
5.6.2 BSM 期权定价的脚本 . . . . . . . . . . . . . . . . . . . . . .
. . . . 74
5.6.3 BSM 看涨期权 Greeks 脚本 . . . . . . . . . . . . . . . . . . . . . . . 78
5.6.4 CRR 期权定价脚本 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . 81
第 6 章
基于傅里叶的期权定价 84
6.1 概述 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 84
6.2 定价问题 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . 85
6.3 傅里叶变换 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . 85
6.4 基于傅里叶的期权定价 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 87
6.4.1 Lewis(2001) . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . 87
6.4.2 Carr-Madan(1999) . . . . . . . . . . . . . . . . . . . . . . . . . . 89
6.5 数值计算 . . . . . . . . . . . .. . . . . . . . . 91
6.5.1 傅里叶级数 . . . . . . . . . . . . . . . . . . 91
6.5.2 快速傅里叶变换 . . . . . . . .. . . . . . . . . . . 94
6.6 应用 . . . . . . . . . . . . . . . . . . . . . .
. . 94
6.6.1
Black-Scholes-Merton(1973)模型 . . . . . . . . . . . . . . . . . . . 94
6.6.2 Merton(1976)模型 . . . . . . . . . . . . . 97
6.6.3 离散市场模型 . . . . . . . . . . . . . . . 97
6.7 总结 . . . . . . . . . . . . . . . . . . . . . .
. . . 101
6.8 Python 脚本 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 101
6.8.1 使用傅里叶方法的 BSM 看涨期权定价 . . . . . . . . . . . . . . . . . 101
6.8.2 傅里叶级数 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . 106
6.8.3 单位根 . . . . . . . . . . . . . .. . . . . . . .
. . 108
6.8.4 卷积 . . . . . . . . . . . . . . . . . . . . . .
. . 108
6.8.5 参数模块 . . . . . . . . . . . . . . . . . . . . . .
109
6.8.6 卷积计算看涨期权价值 . . . . . . . . . . . . . . . . 110
6.8.7 卷积期权定价 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . 111
6.8.8 DFT 期权定价 . . . . . . . . . . . . . . . . . 111
6.8.9 DFT 速度检验 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . 112
第 7 章
利用模拟的美式期权定价 114
7.1 概述 . . . . . . . . . . . . .. . . . . 114
7.2 金融模型 . . . . . . . . . . . . . . . . . . . . .
114
7.3 美式期权定价 . . . . . . . . . 115
7.3.1 问题形式 . . . . . . . . . . . . 115
7.3.2 定价算法 . . . . . . . . . .. . . . . 117
7.4 数值结果 . . . . . . . . . . . . . . . . 118
7.4.1 美式看跌期权 . . . . . . . . . . . . . 118
7.4.2 美式空头秃鹰式价差 . . . . . . . . . . . . . . . . . . . . . .
. . . . . 122
7.5 总结 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 122
7.6 Python 脚本 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . 123
7.6.1 二项定价 . . . . . . . . . . . . . . 123
7.6.2 LSM 蒙特卡罗定价 . . . . . . . . . . . . . . . 125
7.6.3 原始算法和对偶算法 . . . . . . . . .. . . . 126
第 3 部分
基于市场的定价 132
第 8 章
基于市场定价的第一个例子 132
8.1 概述 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 132
8.2 市场模型 . . . . . . . . . . . . . . . . . . . . . .
. 132
8.3 定价 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 133
8.4 校准 . . . . . . . . . . . . . . . . . . . . .
133
8.5 模拟 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . 134
8.6 总结 . . . . . . . . . . . .. . . . . . . 140
8.7 Python 脚本 . . . . . . . . . . . . . . . . . 140
8.7.1 数值积分定价 . . . . . . . . . . . . . . 140
8.7.2 FFT 定价 . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . 142
8.7.3 根据三种到期日的期权报价校准模型 . . . . . . . . . . . . . . . . . . 145
8.7.4 根据到期时间较短的期权报价校准模型 . . . . . . . . . . . . . . . . . 147
8.7.5 MCS 定价 . . . . . . . . . .. . . . . 150
第 9 章
一般市场模型 154
9.1 概述 . . . . . . . . . . .. . . . . . . . . 154
9.2 框架 . . . . . . . . . . . . . . . . . . . . . .
. 154
9.3 框架的特征 . . . . . . . . . . . . . . . . . . . . .
156
9.4 零息债券定价 . . . . . . . . . . . . . 157
9.5 欧式期权定价 . . . . . . . . . . . . . . . . . . 158
9.5.1 PDE 方法 . . . . . . . .. . . . . . . . 158
9.5.2 变换方法 . . . . . . . . . . . . . .. . . . . 160
9.5.3 蒙特卡罗模拟 . . . . . . .. . . . . . . . 161
9.6 总结 . . . . . . . . . . . . . . . . . . . 162
9.7 证明和 Python 脚本 . . . . . . . . . . . . . . . 162
9.7.1 伊藤引理 . . . . . . . . . . . 162
9.7.2 债券定价的 Python 脚本 . . . . . . . . . . . . . 163
9.7.3 欧式看涨期权定价的 Python 脚本 . . . . . . . . . . . . . 164
第 10 章
蒙特卡罗模拟 171
10.1 概述 .. . . . 171
10.2 零息债券定价 . . . . . . . . 171
10.3 欧式期权定价 . . . . . .. . . . . . . . . . 175
10.4 美式期权定价 . . . .. .. . . . 180
10.4.1 数值结果 . . . . .. . . . . . 182
10.4.2 高准确性与低速度 . . . . . . . . . 185
10.5 总结 . . . . . . . . . . . . . . . . . 187
10.6 Python 脚本 . . . . . . . . . . . 188
10.6.1 一般零息债券定价 . . . . .. . . . . . 188
10.6.2 CIR85 模拟和定价 . . . . . .. . . . . 190
10.6.3 通过蒙特卡罗模拟对欧式期权自动定价 . . . . . 193
10.6.4 通过蒙特卡罗模拟对美式看跌期权自动定价 . .. . . . . . . 194
第 11 章
模型校准 202
11.1 概述 . . . . . . . . .. . . . . . 202
11.2 一般考量 . . . . . . . . . . . . . 202
11.2.1 为什么校准 . . . . . . . . . .. . . . . 202
11.2.2 模型的不同部分分别是什么角色 204
11.2.3 什么是目标函数 . . . . . . . . . . 205
11.2.4 什么是市场数据 . . . . . . . . . . .. . 207
11.2.5 什么是最优化算法 . . . . . . .. . . 208
11.3 短期利率部分的校准 . . . . . . .. . . . 208
11.3.1 理论基础 . . . . . . . . . . . . . . .. . 208
11.3.2 根据 Euribor 校准模型 . . . . . . . . 209
11.4 股权部分的校准 . . . . . . . . . .. . 212
11.4.1 傅里叶变换方法定价 . . . . . . . 212
11.4.2 根据 EURO STOXX 50 期权的报价进行校准 . . . . . . . . . . . . . 213
11.4.3 H93 模型校准 . . . . . . . . . . . . 214
11.4.4 跳跃部分校准 . . . . . . . . . . . . 214
11.4.5 BCC97 模型的完全校准 . . . . . . . . . 217
11.4.6 根据隐含波动率校准 . . . . . . .. . . 218
11.5 总结 . . . . . . . . . . 220
11.6
COX-INGERSOLL-ROSS 模型的 PYTHON 脚本 . . . .. . 222
11.6.1 CIR85 模型校准 . . . . . . . . . . . . . . .. . 222
11.6.2 H93 随机波动率模型校准 . . . . .. . 225
11.6.3 隐含波动率的比较 . . . . . . . . . . .. . 228
11.6.4 模型跳跃扩散部分的校准 . . . . . . . 230
11.6.5 BCC97 完全模型的校准 . . . . . . . . . . .. 233
11.6.6 根据隐含波动率校准 BCC97 模型 . . . . . . . 236
第 12 章
一般模型框架下的模拟与定价 240
12.1 概述 . . . . . . .. . . . 240
12.2 模拟 BCC97 模型 . . . .. . . . . 240
12.3 股权期权定价 . . . . . . . . . . . . .. . 242
12.3.1 欧式期权 . . . .. . .. . 242
12.3.2 美式期权 . . . . . . . . . . . . . . . . . . 244
12.4 总结 . . . . . . . . . . . . .. . . . 245
12.5 Python 脚本 . . . . . . . . . . . . 245
12.5.1 模拟 BCC97 模型 . . . . . . . . 245
12.5.2 MCS 法对欧式看涨期权定价 . . . . . . . . . 251
12.5.3 MCS 法对美式看涨期权定价 . . . . . . . . . .. 252
第 13 章
动态对冲 256
13.1 概述 . . . . . . . .. . .. 256
13.2 BSM 模型对冲研究 . . . . . . . . . . . . . . . . 257
13.3 BCC97 模型对冲研究 . . . . . . . . . . . . . . .. . 262
13.4 总结 . . . . . . . . . . . . . . . . . . . . . .
. . . 265
13.5 Python 脚本 . . . . . . . . . . . .. . 265
13.5.1 BSM 的 LSM Delta 对冲(单一路径) . . . . . . . . . 265
13.5.2 BSM 的 LSM Delta 对冲(多条路径) . . . . . . . . .. 269
13.5.3 BCC97 中美式看跌期权的 LSM 算法 . . . . . . . . . .. . . 271
13.5.4 BCC97 的 LSM Delta 对冲(单一路径) . . . . 277
第 14 章
摘要 280
附录 A 果壳里的 Python 281
A.1 Python 基础 . . . . . . . . . . . . . . . . . 281
A.1.1 安装 Python 包 . . . . . . . . .. . 281
A.1.2 Python 第一步 . . . . . . . . . . . . .. 282
A.1.3 数组操作 . . . . . . . . . . . . . . . . . . . 286
A.1.4 随机数 . . . . . … . 289
A.1.5 绘图 . . . . . . .. . .. . 289
A.2 欧式期权定价 . . . . .. . . . 291
A.2.1
Black-Scholes-Merton 方法 . . . . . . . . . . . . . 292
A.2.2
Cox-Ross-Rubinstein 方法 . . . . . . .. . 294
A.2.3 蒙特卡罗方法 . . . . . . . .. . 299
A.3 金融选题 . . . . . . . . . . . . . 301
A.3.1 近似 . . . . . . . . . . 301
A.3.2 最优化 . . . . . . . . . . . . .. . . 303
A.3.3 数值积分 . . . . . .. . . . . 304
A.4 Python 进阶 . . . . .. . . . 305
A.4.1 类和对象 . . . . . . . . . 305
A.4.2 基本的输入输出 . . . .. . .. 308
A.4.3 与电子表格交互 . . .. .. 309
A.5 快速金融工程 . . . . . .. .. 311
前 言
译 者 序
自20世纪后期以来,衍生品市场蓬勃发展,成为金融创新的主流。作为金融产品的重要组成部分,衍生品强化了跨时间、跨空间的价格竞争,提高了资产配置的效率,在金融市场中扮演着举足轻重的角色。一方面,衍生品有助于价格发现,使得各类资产能够更有效地被定价;另一方面,衍生品也具有套期保值的功能,可以帮助投资者认识、分离各种风险构成,进而根据各种风险大小和个人偏好更有效地配置资金。衍生工具的定价及对冲(避险)一直是金融工程的核心内容。
然而,衍生品的定价与对冲并不是容易掌握的技术。首先,其相关理论较艰涩难懂,许多抽象的数学知识对不少人而言难以逾越。其次,现实世界显然并不如理论假设那般完美,存在着各种各样的问题,如何将理论应用于偏离假设的现实世界是一项颇具挑战的任务。此外,衍生品定价与对冲的数值计算往往非常繁琐;在实务中,没有一定的编程能力难竟其功。
本书很大程度解决了上述典型的困难。作者以其丰富的业界经验及深厚的学识修养,清晰地表达了衍生工具定价、模拟、校准及对冲方法,让读者得以全面地了解衍生品相关的理论知识。而本书尤为出色之处,更在于作者匠心独运地将抽象的数学模型以Python实践,并与巿场实际相结合,因此对于实务工作者而言,阅读本书后学习效率是立竿见影的。
值得一提的是,作者选择Python作为实践的编程语言,有其与时俱进的睿智。相较于C 、Java等语言,Python一个广为人知的特色是简单易学,即便非专业的程序员也能轻易上手。除此之外,Python平台上累积了相当完整的标准模块和包,功能强大的非标准模块和包更是无以计数,涵盖范围相当广泛。这样的环境对程序开发效率的提升不言可喻。Python还提供了丰富的API和工具,方便程序员在必要之时可以用其他语言来编写扩充模块,故有“胶水语言”之称。再者,各种主要的操作系统都支持Python;Python程序往往不需要修改,便能同时在Linux与Windows平台上执行,可移植性非常好。综上所述,科学计算人员使用Python可以在很大程度上减少学习、处理编程细节的许多心力,从而专注于问题本身。对金融行业而言,这意味着成本降低与效率提升。读者不难发现,Python能在金融界迅速地流行开来,其来有自。
总之,从理论与实务结合的角度,本书不论对于学者或金融行业的专业人员,都是一本难得一见、不可或缺的参考书。最后提醒读者,本书并不是入门书籍。为了能够更好地理解本书的内容,我们建议读者具有与下列书籍同等的背景知识:John Hull的Options, Futures, and Other Derivatives,Steven E.Shreve的Stochastic Calculus for Finance,以及Umberto Cherubini和Giovanni Della Lunga的Fourier Transform Methods in Finance一书。
前 言
这本书是我在公司工作、大学教书过程中,自己诸多活动及同事间互动衍生的产物。一方面,在 The Python Quants GmbH 公司,我们从事的领域包括金融工程、计算金融和Python 编程;另一方面,我在萨尔大学教数理金融学课程。
本书的目标读者是那些对基于市场的期权评估实务,即透过单一数值与技术的实践来完成工作感兴趣的业界人士、研究人员与学生,也为那些想要了解 Python 如何应用于衍生品分析与金融工程的人士而作。然而,除了主要以实务与实践为导向外,本书也提供了必要的理论基础与数值工具。
Python 在金融界、尤其是分析领域中的作用越来越不可小视,我希望本书能对此有所贡献。如果您想要获取本书附带的 Python 脚本及 IPython 笔记,可以访问 http://wiley.quant-platform.com,注册网站上的 Quant Platform,它允许用户在浏览器上以互动与协作方式进行金融分析。更多的资源可以在 http://derivatives-analytics-with-python.com 上找到。您也应去 http://dx-analytics.com 网站上查看 Python 的开源库 DX Analytics,它能够用一种标准和可重复使用的方式,来实现本书展现的概念与方法。
此书的撰写需要长时间的独处,感谢我的家人、尤其我的妻子 Sandra 的支持与理解。也要感谢我的同事 Michael Schwed 一直以来的帮助与支持。同时,感谢 Alain Ledon 与Riaz Ahmad 的评论与反馈。在萨尔大学的课堂与研讨会上,参与者的讨论也对此书贡献卓著。这本书的部分内容,也得益于这些年来我在各种各样的 Python 及金融会议中的演讲。
谨以此书献给我可爱的儿子 Henry Nikolaus,我赞赏他那种直接的生活方式,以及对世界清晰的观察。
Yves Hilpisch
萨尔
商品评价
为了方便大家利用电子书更好的学习,精心整理了网络上的各种电子书,有PDF版本的,也有TXT版本的,现有一万多本PDF的,七万多本TXT的,还有精心整理的天涯神贴,而且还在不断增加中,有需要的可以点击下面的衔接或者扫码下载:
链接: https://pan.baidu.com/s/1z45OMvYM0Jy-BVuJJmRvtw?pwd=w3m9 提取码: w3m9 复制这段内容后打开百度网盘手机App,操作更方便哦
请先
!