美式期权定价的数值方法:有限差分法
字数 3808 2025-10-31 08:19:59

美式期权定价的数值方法:有限差分法

好的,我们开始学习“美式期权定价的数值方法:有限差分法”。这个方法是在你已了解的布莱克-舒尔斯-默顿偏微分方程(BSM PDE)和偏微分方程数值解法的基础上,专门用于处理美式期权这种具有提前执行特性的衍生品定价问题的核心技术。

第一步:回顾美式期权与定价的核心挑战

  1. 美式期权的特性:与欧式期权只能在到期日行权不同,美式期权可以在到期日之前的任何时刻行权。这种“提前执行”的权利使其定价变得复杂。
  2. 定价的数学本质:美式期权的定价问题是一个“自由边界问题”。我们不仅要解出期权的价值,还需要同时确定一个“最佳执行边界”。在这个边界之上(对于看跌期权)或之下(对于看涨期权),提前执行期权对持有人是最优的。
  3. 问题表述:美式期权(以看跌期权为例)的价值 \(P(S, t)\) 必须满足以下不等式组:
    • BSM PDE 不等式:在未提前执行的区域,期权价值仍然遵循(或至少不违背)BSM PDE的原理,但需以不等式的形式表达:

\[ \frac{\partial P}{\partial t} + \frac{1}{2}\sigma^2S^2\frac{\partial^2 P}{\partial S^2} + rS\frac{\partial P}{\partial S} - rP \leq 0 \]

*   **提前执行价值条件**:在任何时刻,期权的价值至少等于其立即行权的收益(内在价值):

\[ P(S, t) \geq \max(K - S, 0) \]

*   **互补条件**:上述两个条件不能同时严格成立。也就是说,在BSM PDE严格等号成立的区域(持有区域),期权价值大于行权收益;在期权价值等于行权收益的区域(执行区域),BSM PDE的不等号成立。这个“或”的关系就是互补条件。

第二步:将连续问题转化为离散问题——网格划分

有限差分法的核心思想是用一个离散的网格来逼近连续的资产价格 \(S\) 和时间 \(t\) 空间。

  1. 建立网格
  • 价格维度 (S):我们设定一个最大资产价格 \(S_{max}\)(例如,远高于行权价 \(K\)),然后将价格区间 \([0, S_{max}]\) 划分为 \(N\) 个等间隔的段。网格点上的价格为 \(S_i = i \cdot \Delta S\),其中 \(i = 0, 1, 2, ..., N\)\(\Delta S = S_{max} / N\)
  • 时间维度 (t):将时间从到期日 \(T\) 回溯到当前0时刻,划分为 \(M\) 个等间隔的段。网格点上的时间为 \(t_j = j \cdot \Delta t\),其中 \(j = M, M-1, ..., 0\)\(\Delta t = T / M\)。注意我们是从到期日向回计算,这被称为“倒退时间” \(\tau = T - t\),此时BSM PDE中的时间导数项 \(\frac{\partial P}{\partial t}\) 会变为 \(-\frac{\partial P}{\partial \tau}\)
  1. 目标:我们的目标是计算出网格上每一个点 \((S_i, t_j)\) 的期权价值 \(P_i^j\)

第三步:用差分近似微分——离散化BSM PDE

我们在网格点上用差分商来近似BSM PDE中的偏导数。

  1. 时间导数:采用隐式差分(更稳定),在点 \((S_i, t_j)\) 处:

\[ \frac{\partial P}{\partial t} \approx \frac{P_i^{j} - P_i^{j-1}}{\Delta t} \]

  1. 价格一阶导数:采用中心差分:

\[ \frac{\partial P}{\partial S} \approx \frac{P_{i+1}^{j} - P_{i-1}^{j}}{2 \Delta S} \]

  1. 价格二阶导数:同样采用中心差分:

\[ \frac{\partial^2 P}{\partial S^2} \approx \frac{P_{i+1}^{j} - 2P_i^{j} + P_{i-1}^{j}}{(\Delta S)^2} \]

  1. 构建离散方程:将上述近似代入BSM PDE(以倒退时间 \(\tau\) 形式),对于每个内部网格点 \((S_i, t_j)\) (即 \(i=1,2,...,N-1\)),我们可以得到一个方程:

\[ - \frac{P_i^{j} - P_i^{j-1}}{\Delta t} + \frac{1}{2}\sigma^2S_i^2 \left( \frac{P_{i+1}^{j} - 2P_i^{j} + P_{i-1}^{j}}{(\Delta S)^2} \right) + rS_i \left( \frac{P_{i+1}^{j} - P_{i-1}^{j}}{2 \Delta S} \right) - rP_i^{j} = 0 \]

整理后,这个方程可以写成:

\[ a_i P_{i-1}^{j} + b_i P_i^{j} + c_i P_{i+1}^{j} = P_i^{j-1} \]

其中 \(a_i, b_i, c_i\) 是由 \(S_i, \Delta S, \Delta t, r, \sigma\) 决定的系数。这个方程表明,在 \(j\) 时间层的三个未知值 \((P_{i-1}^{j}, P_i^{j}, P_{i+1}^{j})\)\(j-1\) 时间层的一个已知值 \(P_i^{j-1}\) 相关联。

第四步:处理美式期权的提前执行约束——线性互补问题

这是有限差分法用于美式期权的关键一步。我们不能简单地求解第三步得到的线性方程组,因为解必须满足提前执行约束。

  1. 将问题重述为线性互补问题 (LCP):在每一个时间步 \(j\),当我们从 \(j-1\) 层向 \(j\) 层回溯时,我们需要寻找一组解 \(P^j\),使其满足:
  • 约束条件\(P_i^j \geq \max(K - S_i, 0)\) (对于看跌期权)。
  • 方程条件: 如果 \(P_i^j > \max(K - S_i, 0)\)(即持有更优),那么离散化的PDE方程必须成立。
  • 互补条件\((P_i^j - \max(K - S_i, 0)) \times (\text{离散PDE方程的左端项}) = 0\)。这意味着两者必有一个为零。
  1. 直观理解:在每一个时间步,对于每一个资产价格点 \(S_i\),我们都有两个选择:
  • 选择一:持有期权。其价值由BSM PDE决定,即我们求解离散方程得到的 \(P_{i, hold}^j\)
  • 选择二:立即行权。其价值为内在价值 \(I_i = \max(K - S_i, 0)\)
  • 理性决策:期权的真实价值 \(P_i^j\) 应该是这两个值中的较大者:

\[ P_i^j = \max(P_{i, hold}^j, I_i) \]

这个简单的“取最大值”操作,恰恰就是线性互补问题在离散网格上的体现和最终解法。

第五步:求解过程——时间步进与投影

现在我们将所有步骤组合起来,形成完整的算法:

  1. 设定终端条件:在到期日 \(j=M\)(即 \(t=T\)),期权的价值是确定的:

\[ P_i^M = \max(K - S_i, 0) \quad \text{对于所有 } i \]

  1. 回溯计算:从 \(j=M\) 开始,一步步向后回溯到 \(j=0\)(当前时刻)。
  • a. 求解“持有价值”:假设在时间层 \(j\) 不能提前执行,那么 \(P_{hold}^j\) 应该满足由第三步得到的大型线性方程组 \(A P^j = P^{j-1}\)(其中 \(A\) 是由系数 \(a_i, b_i, c_i\) 构成的三对角矩阵)。这个方程组可以使用高效的三对角矩阵算法(TDMA)求解。
    • b. 应用提前执行约束:将“持有价值”与立即行权价值进行比较,得到该时间层的真实期权价值:

\[ P^j = \max(P_{hold}^j, I) \]

    这一步在数值上称为“投影”操作。它将解投影到满足约束的可行域内。
  1. 重复:将 \(P^j\) 作为已知值,重复步骤a和b,计算 \(j-1\) 层,直到回溯至初始时刻 \(j=0\)

  2. 获取定价结果:初始时刻 \(j=0\) 对应的价格向量 \(P^0\) 中,与当前资产价格 \(S_0\) 最接近的网格点 \(S_i\) 上的值 \(P_i^0\),就是所求的美式期权当前价值的近似值。

总结
有限差分法通过离散化将美式期权定价的连续自由边界问题,转化为一系列离散时间步上的线性互补问题。其核心算法是:在每一个时间步,先通过求解线性方程组得到“持有期权”的理论价值,再通过一个简单的“取最大值”操作,将提前执行的权利价值嵌入到期权价格中。这种方法能稳定且高效地计算出美式期权的价值,并同时清晰地给出最佳执行边界的近似位置。

美式期权定价的数值方法:有限差分法 好的,我们开始学习“美式期权定价的数值方法:有限差分法”。这个方法是在你已了解的布莱克-舒尔斯-默顿偏微分方程(BSM PDE)和偏微分方程数值解法的基础上,专门用于处理美式期权这种具有提前执行特性的衍生品定价问题的核心技术。 第一步:回顾美式期权与定价的核心挑战 美式期权的特性 :与欧式期权只能在到期日行权不同,美式期权可以在到期日之前的任何时刻行权。这种“提前执行”的权利使其定价变得复杂。 定价的数学本质 :美式期权的定价问题是一个“自由边界问题”。我们不仅要解出期权的价值,还需要同时确定一个“最佳执行边界”。在这个边界之上(对于看跌期权)或之下(对于看涨期权),提前执行期权对持有人是最优的。 问题表述 :美式期权(以看跌期权为例)的价值 \(P(S, t)\) 必须满足以下不等式组: BSM PDE 不等式 :在未提前执行的区域,期权价值仍然遵循(或至少不违背)BSM PDE的原理,但需以不等式的形式表达: \[ \frac{\partial P}{\partial t} + \frac{1}{2}\sigma^2S^2\frac{\partial^2 P}{\partial S^2} + rS\frac{\partial P}{\partial S} - rP \leq 0 \] 提前执行价值条件 :在任何时刻,期权的价值至少等于其立即行权的收益(内在价值): \[ P(S, t) \geq \max(K - S, 0) \] 互补条件 :上述两个条件不能同时严格成立。也就是说,在BSM PDE严格等号成立的区域(持有区域),期权价值大于行权收益;在期权价值等于行权收益的区域(执行区域),BSM PDE的不等号成立。这个“或”的关系就是互补条件。 第二步:将连续问题转化为离散问题——网格划分 有限差分法的核心思想是用一个离散的网格来逼近连续的资产价格 \(S\) 和时间 \(t\) 空间。 建立网格 : 价格维度 (S) :我们设定一个最大资产价格 \(S_ {max}\)(例如,远高于行权价 \(K\)),然后将价格区间 \([ 0, S_ {max}]\) 划分为 \(N\) 个等间隔的段。网格点上的价格为 \(S_ i = i \cdot \Delta S\),其中 \(i = 0, 1, 2, ..., N\),\(\Delta S = S_ {max} / N\)。 时间维度 (t) :将时间从到期日 \(T\) 回溯到当前0时刻,划分为 \(M\) 个等间隔的段。网格点上的时间为 \(t_ j = j \cdot \Delta t\),其中 \(j = M, M-1, ..., 0\),\(\Delta t = T / M\)。注意我们是从到期日向回计算,这被称为“倒退时间” \(\tau = T - t\),此时BSM PDE中的时间导数项 \(\frac{\partial P}{\partial t}\) 会变为 \(-\frac{\partial P}{\partial \tau}\)。 目标 :我们的目标是计算出网格上每一个点 \((S_ i, t_ j)\) 的期权价值 \(P_ i^j\)。 第三步:用差分近似微分——离散化BSM PDE 我们在网格点上用差分商来近似BSM PDE中的偏导数。 时间导数 :采用 隐式差分 (更稳定),在点 \((S_ i, t_ j)\) 处: \[ \frac{\partial P}{\partial t} \approx \frac{P_ i^{j} - P_ i^{j-1}}{\Delta t} \] 价格一阶导数 :采用中心差分: \[ \frac{\partial P}{\partial S} \approx \frac{P_ {i+1}^{j} - P_ {i-1}^{j}}{2 \Delta S} \] 价格二阶导数 :同样采用中心差分: \[ \frac{\partial^2 P}{\partial S^2} \approx \frac{P_ {i+1}^{j} - 2P_ i^{j} + P_ {i-1}^{j}}{(\Delta S)^2} \] 构建离散方程 :将上述近似代入BSM PDE(以倒退时间 \(\tau\) 形式),对于每个 内部网格点 \((S_ i, t_ j)\) (即 \(i=1,2,...,N-1\)),我们可以得到一个方程: \[ \frac{P_ i^{j} - P_ i^{j-1}}{\Delta t} + \frac{1}{2}\sigma^2S_ i^2 \left( \frac{P_ {i+1}^{j} - 2P_ i^{j} + P_ {i-1}^{j}}{(\Delta S)^2} \right) + rS_ i \left( \frac{P_ {i+1}^{j} - P_ {i-1}^{j}}{2 \Delta S} \right) - rP_ i^{j} = 0 \] 整理后,这个方程可以写成: \[ a_ i P_ {i-1}^{j} + b_ i P_ i^{j} + c_ i P_ {i+1}^{j} = P_ i^{j-1} \] 其中 \(a_ i, b_ i, c_ i\) 是由 \(S_ i, \Delta S, \Delta t, r, \sigma\) 决定的系数。这个方程表明,在 \(j\) 时间层的三个未知值 \((P_ {i-1}^{j}, P_ i^{j}, P_ {i+1}^{j})\) 与 \(j-1\) 时间层的一个已知值 \(P_ i^{j-1}\) 相关联。 第四步:处理美式期权的提前执行约束——线性互补问题 这是有限差分法用于美式期权的关键一步。我们不能简单地求解第三步得到的线性方程组,因为解必须满足提前执行约束。 将问题重述为线性互补问题 (LCP) :在每一个时间步 \(j\),当我们从 \(j-1\) 层向 \(j\) 层回溯时,我们需要寻找一组解 \(P^j\),使其满足: 约束条件 : \(P_ i^j \geq \max(K - S_ i, 0)\) (对于看跌期权)。 方程条件 : 如果 \(P_ i^j > \max(K - S_ i, 0)\)(即持有更优),那么离散化的PDE方程必须成立。 互补条件 : \((P_ i^j - \max(K - S_ i, 0)) \times (\text{离散PDE方程的左端项}) = 0\)。这意味着两者必有一个为零。 直观理解 :在每一个时间步,对于每一个资产价格点 \(S_ i\),我们都有两个选择: 选择一:持有期权 。其价值由BSM PDE决定,即我们求解离散方程得到的 \(P_ {i, hold}^j\)。 选择二:立即行权 。其价值为内在价值 \(I_ i = \max(K - S_ i, 0)\)。 理性决策 :期权的真实价值 \(P_ i^j\) 应该是这两个值中的较大者: \[ P_ i^j = \max(P_ {i, hold}^j, I_ i) \] 这个简单的“取最大值”操作,恰恰就是线性互补问题在离散网格上的体现和最终解法。 第五步:求解过程——时间步进与投影 现在我们将所有步骤组合起来,形成完整的算法: 设定终端条件 :在到期日 \(j=M\)(即 \(t=T\)),期权的价值是确定的: \[ P_ i^M = \max(K - S_ i, 0) \quad \text{对于所有 } i \] 回溯计算 :从 \(j=M\) 开始,一步步向后回溯到 \(j=0\)(当前时刻)。 a. 求解“持有价值” :假设在时间层 \(j\) 不能提前执行,那么 \(P_ {hold}^j\) 应该满足由第三步得到的大型线性方程组 \(A P^j = P^{j-1}\)(其中 \(A\) 是由系数 \(a_ i, b_ i, c_ i\) 构成的三对角矩阵)。这个方程组可以使用高效的三对角矩阵算法(TDMA)求解。 b. 应用提前执行约束 :将“持有价值”与立即行权价值进行比较,得到该时间层的真实期权价值: \[ P^j = \max(P_ {hold}^j, I) \] 这一步在数值上称为“投影”操作。它将解投影到满足约束的可行域内。 重复 :将 \(P^j\) 作为已知值,重复步骤a和b,计算 \(j-1\) 层,直到回溯至初始时刻 \(j=0\)。 获取定价结果 :初始时刻 \(j=0\) 对应的价格向量 \(P^0\) 中,与当前资产价格 \(S_ 0\) 最接近的网格点 \(S_ i\) 上的值 \(P_ i^0\),就是所求的美式期权当前价值的近似值。 总结 有限差分法通过离散化将美式期权定价的连续自由边界问题,转化为一系列离散时间步上的线性互补问题。其核心算法是:在每一个时间步,先通过求解线性方程组得到“持有期权”的理论价值,再通过一个简单的“取最大值”操作,将提前执行的权利价值嵌入到期权价格中。这种方法能稳定且高效地计算出美式期权的价值,并同时清晰地给出最佳执行边界的近似位置。