二次变分¶
在金融数学中, 二次变分 (Quadratic Variation)是一个重要的概念, 是随机过程在给定时间点的波动性,可以用来描述随机过程的波动性。
Why 二次变分?¶
定义 (Adatptivity, 可实时观测性, \(\mathcal{F} (t) \text{-measurable}\)). 对于一个随机过程 \((X_t)_{t\ge 0}\) 和某个 信息流 (filtration) \((\mathcal{F_t})_{t \geq 0}\), 若到时刻 \(t\) 为止, 你能拿到的全部信息 \(\mathcal{F_t}\) 已经足以确定 \(X_t\) 的值, 则称 \(X(t)\) 为 可实时观测 的. 严格地,
则称其为 可实时观测 的.
对于积分
其中 \(T\) 为时间 (恒正), \(W(t)\) 为布朗运动. 对于被积函数 \(\Delta (t)\) 其金融学意义为 \(t\) 时刻的\textbf{持仓}, 因而可以通过随机过程来刻画. 显然 \(\Delta(t)\) 是\textbf{可实时观测}的.
然而, 在处理这个积分时, 由于
- 布朗运动 \(W(t)\) 的增量, 独立于过往信息集合 \(\mathcal{F}(t)\),
- 持仓 \(\Delta(t)\) 完全 依赖于 \(\mathcal{F}(t)\).
可以理解成: \(W(t)\) 在任意小的区间中都无限抖动, 恼人的随机性导致导数处处不存在. 故这一积分在经典微积分的逻辑下没有意义.
二次变分¶
如前所述, 随机性导致了微积分的定义出现问题. 既然 "瞬时斜率" 不存在,我们或许可以尝试更粗糙的度量, 即只看增量平方, 以此来观察随机微积分的收敛性, 应运而生的是二次变分这一数学工具:
定义 (二次变分). 设 \(X=(X_t)_{t \ge 0}\) 为定义于滤子概率空间 \((\Omega, \mathcal F, (\mathcal F_t)_{t\ge 0}, \mathbb P)\) 上的连续半鞅. 对任意有限分割
称随机变量
为 \(X\) 在区间 \([0, t]\) 上的二次变分.
命题 (二次变分的性质). 二次变分具有以下基本性质:
-
适应性:\([X]_t\) 是 \(\mathcal F_t\)-可测的, 且关于 \(t\) 非降、右连续.
-
双线性:对任意两个连续半鞅 \(X, Y\), 存在唯一的协变分(covariation)
使得 \((X, Y)\mapsto [X, Y]_t\) 为对称双线性型.
- Ito 等距核心:对适应局部有界可料过程 \(H\), 有
随机积分能量守恒.
Python 实现¶
以下是一个简单的示例,展示如何使用 numpy 来模拟二次变分:
| Python | |
|---|---|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
在这个示例中:
f(x)是被积分的函数,这里我们使用f(x) = x^2作为示例。quad函数实现了二次变分算法,它接受被积分的函数f,积分的上下限a和下限b,以及分割数n。h是步长,计算为(b - a) / n。x是分割点的数组,y是这些点上的函数值。- 积分的近似值是通过将每个小区间上的函数值乘以步长
h并求和得到的。