第4章 随机微分方程(SDE)入门:描述资产价格的动态

好,咱们今天来聊聊随机微分方程。说实话,这名字听着挺唬人的。但你别怕,它本质上就是个工具——用来描述资产价格怎么“随机”变动的工具。

我在做量化交易那几年,最深的体会就是:如果你不懂SDE,你根本没法真正理解期权定价和投资组合优化。那些漂亮的公式背后,全是SDE的影子。

4.1 为什么需要随机微分方程?

先问个问题:股票价格是确定的吗?

显然不是。你今天买进去,明天可能涨5%,也可能跌3%。没人能精确预测。那怎么办?

传统微分方程告诉我们:dS/dt = μS,意思是价格按固定速率增长。但现实世界哪有这么美好?

所以我们需要引入一个随机项——说白了,就是给确定性模型加点“噪音”。

核心思想:资产价格 = 确定性趋势 + 随机波动

4.2 从布朗运动说起

随机微分方程的基础,是布朗运动。你可能听说过这个名字——它最早用来描述花粉在水中的随机运动。

数学上,我们用 W(t) 表示标准布朗运动。它有这几个性质:

  • W(0) = 0,从零点出发
  • 增量独立:不同时间段的变动互不影响
  • 增量服从正态分布:W(t) - W(s) ~ N(0, t-s)

嗯,这里要注意:布朗运动的路径是连续的,但几乎处处不可导。什么意思?就是它一直在动,但你没法算它的“瞬时速度”。

我的经验:刚开始学的时候,我总想用普通微积分去处理布朗运动,结果算出来的东西全不对。后来才明白——布朗运动太“粗糙”了,普通导数对它不适用。

4.3 伊藤引理:随机微积分的核心

既然普通微积分不行,那怎么办?伊藤清(Kiyoshi Itô)给出了答案。

伊藤引理是随机微积分的“链式法则”。它告诉我们:如果一个随机过程 X(t) 满足SDE,那么它的函数 f(X(t), t) 也满足一个SDE。

公式长这样:

df = (∂f/∂t + μ ∂f/∂X + ½ σ² ∂²f/∂X²) dt + σ ∂f/∂X dW

你看,多了一项 ½ σ² ∂²f/∂X²。这就是随机微积分和普通微积分的区别——多了个二阶项。

为什么会这样?因为布朗运动的二次变分不为零。嗯,这个有点深,你先记住结论就行。

避坑指南:我曾经在写定价引擎时,直接用普通链式法则去推导期权价格,结果差了整整一个二阶项。后来排查了两天才发现——伊藤引理的那½项,千万不能漏!

4.4 几何布朗运动:股票价格的经典模型

好了,有了工具,咱们来看最常用的模型——几何布朗运动(GBM)。

它的SDE形式是:

dS = μ S dt + σ S dW

其中:

  • μ 是漂移率(预期收益率)
  • σ 是波动率(风险度量)
  • dW 是布朗运动增量

这个模型有个好处:价格永远不会变成负数(因为 S 在乘法中)。而且,它的对数收益率服从正态分布。

用伊藤引理,我们可以解出它的显式解:

S(t) = S(0) exp((μ - ½σ²)t + σ W(t))

你看,价格是指数形式的。这就是为什么我们常说“股票价格服从对数正态分布”。

实际应用:我在做风险管理系统时,就用GBM来模拟上千条资产价格路径。每条路径跑1000步,然后算VaR和CVaR。虽然模型简单,但够用。

4.5 更复杂的SDE模型

当然,GBM不是万能的。实际市场中,波动率会变,价格会有跳跃。所以有了更复杂的模型:

模型名称 SDE形式 特点
均值回复模型 dX = θ(μ - X)dt + σ dW 利率、汇率常用
Heston模型 dS = μS dt + √v S dW₁
dv = κ(θ - v)dt + σ√v dW₂
波动率随机变化
跳跃扩散模型 dS = μS dt + σS dW + J dN 考虑突发事件

我个人习惯:先用GBM做初步分析,如果发现波动率有明显聚集效应,再换Heston模型。别一上来就用复杂的,容易翻车。

4.6 数值模拟:用代码跑起来

理论说完了,咱们来点实际的。下面是用Python模拟GBM路径的代码:

import numpy as np
import matplotlib.pyplot as plt

# 参数设置
S0 = 100      # 初始价格
mu = 0.05     # 年化收益率
sigma = 0.2   # 年化波动率
T = 1.0       # 时间长度(年)
N = 252       # 交易日数
dt = T/N      # 时间步长

# 生成布朗运动
np.random.seed(42)
dW = np.random.normal(0, np.sqrt(dt), N)
W = np.cumsum(dW)

# 计算价格路径
t = np.linspace(0, T, N)
S = S0 * np.exp((mu - 0.5*sigma**2)*t + sigma*W)

# 画图
plt.plot(t, S)
plt.xlabel('时间(年)')
plt.ylabel('价格')
plt.title('几何布朗运动模拟')
plt.show()

这段代码我用了无数次。你跑一次就能看到:价格路径是连续的,但上下波动很大。这就是随机性的魅力。

小技巧:模拟多条路径时,记得用不同的随机种子。我一般跑10000条,然后取分位数做压力测试。

4.7 本章知识体系

下面这张图,帮你理清本章的核心逻辑:

随机微分方程(SDE)知识体系 为什么需要SDE? 确定性模型无法描述随机波动 布朗运动 W(t):随机性的基础 伊藤引理 随机微积分的链式法则 SDE定义 dX = μdt + σdW 几何布朗运动(GBM) dS = μS dt + σS dW 均值回复模型 利率、汇率建模 Heston模型 随机波动率 跳跃扩散模型 突发事件建模

这张图把本章内容串起来了。从“为什么需要SDE”出发,到布朗运动和伊藤引理这两个基础工具,再到最常用的GBM模型,最后扩展到更复杂的模型。你顺着这个逻辑走,就不会迷路。

4.8 小结

这一章我们聊了:

  • 随机微分方程是描述资产价格动态的核心工具
  • 布朗运动是随机性的数学基础
  • 伊藤引理是随机微积分的“秘密武器”
  • 几何布朗运动是最经典的股票价格模型
  • 实际中还有更复杂的模型,但GBM是起点

说实话,SDE这东西刚接触时确实有点绕。但只要你多写几行代码,多跑几次模拟,慢慢就找到感觉了。我当年也是从一脸懵到逐渐上手,花了大概两周时间。

下一章,咱们会把这些工具用到投资组合优化中。到时候你就知道,今天学的这些有多重要了。


专注资料整理