4. 二叉树模型入门

Black-Scholes 公式给出的是连续时间下的解析解,而二叉树模型则用离散的“树状分支”逼近期权价格。理解二叉树,是理解风险中性定价、蒙特卡洛模拟乃至有限差分法的起点。本节聚焦最基础的单期二叉树,把上涨因子、下跌因子、风险中性概率和现值计算这四个核心概念一次讲透。

一、核心原理:单期二叉树在描述什么

单期二叉树假设:当前时刻为 0,标的资产价格为 S₀;经过一个时间步长 Δt 后,价格只有两种可能——上涨到 S₀·u,或下跌到 S₀·d。其中 u 称为上涨因子,d 称为下跌因子,通常满足 u > 1、0 < d < 1。期权在到期日只有两个收益值,分别对应上涨和下跌两种状态。

二叉树定价的关键思想是复制与无套利:用标的资产和无风险资产构造一个组合,使其在上涨、下跌两种状态下的价值都等于期权的到期收益。由于组合与期权未来现金流完全一致,二者当前价格必须相等,否则就存在套利机会。由此推导出的定价公式,等价于“在风险中性世界里求期望,再按无风险利率贴现”。

风险中性定价的核心结论:期权现价 = e-rΔt × [ p·Cu + (1-p)·Cd ],其中 p 为风险中性上涨概率,Cu、Cd 分别为上涨、下跌状态下的期权到期收益。

二、方法流程:四个参数与两步计算

单期二叉树的完整计算可以拆成“定参数—算概率—求收益—做贴现”四步。下面用清单形式梳理,便于对照实现。

  1. 确定上涨因子 u 与下跌因子 d:常见取法为 u = eσ√Δt,d = 1/u = e-σ√Δt,其中 σ 为年化波动率。这种取法保证树在取对数后对称,且与 Black-Scholes 的波动率口径一致。
  2. 计算风险中性概率 p:由无套利条件 S₀·erΔt = p·S₀·u + (1-p)·S₀·d 解得 p = (erΔt - d) / (u - d)。注意 p 不是真实世界概率,而是定价用的等价鞅测度。
  3. 计算到期收益:看涨期权 Cu = max(S₀·u - K, 0),Cd = max(S₀·d - K, 0);看跌期权则用 max(K - S, 0)。
  4. 贴现求现价:C₀ = e-rΔt·[p·Cu + (1-p)·Cd],看跌期权同理。

下面给出一个可直接运行的 Python 计算片段,参数与公式一一对应:

import math

S0 = 100      # 标的现价
K  = 100      # 行权价
r  = 0.05     # 无风险利率(年化)
sigma = 0.2   # 波动率(年化)
T  = 1.0      # 到期时间(年)
n  = 1        # 单期
dt = T / n

u = math.exp(sigma * math.sqrt(dt))
d = 1 / u
p = (math.exp(r * dt) - d) / (u - d)

Su, Sd = S0 * u, S0 * d
Cu = max(Su - K, 0)
Cd = max(Sd - K, 0)
C0 = math.exp(-r * dt) * (p * Cu + (1 - p) * Cd)

print(f"u={u:.4f}, d={d:.4f}, p={p:.4f}")
print(f"Su={Su:.2f}, Sd={Sd:.2f}")
print(f"Cu={Cu:.2f}, Cd={Cd:.2f}, C0={C0:.4f}")

运行结果约为 u=1.2214、d=0.8187、p=0.5252,看涨期权现价约 10.45。这个数值与 Black-Scholes 在相同参数下的结果已经比较接近,说明单期树虽然粗糙,但方向正确。

三、可视化:单期二叉树的价格与收益结构

下图把本节的核心对象——价格分支、风险中性概率与到期收益——放在同一张图上,便于建立“从 S₀ 到收益再到现价”的整体直觉。

单期二叉树:价格分支、风险中性概率与到期收益 S₀ 100 p = 0.5252 S₀·u 122.14 1-p = 0.4748 S₀·d 81.87 看涨收益 C_u = max(122.14-100,0) = 22.14 看涨收益 C_d = max(81.87-100,0) = 0 C₀ = e^(-rΔt) × [p·C_u + (1-p)·C_d] ≈ 10.45

四、案例与误区复盘

回到上面的参数:S₀=100、K=100、r=5%、σ=20%、T=1 年。单期树算出看涨期权现价约 10.45。若把期数 n 增加到 10、100,二叉树价格会逐步收敛到 Black-Scholes 的 10.45 附近。这说明单期树不是“错误模型”,而是对连续过程的一次粗粒度采样。

概念 符号 典型取值/公式 常见误区
上涨因子 u eσ√Δt,本例 1.2214 误把 u 当作真实上涨概率
下跌因子 d 1/u,本例 0.8187 误用 d = 1 - σ√Δt 等近似式
风险中性概率 p (erΔt-d)/(u-d),本例 0.5252 误认为 p 是市场真实概率
期权现价 C₀ e-rΔt[p·C_u+(1-p)·C_d] 忘记贴现,直接用期望收益
两个高频错误:一是把 p 当成真实世界上涨概率,从而用主观判断替换公式;二是计算完期望收益后忘记乘以 e-rΔt。风险中性概率只服务于定价,与真实预测无关;贴现步骤则体现货币时间价值,缺一不可。
检验单期树是否自洽,可以检查 p 是否落在 (0,1) 区间。若 p<0 或 p>1,说明参数组合违背无套利条件,例如 d > erΔt 或 u < erΔt,此时应重新检查 u、d 的取法或利率、波动率输入。

掌握单期二叉树后,多期树只是把同样的“概率加权 + 贴现”逻辑从后往前逐层重复。真正需要牢记的是:u、d 决定树的形状,p 由无套利条件内生决定,而期权价格永远是风险中性期望的贴现值。这三句话,是后续所有二叉树实战的基石。