作者:川总,清华大学学士、硕士、MIT博士、青云计划获得者。
公众号:川总写量化。1 引言
对量化投资感兴趣的人大概都听说过的 Black-Scholes 期权定价公式(又称 Black-Scholes-Merton 公式,下称 BS 公式)。它大概是将数学中随机过程(stochastic process)的概念运用到实际金融产品中的最著名的一个例子。美国华尔街的 Quant 职位面试中更是无一例外的会问到 BS 公式及其引申出来的相关问题,足见其地位。然而黑天鹅之父纳西姆·塔雷伯(Nassim Nicholas Taleb,以《黑天鹅效应》一书闻名于世)却对它嗤之以鼻,更是写过一篇题为 Why we have never used the Black-Scholes-Merton option pricing formula(为什么我们从来不用BS期权定价公式)来抨击它。
诚然,BS 公式在投资实践中能够起到多大的作用见仁见智。但我们想说的是,BS 公式仅仅是一结果,是随机分析(stochastic calculus)经过严谨的层层推演得到的产物。透过现象看本质,它背后蕴含着强大的数学体系,使得我们可以运用随机过程对股价、期权价格以及其他衍生品价格进行量化建模。掌握这套分析体系对于有志于在量化投资领域有所建树的人来说十分必要。
想要摸清楚这套随机分析体系并不容易。如果你在搜索引擎上查询 BS 公式的推导体系,一定会看到诸如“布朗运动”、“伊藤引理”、“随机微分方程”这些概念。它们都是这套分析体系中必不可少的组成部分,环环相扣,在随机分析的大框架下完美的联系在一起。熟悉这套分析框架的人可以充分的感受到这些基本模块无缝的组合在一起所展示出来的数学的魅力。而对于不熟悉它的人来说,这之中每一个概念都可能仿佛天书一般;即便是具有高等数学知识的人,想要很快的梳理出它们之间的逻辑联系也并不容易。
简单的说,(标准)布朗运动是一种最简单的连续随机过程,它是描述证券价格随机性的基本模型。而对于期权或其他衍生品这些金融工具,它们的价格是相关证券资产价格的函数。因此可以说证券价格是一个随机过程,而衍生品价格是该随机过程的函数。伊藤引理提供了对随机过程的函数做微分的框架;这对于衍生品的定价意义非凡(在此之前,人们是不知道如何对随机过程的函数做微分的)。通过伊藤引理,可以写出金融衍生品价格的随机微分方程,通过对其求解便可以得到衍生品价格的模型。BS 公式就是一个最简单的例子。
鉴于随机分析的重要性,我们决定用两期的量化核武研究专题来介绍它。行文会力争深入浅出,但也会包括必要的数学推导(这对理解相关概念至关重要)。
作为前篇,本文介绍布朗运动及其重要性质,同时指出使用几何布朗运动描述股价的合理性,最后会引出伊藤引理的最基本形式。此外,为避免将本文写成偏数学的技术性文章,文中也花了很多篇幅揭示布朗运动的性质对于股票投资的重要含义。
下一篇会进一步介绍伊藤引理的一般形式,并用它求解几何布朗运动,最后推导 BS 模型以及介绍 BS 公式(注:BS 模型是一个偏微分方程,而 BS 公式是一个解析形式的表达式)。希望通过这两篇文章的介绍,让感兴趣的读者直观的理解这个分析框架,并且能够感受到各个模块无缝地组合到一起而最终得到一个优雅的定价公式的数学之美。
2 布朗运动的发展和数学定义
1827 年英国植物学家罗伯特 • 布朗(Robert Brown)在使用显微镜观察水中花粉微粒运动时发现了微粒的无规则运动,但是当时并不能从物理学角度上很好的解释其成因。1905 年,爱因斯坦详细解释了布朗发现的这种运动:微粒的无规则运动是由水分子的撞击形成的。从那以后,布朗运动在物理学上的发展日臻完善。
相比之下,数学上对布朗运动的描述发展的要慢一些。严谨的定义并描述布朗运动由诺伯特 • 维纳(Norbert Wiener)在 1918 年提出,因此布朗运动(Brownian motion)又称为维纳过程(Wiener process)。
布朗运动是一个连续随机过程。一个随机过程是定义在时域或者空间域上的依次发生的一系列随机变量的集合。以时域为例,如果这些随机变量在整个实数时域上都有定义,那么这个随机过程为连续随机过程;反之,如果这些随机变量仅仅在时域上一些离散的点有定义,那么该随机过程为离散随机过程。
上面两张图分别为二维空间内和时域上的(一维)布朗运动轨迹。时域上的这个一维布朗运动走势和股票价格曲线的走势看着非常相似,这便引起了人们利用它来描述股票价格走势的兴趣。事实上,早在 1900 年一个名叫路易斯 • 巴舍利耶(Louis Bachelier)的法国小伙就在他的博士论文《投机理论》(Théorie de la spéculation)中使用布朗运动分析股票和期权的价格。
说几句题外话,这个法国小伙的研究比爱因斯坦给出布朗运动的物理解释还要早 5 年!比维纳提出布朗运动的数学定义更是早了 18 年!据说由于他把数学应用到了在当时比较未知的领域——股票研究——他在答辩时的反响并不好。但是现在看来,这个小伙才是研究金融数学的先驱!
下文会进一步解释为什么使用布朗运动来描述股价运动是合适的。现在,首先给出(一维)标准布朗运动(即维纳过程)的定义。
如果一个定义在非负实数(时域)t 上的连续随机过程 {B(t), t ≥ 0} 满足如下三个性质:
- B(0) = 0;
- 平稳性:对于所有的 0 < s < t,增量 B(t) – B(s) 符合均值为 0,方差为 t - s 的正态分布;
- 独立增量性:对于不重叠的区间 [s_i, t_i],随机变量 B(t_i) – B(s_i) 之间是相互独立的;
则 B(t) 是一个标准的布朗运动。
上述定义的白话解释是:标准布朗运动在 t = 0 时的位置为 0。在任何有限时间区间 Δt 内,布朗运动的变化满足均值为 0 方差为 Δt 的正态分布 N(0, Δt),其方差随时间区间的长度线性增加。独立增量性的意思是布朗运动在任何一个时间区间内的变化与其他与之不重叠的时间区间内的变化无关。由该性质可知,布朗运动是一个马尔科夫过程(Markov process),即该过程在任意 t 时刻之后的位置仅和 t 时刻的位置有关,与 t 之前的历史轨迹无关。换句话说,该过程的当前值就包含了对其未来做预测所需的全部信息。
3 布朗运动的性质
(标准)布朗运动有很多有意思的性质,它们对于使用布朗运动及其变化来描述股票价格有非常重要的含义。这些性质包括:
- 它的轨迹会频繁的穿越时间轴 t(在时间轴上下往复波动);
- 在任意时刻 t,它的位置 B(t) 不会偏离正负一个标准差太远;
- 令 M(t) 为 0 到 t 时刻内的布朗运动 B(t) 所能到达的最大值,即 M(t) = max_{0≤s≤t}B(t),则“ M(t) 不小于任意给定阈值 a 的概率”等于“ B(t) 不小于任意给定阈值 a 的概率的两倍”,即 Prob(M(t) ≥ a) = 2Prob(B(t) ≥ a);
- 布朗运动虽然连续,但是它处处不可微分(这是非常关键的一个性质)。
首先来解释前两个性质。下图给出了 0 到 t 时刻内 15 条标准布朗运动的样本轨迹。尽管它们呈现出各自的随机性,但基本上每条轨迹都往复的穿越 y=0 这条线(即时间轴 t),仅有个别的样本轨迹在 y=0 的单边震荡(对于这些轨迹,随着 t 的增加,它们也一定会穿越 t 轴的)。此外,黑色的抛物线是方程 t=y^2 的曲线。可以看到,虽然每条样本轨迹都有足够的随机性,但是在 t 时刻,它们都不会偏离这条抛物线上的点 B(0) ± 根号 t 太远。下图右侧是 t 时刻均值为 0 方差为 t 的正态分布的概率密度函数。这条抛物线的范围对应的就是该正态分布正负一个标准差之内的变化。
假设我们使用布朗运动来描述股价日内的高频走势(下文会说明更加准确的描述股价的模型是带漂移项的几何布朗运动,但在此作为一个简单的例子,假设使用布朗运动来描述股价),这两个性质意味着股价很大概率会在开盘价上下波动,而非一直维持在开盘价上方或者下方;此外,随着交易时间的推移,在t时刻股票的价格不会偏离“开盘价 ± 根号 t × 价格波动的标准差”太远。这些性质对于想根据日内高频数据进行投机操作的人非常重要。之前的文章《错过开盘,不一定是“过错”》也对此有一些实证,它指出日内股价在很大概率上会再次到达开盘区间内出现的价格,而非单边震荡。
第三条性质给出了量化 t 时刻内布朗运动极值的概率模型。由于 B(t) 是满足均值为 0 方差为 t 的正态分布,因此 Prob(M(t) ≥ a) = 2Prob(B(t) ≥ a) 这个结果可以让我们非常容易的求出 Prob(M(t) ≥ a) 的概率,即
其中 Φ 是标准正态分布的累积分布函数。上式可以通过布朗运动的马尔科夫性和反射性证明,在这里不在赘述。同样的,如果令 m(t) 为 0 到 t 时刻内的布朗运动 B(t) 所能到达的最小值,即 m(t) = min_{0≤s≤t}B(t),则再次利用反射性不难推导出 B(t) 的最小值低于给定阈值 a 的概率:
如果用布朗运动来描述股价,那么上述结果可以量化股价极值的概率分布。这对风控以及在买卖股票时计算合理的限价单价格都是很有帮助的。
最后一个性质是布朗运动作为随机过程的一个至关重要的性质,即它虽然连续,但是它处处不可微分(这一点可以通过利用中值定理以及性质三的结论,使用反证法来证明)。这从直观上非常好理解。再来看看上面那 15 条布朗运动的样本轨迹,每一条都一直在上下波动、充分地展示了其随机性。显然,布朗运动的轨迹和我们熟悉的任何连续、平滑的方程轨迹完全不同。
不可微分性意味着古典微积分(classical calculus)中的分析手段在布朗运动面前黯然失效。这在当时无疑是个令人沮丧的消息。因为人们好不容易找到了一个简单实用的随机过程,但却缺少进一步研究它的手段。然而,这一切都随着伊藤微积分(Itō calculus)的出现而迎刃而解。毫不夸张的说,伊藤微积分奠定了现代金融数学的基础。
4 二次变分
考虑时间区间 [0, T] 和该区间内的一个划分 Π = {0 = t_0 < t_1 < t_2 < … < t_N = T},则对于任意一个连续函数 f(t),它的二次变分(quadratic variation)定义为:
对于一个连续且在 0 到 T 内处处可微的函数 f(t),通过利用古典微积分中的中值定理很容易得到如下不等式:
这说明随着对时间区间 [0, T] 越来越细的划分,即 max_i{t_[i+1] - t_i}趋于0,这个连续且处处可微的函数 f(t) 的二次变分为 0。
那么,如果将 f(t) 换为布朗运动 B(t) 会怎样呢?不要忘了,它虽然连续,但是处处不可微。关于 B(t) 的二次变分有如下定理:
随着对时间区间 [0, T] 越来越细的划分,即 max_i{t_[i+1] - t_i}趋于0,B(t) 的二次变分等于 T,即
其中 |Π| = max_i{t_[i+1] - t_i}。
布朗运动的这个性质可以通过独立同分布随机变量的大数定理证明。对它的白话说明是,作为一个随机过程,布朗运动的二次变分是 T 而不是 0(与之相对应的是,连续可微函数的二次变分为 0)。如何理解它呢?
考虑下面这个示意图。其中蓝色曲线为布朗运动的轨迹,红点为时间划分点对应的该轨迹的位移。显然,(B(t_[i+1]) – B(t_i))^2 为任意相邻两个时间点的位移差的平方。二次变分就是这些逐段位移差的累积平方和。
对于一个普通的连续可微函数,随着对区间T越来越细的划分,它的二次变分趋于 0。然而对于布朗运动,其非 0 的二次变分说明随机性使得它的波动太频繁,以至于不管我们如何细分区间 T、得到多么微小的划分区间,这些微小区间上的位移差的平方逐段累加起来的总和都不会消失(即二次变分不为 0),而是等于这个区间的长度 T!这是布朗运动的一个非常重要的性质。
布朗运动的二次变分公式也可以写作如下所示的无穷小量(infinitesimal difference)的形式:
码了这么多的字来解释二次变分,当然不是为了用它说明布朗运动的波动太频繁;在本文第六节可以看到,二次变分在推导伊藤引理时有非常重要的意义。
5 用几何布朗运动描述股价
前文介绍了标准布朗运动,它在任意长度为 t 内的分布是均值为 0 方差为 t 的正态分布。现在,考虑给标准布朗运动加上一个仅和时间 t 有关的漂移项 μt,以及一个尺度参数 σ,便得到一个带漂移的布朗运动(Brownian motion with drift),记作 X(t) = μt + σB(t)。它在任意长度 t 内的分布满足均值为 μt,方差为 (σ^2)t 的正态分布。考虑无穷小量的形式,上式写作
这是一个随机微分方程(stochastic differential equation)。随机微分方程是普通微分方程的延伸,不同之处在于前者之中至少包括一项随机过程。注意,上式与布朗运动不可微并不矛盾。虽然 B(t) 处处不可微,但是 dB(t) 仍有明确的含义,它表示布朗运动在一个无穷小的时间间隔内的变化。
即便是有了带漂移项和尺度参数的布朗运动 X(t),它仍然不是描述股价运动的最佳选择。这是因为 X(t),或者 B(t),的取值随着时间 t 的变化可以是负数,但是股票的价格显然不能是负数。股价虽然不能是负数,但是股票的收益率却有正有负,因此 X(t) 可以被用来描述收益率。
假设 S(t) 为股票的价格,则 dS(t) 为股价在无穷小的时间间隔内的变化量,而 dS(t)/S(t) 就是这段间隔内的收益率,因此有
因此 S(t) 的随机微分方程为:
满足上述随机微分方程的股价 S(t) 是一个几何布朗运动。人们喜欢使用几何布朗运动来描述股价的原因是:
- 正态分布:经验事实证明,股票价格的连续复利收益率近似地服从正态分布;
- 马尔科夫过程:由布朗运动的性质可知,服从上述模型的股票价格是一个马尔科夫过程,即当前价格就包含了对其未来做预测所需的全部信息,这与弱有效市场假说相符;
- 布朗运动在时间上处处不可微以及二次变分不为零的性质符合股票收益率在时间上存在转折尖点的特征。
当然,为了使用 S(t) 对股价进行分析,必须能够求解上述随机微分方程。这需要用到伊藤微积分中的相关内容。因此关于 S(t) 的求解将会在本系列的后篇中具体介绍。
在结束本节之前,再来看一个关于带漂移项的布朗运动的有意思的例子。考虑一个正实数 μ,令 X(t) = μt + B(t)。由于 B(t) 的期望为 0,因此 X(t) 的期望为 E[X(t)] = μt。我们好奇的是,随着时间 t 的推移,X(t) 的取值到底是由 μt 主宰还是由 B(t) 主宰。事实上,可以证明,X(t) 的取值是由 μt 支配。对于任何给定的 ε,只要时间 t 足够长,那么可以证明 X(t) 总会在 y = (μ – ε)t 和 y = (μ + ε)t 之间!
怎么样?有没有从这个例子中受到什么启发?它说明,如果我们坚信股市长期来看有慢牛行情(μ > 0),那么我们就应该欣然的接受它的任何(短期)波动而坚持持股(即忽略 B(t) 的随机性造成的扰动)。因为长期来看股价的变化是由 μt 决定的。我猜巴菲特一定是个数学家,他一定深谙此道,且通过其价值投资体系使得他的投资组合有着比美股指数更高的 μ,因此获得了长期稳定的超额收益。
6 伊藤引理
布朗运动为人们研究股票价格提供了基础。然而,对于金融衍生品,它们的价格是股票价格的函数。令 f(B_t) 为布朗运动 B_t 的连续平滑函数,在金融数学领域的一个重要的分析课题是研究在无穷小的时间区间内 f 是如何变化的,即 df 的性质。由下文可知,由于布朗运动是不可微的,古典微积分对于求解 df 无能为力,而日本数学家伊藤清(Itō Kiyoshi)提出了与古典微积分不同的伊藤微积分打开了解决这个问题的大门,并为随机分析奠定了坚实的基础。
让我们首先来看看古典微积分是如何失效的。为求 df(f 是布朗运动 B_t 的连续平滑函数),应用古典微积分中的链式法则(chain rule)可得:
由于布朗运动 B_t 处处不可微,因此导数 dB_t/dt 不存在,所以上式没有意义。第一次尝试失败。
那么我们能不能绕过 dB_t/dt 呢,而仅仅使用 dB_t 呢?前文已经指出 dB_t 有明确的含义,它表示布朗运动在一个无穷小的时间间隔内的变化。因此我们有:
在这个表达式下,f’(B_t) 是可求的(因为 f 是一个连续平滑函数),而 dB_t 也是可求的。看似我们绕过了 B_t 处处不可微的问题。不幸的是,上面这个等式是不成立的。第二次尝试依然以失败收场。
来看看上面这个式子为什么是错的。不要忘了,它实际上来自泰勒展开(Taylor expansion)。考虑一个一般函数 f(x) 的泰勒展开:
事实上,对于一般的函数,由泰勒展开确实有 df = f’(x)dx,这是因为当 Δx 趋近于 0 时,上式右侧中除了第一项 f’(x) Δx 外,其他所有项相当于第一项都是高阶小量、可以被忽略,因此上式的无穷小量的形式就是 df = f’(x)dx。但是,当 x = B_t 时,这个性质并不成立。将 x 替换为 B_t 代入上式:
显然,在上式右侧中,第一项 f’(B_t)ΔB_t 是重要的。那么其他项相对它来说可以忽略吗?你也许已经猜到答案了:二次变分 (dB)^2 = dt!因为布朗运动的二次变分非 0,因此上式右侧的第二项相对于第一项不是更高阶的小量,而是同阶的,因此它不能被略去(从第三项之后仍然是相对前两项的高阶小量,可以被忽略)。在无穷小量形式下忽略掉右侧第三项开始之后的所有项,并利用 (dB)^2 = dt,我们得到伊藤引理(Itō's lemma)的最基本形式:
它也是伊藤微积分中的基本关系式。
更一般的,如果一个平滑函数 f 是时间 t 和某标量 x 的函数,由古典微积分可知:
如果 x 为布朗运动 B_t,则由伊藤微积分有:
可见,布朗运动的二次变分造成求解 df 时,必须在古典微积分的基础上考虑一个额外项。它就是f对标量项(这里,标量是 B_t 的取值)的二阶导数(如果 f 仅仅是 B_t 的函数)或者二阶偏导数(如果 f 即是 B_t 的函数又是 t 的函数)。这个结论,现在看来“不怎么起眼”,但是它改变了一切,它使人们可以将微积分运用到随机过程中。
我们会在本系列后篇中从伊藤引理出发继续阐述如何求解几何布朗运动的随机微分方程以及如何推导出 BS 期权定价公式。
7 小结
首先恭喜你看到这里……随机分析绝不是一个令人愉悦的课题;这篇文章也比我想象的写起来更加耗时,原因是我想尽可能把复杂的概念简单的说清楚,并把数学模型和股票波动联系起来。
让我们来简单总结一下本文都说了点啥。
布朗运动是一个用来描述股价走势的有效模型。它的马尔科夫性符合弱有效市场假说。通过反射性,很容易计算出布朗运动在一段时间内能够到达的极值的概率分布,这对于投资中的风控至关重要。进一步的,几何布朗运动可以作为对股价建模的更精确的模型。从长期来看,几何布朗运动的走势由漂移项控制,这意味着对于慢牛的市场我们要做的是坚定价值投资、长期持股、忽视股价短期由随机游走带来的波动。
另一方面,布朗运动虽然连续,但是它处处不可微,这和股价的剧烈波动上蹿下跳给人的感受是一致的。在金融数学中,很重要的课题是分析随机过程的函数(比如衍生品的价格是股票价格的函数)在无穷小的时间区间内如何变化,但布朗运动的不可微性和二次变分使得古典微积分对它无能为力。日本数学家伊藤清提出了古典微积分的变种——伊藤微积分,它考虑了布朗运动的二次变分,从而提供了使用微积分的手段分析随机过程及其函数的框架,奠定了现代金融数学的基础。