4. 伊藤引理的量化应用:几何布朗运动与股票价格建模,Black-Scholes PDE的推导

好,咱们进入第四章。这一章可以说是整个随机微积分课程里最“值钱”的部分之一了。为什么这么说?因为从这里开始,我们手里的数学工具终于能和真实的金融市场接轨了。

我个人习惯把这一章叫做“从理论到钞票的桥梁”。你想想看,我们前面学了伊藤引理,学了随机过程,但这些东西到底怎么用?答案就在这一章——几何布朗运动(GBM)和Black-Scholes PDE。

4.1 为什么是几何布朗运动?

先问个问题:股票价格到底是怎么走的?

很多人第一反应是“随机游走”。嗯,没错,但不够精确。普通的布朗运动(也叫算术布朗运动)有个致命缺陷——它允许价格变成负数。你见过哪只股票价格是负的?反正我没见过。

所以我们需要一个模型,满足两个基本条件:

  • 价格始终为正
  • 收益率的波动与价格水平成正比

几何布朗运动(GBM)正好满足这两个要求。它的随机微分方程(SDE)长这样:

dS = μS dt + σS dW

这里:

  • S 是股票价格
  • μ 是漂移率(预期收益率)
  • σ 是波动率
  • dW 是标准布朗运动的增量

注意看,漂移项和扩散项前面都乘了一个 S。这意味着价格越高,绝对波动幅度越大。这很符合直觉——100块的股票一天波动1块很正常,但1块的股票一天波动1块就离谱了。

核心要点:GBM假设股票价格的对数收益率服从正态分布,而不是价格本身。这就是为什么价格永远不会为负。

4.2 用伊藤引理求解GBM

好,现在我们有SDE了,怎么解出S(t)的显式表达式?这时候伊藤引理就派上用场了。

我们设 f = ln(S),然后对f应用伊藤引理。我记得第一次手动推导这个的时候,算到一半还卡住了——因为忘了二阶项不能忽略。嗯,这里要特别小心。

伊藤引理告诉我们:

df = (∂f/∂S) dS + (1/2)(∂²f/∂S²) (dS)²

代入 f = ln(S):

  • ∂f/∂S = 1/S
  • ∂²f/∂S² = -1/S²
  • (dS)² = σ²S² dt

于是:

d(ln S) = (1/S)(μS dt + σS dW) + (1/2)(-1/S²)(σ²S² dt)
        = μ dt + σ dW - (1/2)σ² dt
        = (μ - σ²/2) dt + σ dW

看到了吗?神奇的事情发生了——对数价格变成了一个带漂移的普通布朗运动。积分一下就得到:

ln S(t) = ln S(0) + (μ - σ²/2)t + σ W(t)

再取指数:

S(t) = S(0) * exp[(μ - σ²/2)t + σ W(t)]

实战经验:我在做期权定价引擎的时候,模拟路径用的就是这个公式。注意那个 -σ²/2 项,很多人会漏掉它。漏掉之后模拟出来的价格会系统性偏高,回测时看着很漂亮,实盘就亏钱。我曾经就吃过这个亏。

4.3 从GBM到Black-Scholes PDE

接下来是重头戏——推导Black-Scholes PDE。这个过程说白了就是:构造一个无风险组合,然后利用无套利原理得到一个偏微分方程。

假设我们有一个期权 V(S, t),它的价值依赖于标的资产价格S和时间t。我们构造一个组合:

  • 买入1份期权
  • 卖出Δ份标的资产

这个组合的价值是:Π = V - Δ·S

为什么这么构造?目的是消除随机项。你想想看,如果Δ选得合适,dW项就能抵消掉,组合就变成无风险的。

对Π应用伊藤引理:

dΠ = dV - Δ dS
    = (∂V/∂t dt + ∂V/∂S dS + ½ σ²S² ∂²V/∂S² dt) - Δ (μS dt + σS dW)

整理一下:

dΠ = [∂V/∂t + μS ∂V/∂S + ½ σ²S² ∂²V/∂S² - Δ μS] dt
     + [σS ∂V/∂S - Δ σS] dW

要让dW项消失,我们需要:

Δ = ∂V/∂S

这就是传说中的“Delta对冲”。代入后:

dΠ = [∂V/∂t + ½ σ²S² ∂²V/∂S²] dt

现在组合是无风险的,所以它的收益率应该等于无风险利率r:

dΠ = r Π dt = r (V - S ∂V/∂S) dt

两边相等:

∂V/∂t + ½ σ²S² ∂²V/∂S² = r (V - S ∂V/∂S)

整理一下,就得到了著名的Black-Scholes PDE:

∂V/∂t + rS ∂V/∂S + ½ σ²S² ∂²V/∂S² - rV = 0

注意:这个PDE里没有μ!这意味着期权的定价与标的资产的预期收益率无关。这就是风险中性定价的核心思想——定价时我们假设所有投资者都是风险中性的,资产的预期收益率都等于无风险利率。

4.4 知识体系总览

下面这张图把本章的核心逻辑串起来了,我建议你多看几遍:

第4章 知识体系:从GBM到Black-Scholes PDE 股票价格建模 dS = μS dt + σS dW 伊藤引理 求解GBM S(t) = S₀·exp[(μ-σ²/2)t+σW] Delta对冲 Black-Scholes PDE ∂V/∂t + rS∂V/∂S + ½σ²S²∂²V/∂S² - rV=0 关键概念展开 几何布朗运动 • 价格始终为正 • 对数收益率正态分布 • 波动与价格成正比 伊藤引理应用 • 对ln(S)应用伊藤引理 • 二阶项不可忽略 • 得到显式解 无套利定价 • 构造无风险组合 • Delta对冲消除随机项 • 定价与μ无关 核心结论 GBM是股票价格的标准模型 → 伊藤引理给出显式解 → Delta对冲导出BS PDE → 风险中性定价

4.5 代码实现:模拟GBM路径

光说不练假把式。下面我用Python演示如何模拟GBM路径。这段代码我在实际项目中改过很多版,现在这个版本比较稳定:

import numpy as np
import matplotlib.pyplot as plt

def simulate_gbm(S0, mu, sigma, T, N, n_paths=5):
    """
    模拟几何布朗运动路径
    
    参数:
        S0: 初始价格
        mu: 年化收益率
        sigma: 年化波动率
        T: 时间长度(年)
        N: 时间步数
        n_paths: 模拟路径数
    """
    dt = T / N
    # 关键:用 (mu - 0.5*sigma**2) 而不是 mu
    drift = (mu - 0.5 * sigma**2) * dt
    vol = sigma * np.sqrt(dt)
    
    # 生成随机数
    Z = np.random.standard_normal((n_paths, N))
    
    # 计算对数价格增量
    dlnS = drift + vol * Z
    
    # 累积求和得到对数价格路径
    lnS = np.zeros((n_paths, N+1))
    lnS[:, 0] = np.log(S0)
    lnS[:, 1:] = np.log(S0) + np.cumsum(dlnS, axis=1)
    
    # 转回价格
    S = np.exp(lnS)
    
    return S

# 使用示例
S0 = 100.0      # 初始价格100
mu = 0.08       # 预期收益率8%
sigma = 0.2     # 波动率20%
T = 1.0         # 1年
N = 252         # 交易日数

paths = simulate_gbm(S0, mu, sigma, T, N, n_paths=10)

# 绘制路径
plt.figure(figsize=(10, 6))
for i in range(10):
    plt.plot(paths[i], lw=1, alpha=0.7)
plt.axhline(y=S0, color='black', linestyle='--', alpha=0.5)
plt.title('GBM模拟路径 (S₀=100, μ=8%, σ=20%)')
plt.xlabel('交易日')
plt.ylabel('价格')
plt.show()

避坑指南:我曾经在写模拟器的时候,直接用 μ 而不是 μ - σ²/2 作为漂移项。结果模拟10000次后,平均价格比理论值高出一大截。找了半天bug,最后发现是这里的问题。记住,对数价格的漂移是 μ - σ²/2,不是μ。

4.6 小结

这一章我们干了三件事:

  • 用几何布朗运动给股票价格建模
  • 用伊藤引理求出GBM的显式解
  • 通过Delta对冲推导出Black-Scholes PDE

说白了,就是从“股票价格怎么走”这个问题出发,一步步推导出“期权应该怎么定价”的偏微分方程。整个过程环环相扣,每一步都有清晰的金融直觉支撑。

我个人觉得,理解这个推导过程比记住最终公式更重要。因为当你真正理解了“为什么期权定价与预期收益率无关”这个反直觉的结论时,你对金融市场的理解就上了一个台阶。

好,这一章就到这儿。代码拿回去跑一跑,看看不同参数下路径长什么样。实践出真知。


专注资料整理