跳转到内容

有限差分期权定价:网格、稳定性与提前行权

仅供教育参考,不构成投资建议

有限差分期权定价把连续定价方程替换成标的价格与时间节点组成的网格,用相邻节点差值近似导数,并从到期支付向今天逐步倒推理论价值。没有方便闭式解时尤其有用,例如美式行权、障碍、时变输入和依赖边界的合约。

该方法不会让价格变得客观或可成交。输出取决于随机模型、合约支付、股息、波动率、利率、网格范围、边界条件、数值格式和收敛容差。未收敛网格给出的漂亮小数仍是错误答案。

在带连续股息率 q 的常参数 Black–Scholes 假设下,价值 V(S,t) 满足:

∂V/∂t + 0.5σ²S² ∂²V/∂S² + (r−q)S ∂V/∂S − rV = 0

选择价格节点 S_i=iΔSSmax,时间节点间隔为 Δt。到期时写入支付,例如 Put 的 max(K−S,0)。用相邻值近似 Delta,用中心二阶差分近似 Gamma,再在低价与高价边界条件下向前一时刻倒推。

  • **显式格式:**直接由已知层计算前一层,简单但有条件稳定;Δt 相对 ΔS 过大会产生震荡甚至不可能价格。
  • **隐式格式:**每步求解三对角线性系统,通常更稳定,但时间离散误差与计算工作较显式法更高。
  • **Crank–Nicolson:**在两个时间层平均空间算子;平滑解通常具有二阶时间精度,但到期支付折点或不连续特征会引发震荡,常用初始隐式步或 Rannacher 平滑处理。

美式期权每个节点必须满足:

V(S,t) ≥ 立即行权支付

估算继续持有价值后,取其与内在价值较大者,或求解等价线性互补问题。选择发生切换的边界就是自由行权边界。

考虑美式 Put:S=$95K=$100T=0.5 年、σ=25%r=4%q=0。取 Smax=$200ΔS=$1Δt=0.0005 年。到期时 $95 节点从内在价值 $5 开始。

向前倒推时,假设某个临近到期的 $95 节点得到继续持有价值 $6.18,求解器保留 $6.18,而不是立即行权价值 $5。在 $70 节点,若继续持有为 $29.72、立即行权为 $30,美式约束保留 $30。重复此过程即可构建价值曲面和近似提前行权边界。

价格节点 时间步 $95 处示例价值
100 250 $8.64
200 1,000 $8.68
400 4,000 $8.69

这些数字展示收敛记录,不是通用公平价值。最终实现应把欧式版本与 Black–Scholes 对比,把美式结果与足够深的二叉树或独立求解器对比,并细化网格直至价格与希腊值达到声明的容差。

  • 准确编码支付、行权方式、股息、障碍、观察日、结算和公司行动条款。
  • 说明随机过程,以及波动率、利率、股息或借券成本是否随价格和时间变化。
  • Smax 放得足够远并测试敏感度;方便的边界可能污染现价附近价值。
  • 针对实际合约推导边界条件,不盲目复用普通合约条件。
  • 同时细化 ΔSΔt,记录价格、Delta、Gamma 和行权边界收敛。
  • 检查显式稳定条件,并查找负价值、震荡或单调性违反。
  • 谨慎处理支付折点、障碍、离散股息和局部波动率插值。
  • 使用适当美式求解器并报告残差容差。
  • 用解析公式、无套利边界、树模型或独立代码核验特殊情形。
  • 区分数值误差、参数误差和模型误差;细化网格只能修正第一类。

市场核验仍需同一时间的 Bid/Ask。模型中点可能因偏斜、供需、对冲成本、费用、流动性、离散交易、跳空和模型风险偏离可成交价格。

  • “网格越细就保证价格正确。”它可能精确收敛到错误模型或支付。
  • “Crank–Nicolson 永远稳定准确。”稳定不防止震荡、边界误差或错误输入。
  • “美式价值就是欧式价值加固定溢价。”最优行权边界随状态与时间变化。
  • “PDE 自动处理跳空。”扩散 PDE 不含跳空,除非数值算子明确加入。
  • “匹配一个市场报价就验证了求解器。”校准可能掩盖数值或结构错误。
  • “理论价值就是交易信号。”它不保证 Bid、Ask、对冲或套利。