本书主要讲述如何运用数值方法解决复杂函数方程。本书的第1部分描述了大量衍生品在各种模型中的定价方法,回顾了不同市场下常见的资产模型建模过程,并对多种衍生品定价的数值逼近方法进行了实验。这些方法包括转换技术,诸如快速傅里叶变换、分形快速傅里叶变换、Fourier-cosine方法、鞍点法、扩散框架下的PDE以及带跳的PIDE的有限差分方法以及蒙特卡罗模拟等。第2部分侧重于实际市场中衍生品定价的基本步骤。作者讨论了如何通过调整模型参数使模型价格符合市场价格,其中还涵盖了各种滤波技术及其实现方法,并给出过滤技术和参数估计的例子。本书为读者准确模拟衍生品定价提供了有效的数值方法。本书可作为金融工程专业高年级学生的教材,也可作为金融从业人员的参考书。
前言无论意欲取得任何进展,都始终非常有必要引入近似技术,也就是数值计算。因此,对复杂函数方程的数值计算方法再一次成为我努力研究的一个主要方向。事实上我对数值分析从未产生过这样的兴趣,同我这一代大多数的数学家一样,我也曾认为这是一项功利的研究。对数值解的研究被认为是无能数学家最后的救命稻草。然而事实是,一旦从事这一领域的研究,就很快意识到得出数值解比建立一般的存在性和唯一性定理会要求更强的能力和更深刻的理解。获得一个有效的算法比证明一个定理要更有难度。任何科学理论的最终目标都是具体的数字推导。这是节取自理查德·贝尔曼的著作《飓风之眼》185页的一段话。考虑到量化金融的发展已经离不开计算(数值)技术以及近年来其在金融领域改革中的影响,引用这段话作为前言还是十分合适的。在对大多数应用问题和物理现象的解释中,我们总是试图寻找一个接近真实解的近似值。因此,掌握一些计算方法或数值算法是必需的。在量化金融中,除了少数情况存在解析或半解析的解以外,我们通常使用近似值代替真实解。随着如今越来越复杂的金融产品的诞生,定量分析师、金融工程师和金融行业中其他的从业者特别需要稳健的数值解。计算金融研究领域已经在迅速发展,并且越来越复杂的金融产品和市场的发展也将会对数值方法提出更高的需求。本书是基于我在哥伦比亚大学和纽约大学柯朗数学研究所使用的讲稿完善而成的。书中主题的选择受到了我在教学过程中学生和市场需求的影响。我的同事兼朋友Rama Cont,建议我将这些笔记整合为一部教科书并出版。我们的目的是编写一本有关金融中的数值计算方法的教科书,全方位介绍金融衍生品合约和相关产品的定价方法,同时介绍一些算法、模拟、模型校准和各类实用的参数估计的例子。本书是针对金融工程或金融数学方向第一或第二年级研究生、量化分析人员、研究人员、模型实现技术专家和对这一领域感兴趣的读者编写的,宗旨是保持本书的自包含性和观点的独立性。总体来说,我们不会在理论方面进行太多的正式讲述。本书的目的不在于从细节上研究随机微积分或者鞅定价,因为它们不是理解书中内容的先决条件。虽然在某些情况下有些理论是不可避免的,但我将尽可能给出足够的解释,以保证读者在不需要深入了解其背后理论或派生理论的前提下可以继续阅读。本书由两部分组成。第一部分描述了各种衍生品合约定价的方法技术和各种模型及其过程的估计。在第二部分中,我们着重于模型校准、校准步骤、滤波和参数估计等方面。第1章回顾了一些基本概念,主要涉及随机过程的特征函数。这一章展示了如何应用特征函数生成结果分布的矩以及如何派生出不同过程的特征函数。同时,书中还回顾了各类标准分布的特征函数。在这一章中我提供了一个独立的列表,其中包括一些从业者在衍生品定价模型中最常用的随机过程,但这还不是一份最全面的列表,它并不能覆盖在实际中使用到的每一个随机过程。在描述这些过程时,我们尽可能提供详细的数学描述,包括每一个分布的特征函数、存在的封闭形式以及存在封闭式的随机微分方程。最后,回顾了风险中性定价及测度变换。与标的资产的随机模型相结合后,这些理论构成了金融衍生品定价算法的基础。第2~6章涵盖了多种衍生品合约定价的计算,包括(a)转换技术,(b)有限差分法求解偏微分方程和部分可积微分方程和(c)蒙特卡罗模拟。第2章讲述了一系列变换技术,其中包括快速傅里叶变换技术,分形快速傅里叶变换,Fourier-cosine(COS)方法和鞍点法。讨论了每种方法的利弊,并提供大量的交叉比较。第3章介绍了如何使用有限差分方法对偏微分方程进行数值求解,其重点是用几种最常用的有限差分技术求解偏微分方程,即显式的、隐式的、Crank-Nicolson和多步法等几种方法,并讨论了这些方法的稳定性以及偏微分方程离散化后生成的刚性矩阵的不同结构,并且提供了解决线性方程组的方法。同时,本章提供了一个通过有限差分进行导数逼近的通用方法。第4章利用第3章中介绍的有限差分法对Vanilla及奇异衍生品进行定价。其中,这类衍生品的价格是可以被诸如Black-Scholes模型、一维局部波动率模型、二维Heston随机波动率模型等偏微分方程模型表示的。讲述如何实现边界条件和运动边界,建立非均匀网格点和协调转换以及如何处理带跳的条件。第5章涵盖了通过有限差分技术对部分可积微分方程进行数值求解来对各类衍生品进行定价。介绍了出现在纯跳框架下的PIDE,例如方差伽马(VG)模型和CGMY模型。对于闭合式、无特征函数、同时到期结算结构相当复杂的衍生品合约,例如非Markov过程,或者高维度的过程或模型,则利用蒙特卡罗模拟对其进行定价和估值。第6章讲述了蒙特卡罗模拟方法。讨论了不同的抽样方法和不同分布的抽样方法,同时也会涉及一部分蒙特卡罗积分和随机微分方程数值积分的内容。由于模拟时产生的方差会对结果的精确性造成影响,这一章也讲述了一些方差缩减技术来解决这一主要缺点,同时还深入研究了对一些纯跳过程的模拟。本书的第二部分着重分析了实际市场中衍生品定价和估值的基本步骤。第7章讨论了如何通过调整模型参数
Ali Hirsa 哥伦比亚大学和纽约大学柯朗数学研究所教授,作者在教授研究生课程时积累了丰富的经验,同时作者在投资银行和对冲基金的数量金融领域中也工作多年,有着丰富研究、交易经验。
目录符号及缩写清单xv图清单xvii表清单xxi前言xxv致谢xxixⅠ定价与估值11 随机过程及风险中性定价31.1 特征函数31.1.1 累积分布函数的特征函数41.1.2 随机变量矩的特征函数51.1.3 去中心化随机变量的特征函数51.1.4 Jensen不等式修正的计算61.1.5 对数鞅特征函数的计算61.1.6 指数分布71.1.7 Gamma分布81.1.8 Lévy过程81.1.9 标准正态分布81.1.10 正态分布91.2 资产定价的随机模型101.2.1 几何布朗运动Black-Scholes模型101.2.1.1 随机微分方程101.2.1.2 Black-Scholes偏微分方程111.2.1.3 Log几何布朗运动的特征函数111.2.2 局部波动率模型Derman模型和Kani模型111.2.2.1 随机微分方程111.2.2.2 广义Black-Scholes公式121.2.2.3 特征函数121.2.3 随机波动率下的几何布朗运动Heston模型121.2.3.1 Heston随机波动率模型随机微分方程121.2.3.2 Heston模型Log资产价格的特征函数121.2.4 混合模型随机局部波动率(SLV)模型181.2.5 带均值回归的几何布朗运动Ornstein-Uhlenbeck过程191.2.5.1 Ornstein-Uhlenbeck过程随机微分方程191.2.5.2 Vasicek模型201.2.6 Cox-Ingersoll-Ross 模型211.2.6.1 随机微分方程211.2.6.2 积分特征函数211.2.7 Variance Gamma模型211.2.7.1 随机微分方程221.2.7.2 特征函数231.2.8 CGMY模型241.2.8.1 特征函数251.2.9 正态逆高斯模型251.2.9.1 特征函数251.2.10 带随机抵达(VGSA)的Variance Gamma模型251.2.10.1 随机微分方程261.2.10.2 特征函数261.3 不同测度下的衍生品定价271.3.1 风险中性测度下的资产定价271.3.2 概率测度变换281.3.3 远期测度下的资产定价291.3.3.1 利率下限/上限定价301.3.4 互换测度下的定价311.4 衍生品的种类32习题332 应用变换技术对衍生品定价352.1 应用傅里叶变换对衍生品定价352.1.1 看涨期权定价362.1.2 看跌期权定价392.1.3 积分定价的评估412.1.3.1 数值积分412.1.3.2 快速傅里叶变换422.1.4 快速傅里叶变换的实现432.1.5 阻尼因子432.2 分形快速傅里叶变换472.2.1 分形快速傅里叶变换的构造502.2.2 分形快速傅里叶变换的实现522.3 应用Fourier-Cosine(COS)方法对衍生品定价542.3.1 COS方法552.3.1.1 任意函数的余弦级数展式552.3.1.2 用特征函数表示余弦级数的系数562.3.1.3 COS期权定价572.3.2 不同收益的COS期权定价法572.3.2.1 Vanilla期权的COS定价法582.3.2.2 数字期权的COS定价法592.3.3 COS方法的截断区域592.3.4 COS方法的数值计算结果592.3.4.1 几何布朗运动(GBM)592.3.4.2 Heston随机波动率模型602.3.4.3 Variance Gamma(VG)模型612.3.4.4 CGMY模型622.4 路径相关期权的Cosine定价法632.4.1 百慕大期权632.4.2 离散障碍期权652.4.2.1 数值计算COS法与蒙特卡罗法652.5 鞍点法662.5.1 广义Lugannani-Rice近似672.5.2 期权定价的尾概率描述682.5.3 期权定价的Lugannani-Rice近似702.5.4 鞍点近似法的实现712.5.5 鞍点法的数值结果732.5.5.1 几何布朗运动(GBM)732.5.5.2 Heston随机波动率模型732.5.5.3 Variance Gamma模型742.5.5.4 CGMY模型752.6 应用傅里叶变换的平方期权定价76习题783 有限差分介绍833.1 泰勒展式833.2 有限差分法853.2.1 显式差分离散化方法873.2.1.1 显式差分的算法893.2.2 隐式差分离散化方法893.2.2.1 隐式差分的算法913.2.3 Crank-Nicolson离散化方法923.2.3.1 Crank-Nicolson的算法953.2.4 多步法963.2.4.1 多步法的算法983.3 稳定性分析993.3.1 显式差分算法的稳定性1023.3.2 隐式差分算法的稳定性1033.3.3 Crank-Nicolson算法的稳定性1033.3.4 多步法算法的稳定性1043.4 有限差分的导数逼近:广泛逼近1043.5 矩阵方程的解法1063.5.1 三对角线矩阵的解法1063.5.2 五对角线矩阵的解法108习题110案例分析1134 应用PDEs数值解的衍生品定价1154.1 广义Black-Scholes偏微分方程下的期权价格1174.1.1 显性离散化方法1174.1.2 隐性离散化方法1194.1.3 Crank-Nicolson离散化方法1204.2 边界条件及临界点1214.2.1 边界条件的实现1214.2.1.1 Dirichlet边界条件1224.2.1.2 Neumann边界条件1224.2.2 确定性跳跃条件的实现1254.3 非均匀网格点1264.3.1 坐标变换1274.3.1.1 坐标变换后的Black-Scholes偏微分方程1294.4 维度下降法1304.5 扩散条件下路径依赖的期权定价1314.5.1 百慕大期权1314.5.2 美式期权1334.5.2.1 百慕大式逼近1334.5.2.2 带合成分红过程的Black-Scholes偏微分方程1344.5.2.3 Brennan-Schwartz 算法1354.5.3 障碍期权1384.5.3.1 一次性敲出障碍期权1404.5.3.2 一次性敲入障碍期权1414.5.3.3 双重障碍期权1414.6 正向偏微分方程1414.6.1 Vanilla看涨期权1424.6.2 下降敲出看涨期权1434.6.3 上涨敲出看涨期权1434.7 高维有限差分法1464.7.1 Heston随机波动率模型1464.7.2 Heston偏微分方程下的期权定价1484.7.2.1 边界条件的实现1534.7.3 交替方向隐式法(ADI)的算法1564.7.3.1 Heston偏微分方程Craig-Sneyd算法的导数1584.7.4 Heston偏微分方程1614.7.5 数值结果及结论161习题164案例分析1685 应用PIDEs数值解的衍生品定价1715.1 PIDEs的数值解(一个广义示例)1715.1.1 PIDE的导数1725.1.2 离散化1765.1.3 积分项的估计1785.1.4 微分方程1805.1.4.1 Neunann边界条件的实现1835.2 美式期权1845.2.1 Heaviside项合成分红过程1875.2.2 数值实验1885.3 Lévy 过程的PIDE解1905.4 正向PIDEs1915.4.1 美式期权1915.4.2 下降敲出和上涨敲出看涨期权1945.5 g1和g2的计算198习题199案例分析2006 衍生品定价的模拟方法2036.1 随机数的生成2056.1.1 标准均匀分布2056.2 各类分布样本2066.2.1 逆变换法2066.2.2 接受-拒绝法2086.2.2.1 应用接受-拒绝法生成标准正态分布随机数2116.2.2.2 应用接受-拒绝法生成泊松分布随机数2126.2.2.3 应用接受-拒绝法生成Gamma分布随机数2136.2.2.4 应用接受-拒绝法生成Beta分布随机数2136.2.3 单变量标准正态分布随机数2146.2.3.1 有理近似2146.2.3.2 Box-Muller方法2166.2.3.3 Marsaglia极方法2176.2.4 多变量正态随机数2186.2.5 Cholesky分解 2196.2.5.1 有特定相关性的多变量分布模拟2206.3 依赖模型2226.3.1 满秩高斯Copula模型2226.3.2 带高斯分布的Variance Gamma表示2226.3.3 独立Lévy过程的混合线性模型2226.4 布朗桥2236.5 蒙特卡罗积分2246.5.1 拟-蒙特卡罗方法2276.5.2 拉丁超立方体抽样法2286.6 随机微分方程的数值积分2286.6.1 Euler算法2296.6.2 Milstein算法2306.6.3 Runge-Kutta算法2306.7 不同模型下的SDEs模拟2316.7.1 几何布朗运动2316.7.2 Ornstein-Uhlenbeck过程2326.7.3 CIR过程2326.7.4 Heston随机波动率模型2326.7.4.1 完全截断算法2336.7.5 Variance Gamma过程2346.7.6 带随机抵达(VGSA)的Variance Gamma过程2366.8 输出/模拟 分析2406.9 方差缩减技术2416.9.1 控制变量法2416.9.2 对偶变量法2436.9.3 条件蒙特卡罗法2446.9.3.1 条件蒙特卡罗法的算法2456.9.4 重要性抽样法2476.9.4.1 应用重要性抽样进行方差缩减2486.9.5 分层抽样法2496.9.5.1 观察与发现2516.9.5.2 分层抽样法的算法 2516.9.6 一般随机数253习题254Ⅱ 校准与估计2597 模型校准2617.1 校验方法2637.1.1 一般方法2647.1.2 加权最小二乘法2647.1.3 正则化校验法2647.2 单一资产模型的校准2657.2.1 Black-Scholes 模型2657.2.2 局部波动率模型2667.2.2.1 欧式期权的正向偏微分方程2677.2.2.2 局部波动率面的构造2687.2.3 不变方差弹性(CEV)模型2717.2.4 Heston 随机波动率模型2727.2.5 混合模型随机局部波动率(SLV)模型2757.2.6 Variance Gamma模型2766.2.7 CGMY模型2777.2.8 带随机抵达的Variance Gamma模型2777.2.9 Lévy过程2817.3 利率模型2827.3.1 短期利率模型2857.3.1.1 Vasicek模型2857.3.1.2 Vasicek模型下的价格互换2877.3.1.3 替代的Vasicek模型校准2887.3.1.4 CIR模型2897.3.1.5 CIR模型下的价格互换2927.3.1.6 替代的CIR模型校准2937.3.1.7 Ho-Lee模型2947.3.1.8 Hull-White(扩展的Vasicek)模型2977.3.2 多因子短期利率模型2977.3.2.1 多因子Vasicek模型2987.3.2.2 多因子CIR模型2987.3.2.3 CIR双因子模型校准2997.3.2.4 CIR双因子模型下的价格互换2997.3.2.5 替代的CIR双因子模型校准3007.3.2.6 发现3027.3.3 仿射期限结构模型3037.3.4 远期利率模型(HJM)3047.3.4.1 HJM模型的时间离散3067.3.4.2 因子结构选择3077.3.5 LIBOR 市场模型3077.4 信用衍生品模型3087.5 模型风险3097.6 优化及优化方法3127.6.1 网格搜索3137.6.2 Nelder-Mead单纯形法3147.6.3 遗传算法3157.6.4 Davidson,Fletcher及Powell(DFP)方法3167.6.5 Powell法3167.6.6 对线性约束的输入应用去约束优化3177.6.7 有限制条件问题的信任域方法3187.6.8 期望最大化(EM)算法3197.7 折现率曲线的构造3197.7.1 LIBOR收益率3207.7.1.1 单一利率的折现因子3227.7.1.2 远期利率的折现因子3227.7.1.3 互换利率的折现因子3227.7.2 收益率曲线的构造3237.7.2.1 曲线短端的构造3237.7.2.2 曲线长端的构造3257.7.3 折现率曲线构造的多项式样条方法3267.7.3.1 Hermite差值法3277.7.3.2 自然三次样条插值法3287.7.3.3 张力样条插值法3287.8 期权费的套利限制331