第21章 二叉树#
我们在第 13 章中引进了二叉树方法,这一方法既可以用于对欧式期权定价,也可用于对美式期权定价。在第 15 章、第 17 章和第 18 章中给出的布莱克-斯科尔斯-默顿模型及其推广形式为欧式期权提供了解析定价公式, $^{①}$ 但美式期权价格的解析公式却不存在。二叉树最有用的地方正是对美式期权定价。 $^{②}$
如第 13 章所述,在二叉树方法中,我们首先将期权的期限分成许多长度为
$\Delta t$ 的很小时间区间。我们假定在每一个时间区间里股票价格从开始的价格 $S$ 变为两个新价格
u>1, d<1。因此,我们称 S 到 Su 的变化为价格上涨,S 到 Sd 的变化为价格下跌。价格上涨的概率记为 p,价格下跌的概率为 1-p。
21.1 单步二叉树模型#
21.1.1 风险中性定价#

在第 13 章与第 15 章中讨论的风险中性定价原理说明,对期权(或其他衍生产品)定价时,我们可以假定世界是风险中性的。这意味着为了定价的目的,我们可以采用以下过程:图21-1 在二叉树模型中,在时间 $\Delta t$ 后资产价格的变化
假定所有交易证券的收益率期望均为无风险利率。
计算衍生产品收益的期望值, 并以无风险利率对其贴现来对衍生产品定价。以上描述的过程是采取树形定价的基础。
21.1.2 确定 $p, u$ 和 $d$#
参数 $p, u$ 和 $d$ 的选择必须保证股票价格在时间 $\Delta t$ 内变化的均值与方差都给出正确的值。由于我们假定了风险中性世界,股票的收益率期望为无风险利率 $r$ ,如果资产提供收益率 $q$ 的收入,那么资本增值部分的收益率期望必须是 $r - q$ 。这意味着在一个时间区间 $\Delta t$ 末,资产价格的期望值为 $S e^{(r - q) \Delta t}$ ,其中 $S$ 为资产在时间区间开始时的价格。为了保证二叉树与回报均值相吻合,我们有
$$ S \mathrm{e}^{(r - q) \Delta t} = p S u + (1 - p) S d $$即
$$ \mathrm{e}^{(r - q) \Delta t} = p u + (1 - p) d\tag{21-1} $$一个变量 $Q$ 的方差等于 $E[ Q^2 ] - [ E ( Q ) ]^2$ 。将资产价格在 $\Delta t$ 时间内的变化百分比记为 $R$ ,则 $1 + R$ 等于 $u$ 的概率为 $p$ ,等于 $d$ 的概率为 $1 - p$ 。从式(21-1)可知, $1 + R$ 的方差为
$$ p u^{2} + (1 - p) d^{2} - \mathrm{e}^{2 (r - q) \Delta t} $$因为任何一个变量加上一个常数并不改变该变量的方差, $1 + R$ 的方差与 $R$ 的方差是一样的。如15.4节所述,这个值等于 $\sigma^2\Delta t$ ,因此
$$ p u^{2} + (1 - p) d^{2} - \mathrm{e}^{2 (r - q) \Delta t} = \sigma^{2} \Delta t $$由式(21-1)可知, $\mathrm{e}^{(r-q)\Delta t}(u+d)=pu^{2}+(1-p)d^{2}+ud$ ,因此
$$ \mathrm{e}^{(r - q) \Delta t} (u + d) - u d - \mathrm{e}^{2 (r - q) \Delta t} = \sigma^{2} \Delta t\tag{21-2} $$式(21-1)及式(21-2)给出了决定 p,u 和 d 的两个条件。Cox、Ross 和 Rubinstein(CRR)选取的第三个条件为 $^{①}$
$$ u = \frac{1}{d}\tag{21-3} $$当忽略 $\Delta t$ 的高阶项时,式(21-1)至式(21-3)的解为 $^{\ominus}$
$$ p = \frac{a - d}{u - d} $$$$ u = \mathrm{e}^{\sigma \sqrt{\Delta t}}\tag{21-4} $$$$ d = \mathrm{e}^{- \sigma \sqrt{\Delta t}}\tag{21-5} $$(21-6)
其中
$$ a = \mathrm{e}^{(r - q) \Delta t}\tag{21-7} $$变量 $a$ 有时被称为增长因子(growth factor)。注意,式(21-4)~式(21-7)与13.8节和13.11节里结果是一致的。
21.1.3 资产价格的树形图21-2展示了资产价格4步树形的完整结构。在时间0,价格 $S_{0}$ 为已知;在时刻 $\Delta t$ ,价格有两种可能的值: $S_{0}u$ , $S_{0}d$ ;在时刻 $2\Delta t$ ,价格有3种可能的值: $S_{0}u^{2}$ , $S_{0}$ , $S_{0}d^{2}$ ;依此类推。在一般情形下,在时刻 $i\Delta t$ ,价格有 $i + 1$ 种可能取值,它们是#
$$ S_{0} u^{j} d^{i - j}, j = 0, 1, \dots , i $$
图21-2 用于期权定价的树形
注意在图21-2中,在计算节点上资产价格时我们采用了关系式 $u = 1 / d$ 。例如,当 $j = 2$ 和 $i = 3$ 时,资产价格为 $S_{0}u^{2}d = S_{0}u$ 。还应注意,树中节点是重合的(recombine),也就是说资产价格先上涨后下跌与先下跌再上涨所得出的值是一样的。
为了说明这一点,我们注意式(21-4)和式(21-7)严格满足式(21-1)和式(21-3)中的条件。指数函数 $e^{x}$ 可以展开为 $1 + x + x^{2}/2 + \cdots$ 当我们忽略 $\Delta t$ 的高阶项时,式(21-5)意味着 $u = 1 + \sigma \sqrt{\Delta t} + \frac{1}{2} \sigma^{2} \Delta t$ ,式(21-6)意味着 $d = 1 - \sigma \sqrt{\Delta t} + \frac{1}{2} \sigma^{2} \Delta t$ ,再有 $\mathrm{e}^{(r-q)\Delta t} = 1 + (r-q)\Delta t$ 和 $\mathrm{e}^{2(r-q)\Delta t} = 1 + 2(r-q)\Delta t$ 。将这些表达式代入后,我们可以看到当忽略 $\Delta t$ 的高阶项后,式(21-2)成立。
21.1.4 通过树形倒推计算#
通过在时间 $T$ (即树的末端) 的期权价格由反向归纳 (backwards induction) 的方式可以对期权定价。期权在时刻 $T$ 的价值是已知的, 例如, 看跌期权的价值为 $\max (K - S_T, 0)$ , 而看涨期权的价格为 $\max (S_T - K, 0)$ , 其中 $S_T$ 为股票在时刻 $T$ 的价格, $K$ 为执行价格。因为我们假定世界为风险中性, 在 $T - \Delta t$ 时刻, 每一个节点上的期权价值等于将 $T$ 时刻期权价值的期望值以无风险利率 $r$ 进行贴现。类似地, 在 $T - 2\Delta t$ 时刻, 每一个节点上的期权价值可以将 $T - \Delta t$ 时刻期权价值的期望值以无风险利率进行贴现来求得, 并依此类推。如果期权为美式, 在二叉树的每个节点上我们需要检验在这一节点行使期权是否比在下一个时间区间后持有期权更有利。以倒推的形式, 我们可以最后得出期权在 0 时刻的价格。
考虑一个无股息股票上5个月期限的美式看跌期权,股票的当前价格为50美元,执行价格为50美元,无风险利率为每年 $10\%$ ,波动率为每年 $40\%$ 。采用我们常用的符号,这意味着 $S_{0} = 50$ , $K = 50$ , $r = 0.10$ , $\sigma = 0.40$ , $T = 0.4167$ 和 $q = 0$ 。假如在构造二叉树时,我们将期权期限分为5个时间段,每段为1个月(=0.0833年)。利用式(21-4)~式(21-7)得出
$$ u = \mathrm{e}^{\sigma \sqrt{\Delta t}} = 1.1224, d = \mathrm{e}^{- \sigma \sqrt{\Delta t}} = 0.8909, a = \mathrm{e}^{r \Delta t} = 1.0084 p = \frac{a - d}{u - d} = 0.5073, \quad 1 - p = 0.4927 $$图21-3 展示了由 DerivaGem 产生的二叉树。在每一个节点上有两个数值,上面的数值表示该节点所对应的股票价格,下面的数值代表节点所对应的期权价值。股价上涨的概率总是等于 0.5073,股价下跌的概率总是等于 0.4927。
在 $i\Delta t$ 时刻 $(i=0,1,\cdots,5)$ ,股票在第 j 个节点 $(j=0,1,\cdots,i)$ 上的价格为 $S_{0}u^{j}d^{i-j}$ 。例如,股票在节点 A $(i=4,j=1)$ (即树的第 4 步从下面数起第 2 个节点)上的价格为 $50\times1.1224\times0.8909^{3}=39.69$ 美元。在最后面节点上,期权价格为 $\max(K-S_{T},0)$ 。例如,期权在节点 G 上的价格为 50-35.36=14.64 美元。期权在倒数第二步上的价格可由最后节点上的价格计算得出。首先我们假定在节点上不行使期权,这意味着期权价格等于在下一步节点上价格期望值的贴现值。例如,在节点 E 上,期权价格的计算式为
$$ (0.5073 \times 0 + 0.4927 \times 5.45) \mathrm{e}^{- 0.10 \times 0.0833} = 2.66 $$而在节点 A 上,期权价格的计算式为
$$ (0.5073 \times 5.45 + 0.4927 \times 14.64) \mathrm{e}^{- 0.10 \times 0.0833} = 9.90 $$然后我们检验提前行使期权是否比持有期权更为有利。在节点 E 上,提前行使期权带来的收益为 0,是因为股价与执行价格均为 50 美元,很显然我们应该等待,即持有期权,因此在节点 E 的期权价格为 2.66 美元。在节点 A 上,情形会有所不同。如在该节点行使期权,价值为 50 - 39.69 即 10.31 美元,这一价值大于 9.90 美元。如果股票价格到达节点 A,期权应该被行使,因此 A 点的期权价值为 10.31 美元。
前面节点上的期权价值可以采用类似的方式来计算。注意,当期权处于实值状态时,提前行使并不总是最佳的。考虑节点 B,如果期权被行使,其价值为 50 - 39.69 = 10.31 美元。但是,如果期权没有被提前执行,其价值则为
$$ (0.5073 \times 6.38 + 0.4927 \times 14.64) \mathrm{e}^{- 0.10 \times 0.0833} = 10.36 $$因此,期权在这一节点不应该被行使。该节点上期权的正确价格为 10.36 美元。
图21-3 由 DerivaGem 生成的无股息股票看跌期权的二叉树
从树的最后向前倒推, 我们得出在初始节点上期权的价格为 4.49 美元。这一数量是对期权当前价格的估计。在实际中, 我们应采用更小的时间步长 $\Delta t$ 和更多的节点。DerivaGem 显示 30 步、50 步、100 步和 500 步二叉树所得的期权价格分别为 4.263 美元、4.272 美元、4.278 美元和 4.283 美元。
21.1.5 代数表达式#
假定将一个美式期权的期限分成 $N$ 个长度为 $\Delta t$ 的时间区间。我们称在时间 $i\Delta t$ 的第 $j$ 个节点为 $(i, j)$ 节点,其中 $0 \leqslant i \leqslant N, 0 \leqslant j \leqslant i$ 。这意味着在时间 $i\Delta t$ ,树形上最低的节点为 $(i, 0)$ ,次低的节点为 $(i, 1)$ ,并依此类推。令 $f_{i,j}$ 为期权在 $(i, j)$ 节点上的值,标的资产在 $(i, j)$ 节点上的价格为 $S_0 u^j d^{i-j}$ 。如果期权是看涨期权,它在时间 $T$ (到期日)的值为 $\max(S_T - K, 0)$ ,因此
$$ f_{N, j} = \max \left(S_{0} u^{i} d^{N - j} - K, 0\right), \quad j = 0, 1, \dots , N $$如果期权是看跌期权,它在时间 T 的值为 $\max(K - S_{T}, 0)$ ,因此
$$ f_{N, j} = \max (K - S_{0} u^{i} d^{N - j}, 0), \quad j = 0, 1, \dots , N $$在 $i \Delta t$ 时, 从 $(i, j)$ 节点移动到在 $(i + 1) \Delta t$ 时刻 $(i + 1, j + 1)$ 节点的概率为 $p$ ; 在 $i \Delta t$ 时刻从 $(i, j)$ 节点移动到 $(i + 1) \Delta t$ 时刻 $(i + 1, j)$ 节点的概率为 $1 - p$ 。假定期权没有被提前行使, 由风险中性定价原理可以得出, 对 $0 \leqslant i \leqslant N - 1$ 和 $0 \leqslant j \leqslant i$
$$ f_{i, j} = \mathrm{e}^{- r \Delta t} \left[ p f_{i + 1, j + 1} + (1 - p) f_{i + 1, j} \right] $$当考虑提前行使期权时,式中的 $f_{i,j}$ 必须同期权的内涵价值进行比较,因此对于看涨期权
$$ f_{i, j} = \max \left\{S_{0} u^{j} d^{i - j} - K, \mathrm{e}^{- r \Delta t} \left[ p f_{i + 1, j + 1} + (1 - p) f_{i + 1, j} \right. \right\} $$对于看跌期权
$$ f_{i, j} = \max \left\{K - S_{0} u^{j} d^{i - j}, \mathrm{e}^{- r \Delta t} \left[ p f_{i + 1, j + 1} + (1 - p) f_{i + 1, j} \right. \right\} $$注意,由于定价计算从 $T$ 时刻开始并以倒推形式进行,所以在 $i\Delta t$ 时刻的期权价值不仅反映了在 $i\Delta t$ 时刻提前行使期权可能性对于期权价值的影响,而且也反映了在将来提前行使期权对于期权价值的影响。
当 $\Delta t$ 趋向于 0 时, 我们可以得到美式期权的精确价值。在实际中, $N = 30$ 的树形结构通常会给出一个合理的价格。图21-4 显示了例 21-1 中期权价格的收敛性, 这一图形是由 Deriva-Gem 软件 (见例 A) 的应用工具计算得出的。
图21-4 由DerivaGem软件计算的例21-1中期权价格的收敛性
21.1.6 估计 Delta 与其他希腊值#
根据前面的定义,期权的 Delta(Δ)为期权价格变化与标的股票价格变化的比率,即
$$ \frac{\Delta f}{\Delta S} $$其中 $\Delta S$ 为股票价格的微小变化, $\Delta f$ 为相应期权价格的微小变化。在 $\Delta t$ 时刻,当股票价格为 $S_{0}u$ 时,期权价格估计值为 $f_{1,1}$ ;当股票价格为 $S_{0}d$ 时,期权价格的估计值为 $f_{1,0}$ 。这说明当 $\Delta S = S_{0}u - S_{0}d$ 时, $\Delta f = f_{1,1} - f_{1,0}$ ,因此在 $\Delta t$ 的 $\Delta$ 近似值为
$$ \Delta = \frac{f_{1 , 1} - f_{1 , 0}}{S_{0} u - S_{0} d}\tag{21-8} $$为了确定 Gamma(Γ),我们注意在 $2\Delta t$ 时刻有两个 $\Delta$ 的估计。当股票价格为 $(S_{0}u^{2}+S_{0})/2$ 时 $(2\Delta t$ 时刻的第 2 个与第 3 个节点的中间值), $\Delta$ 为 $(f_{2,2}-f_{2,1})/(S_{0}u^{2}-S_{0})$ ;当股票价格为 $(S_{0}+S_{0}d^{2})/2$ 时( $2\Delta t$ 时刻的第 1 个与第 2 个节点的中间值), $\Delta$ 为 $(f_{2,1}-f_{2,0})/(S_{0}-S_{0}d^{2})$ 。两个股票价格的差为 h,其中
$$ h = 0.5 (S_{0} u^{2} - S_{0} d^{2}) $$Gamma 等于 Delta 的变化除以 h,即
$$ \Gamma = \frac{\left[ \left(f_{2 , 2} - f_{2 , 1}\right) / \left(S_{0} u^{2} - S_{0}\right) \right] - \left[ \left(f_{2 , 1} - f_{2 , 0}\right) / \left(S_{0} - S_{0} d^{2}\right) \right]}{h}\tag{21-9} $$这些计算给出了在 $\Delta t$ 时刻的 Delta 估计值和 $2\Delta t$ 时刻的 Gamma 估计值。在实际中,这些估计值也被用来作为在 0 时刻的 Delta 和 Gamma 估计值。 $^{①}$
从二叉树中可以进一步直接估计的对冲参数为 $\mathrm{Theta}(\Theta)$ ,这一参数代表在其他条件不变时期权价格变化与时间变化的比率。期权在时刻0的价值是 $f_{0,0}$ ,时刻 $2\Delta t$ 的价值是 $f_{2,1}$ 。Theta的一个估计值为
$$ \Theta = \frac{f_{2 , 1} - f_{0 , 0}}{2 \Delta t}\tag{21-10} $$Vega 的计算可以从对波动率做一微小变化而得出。当 $\sigma$ 的变动量为 $\Delta \sigma$ 时,我们可以重新构造二叉树( $\Delta t$ 应该不变),并对期权重新定价。Vega 的估计值为
$$ \nu = \frac{f^{*} - f}{\Delta \sigma} $$其中 $f$ 及 $f^{*}$ 分别为由最初的二叉树和重建的二叉树得出的期权价值。我们也可以采用类似的方法来计算Rho。
再一次考虑例21-1,由图21-3得出 $f_{1,0} = 6.96$ 和 $f_{1,1} = 2.16$ 。式(21-8)给出的Delta估计值为
$$ \frac{2.16 - 6.96}{56.12 - 44.55} = - 0.41 $$利用式(21-9),我们可以由在节点 B,C 及 F 上的期权价值来估计期权的 Gamma
$$ \frac{\left[ (0.64 - 3.77) / (62.99 - 50.00) \right] - \left[ (3.77 - 10.36) / (50.00 - 39.69) \right]}{11.65} = 0.03 $$利用式(21-10),可以由在节点 D 及 C 上的期权价值来估计期权的 Theta。结果为每年
$$ \frac{3.77 - 4.49}{0.1667} = - 4.3 $$即每日历天为 -0.012。当然,这些结果只是粗略的估计。当采用的步数增加时,这些估计值会越来越精确。当步数取成 50 时,DerivaGem 给出的 Delta、Gamma 和 Theta 值分别为 -0.415、0.034 及 -0.0117。改变参数并重新计算期权价格,我们可以得出 Vega 和 Rho 的估计,其值分别为 0.123 和 -0.072。
21.2 利用二叉树对股指、货币与期货合约上的期权定价#
像在第 13 章、第 17 章和第 18 章解释过的那样,当对股指、货币和期货上的期权定价时,我们可以将这些标的资产看成是提供已知收益率的资产。对于股指,收益率等于股指中股票组合的股息收益率;对于货币,收益率等于外币无风险利率;对于期货合约,收益率等于本国无风险利率。因此只要适当地选择式(21-7)中的 q 值,我们可以将二叉树用于对股指、货币和期货上的期权定价。
考虑一个股指期货上4个月期的美式看涨期权,当前期货的价格为300,执行价格为300,无风险利率为每年 $8\%$ ,股指波动率为每年 $30\%$ 。为了构造二叉树,我们将期权期限分成4个长度为1个月的时间段。这时, $F_{0} = 300, K = 300, r = 0.08, \sigma = 0.3, T = 0.3333$ 和 $\Delta t = 0.0833$ 。因为可以将期货价格当成一个支付连续股息收益率 $r$ 的股票,在式(21-7)中应当将 $q$ 取成 $r$ ,因此 $a = 1$ 。其他构造二叉树的参数为
$$ u = \mathrm{e}^{\sigma \sqrt{\Delta t}} = 1.0905, d = \frac{1}{u} = 0.9170 $$$$ p = \frac{a - d}{u - d} = 0.4784, \quad 1 - p = 0.5216 $$利用 DerivaGem,可以产生如图21-5 所示的二叉树(其中节点上面的数值为期货价格,下面的数值为期权价格),期权的估计值为 19.16。当取更多的步数时,我们可以得到更高的精度。例如,当采用 50 步二叉树时,DerivaGem 得出的期权价格为 20.18;当采用 100 步二叉树时,DerivaGem 得出的期权价格为 20.22。
图21-5 DerivaGem 产生的对于美式股指期货期权定价的二叉树(例 21-3)
考虑英镑(GBP)上的1年期美式看跌期权。当前汇率为1.6100,执行价格为1.6000,美元无风险利率为每年 $8\%$ ,英镑利率为每年 $9\%$ ,英镑汇率的波动率为每年 $12\%$ 。在这里 $S_{0} = 1.61$ , $K = 1.60$ , $r = 0.08$ , $r_{f} = 0.09$ , $\sigma = 0.12$ 和 $T = 1.0$ 。为了构造二叉树,我们将期权期限分成4个长度为3个月的时间段,因此 $\Delta t = 0.25$ 。这时 $q = r_{f}$ 由式(21-7)得出
$$ a = \mathrm{e}^{(0.08 - 0.09) \times 0.25} = 0.9975 $$构造二叉树所用的其他参数为
$$ u = \mathrm{e}^{\sigma \sqrt{\Delta t}} = 1.0618, d = \frac{1}{u} = 0.9418 $$$$ p = \frac{a - d}{u - d} = 0.4642, \quad 1 - p = 0.5358 $$用 DerivaGem 产生的二叉树展示在图21-6 中(节点上面的值代表汇率,下面的值代表期权价值)。期权的估计值为 0.0710 美元(采用 50 步二叉树,DerivaGem 计算的期权价格为 0.0738;采用 100 步二叉树,DerivaGem 计算的期权价格也是 0.0738)。
图21-6 DerivaGem产生的对于美式货币看跌期权定价的二叉树(例21-4)
21.3 支付股息股票的二叉树模型#
我们现在考虑一个较为棘手的问题,即如何用二叉树来对支付股息的股票期权定价。如同在第15章指出的那样,为了方便我们的讨论,股息(dividend)一词是指在除息日由于股息而导致股票价格下跌的数量。
21.3.1 股息收益率是已知的情形#
在考虑长期限股票期权时,有时为了方便而假定股票支付连续收益率为 q 的股息。对这种期权,可以采用和对股指期权同样的方法来定价。
为了取得更精确的结果,我们可以假设股息是以离散形式支付的。假定股票只付一次股息,而且股息收益率(即股息为股票价格的百分比)是已知的。参数 $u$ 、 $d$ 和 $p$ 与没有股息情形下一样。如果 $i\Delta t$ 在除息日之前的时间,二叉树上对应这个时间的节点上股票
价格为
$$ S_{0} u^{j} d^{i - j}, \quad j = 0, 1, \dots , i $$如果 $i \Delta t$ 在除息日之后,那么相应节点上的股票价格为
$$ S_{0} (1 - \delta) u^{j} d^{i - j}, \quad j = 0, 1, \dots , i $$其中 $\delta$ 为股息收益率。树形如图21-7所示。对于期权有效期内有多个已知股息收益率的情形,我们可以采用同样的办法来处理。如果 $\delta_{i}$ 为0时刻到 $i\Delta t$ 时刻之间所有除息日的总股息收益率,则 $i\Delta t$ 时刻节点上的股票价格为
$$ S_{0} (1 - \delta_{i}) u^{j} d^{i - j} $$21.3.2 已知股息金额数量的情形#
在某些情形下,尤其是当期权的期限很短时,最符合现实的做法是假设已知支付的股息金额数量而不是股息收益率。假设股票波动率 $\sigma$ 为常数,这时二叉树的形状会如图21-8显示的那样。二叉树将不再会重合,这意味着所要估算的节点数量将会变得很大。假设只有一次股息,而且除息日 $\tau$ 是介于 $k\Delta t$ 与 $(k + 1)\Delta t$ 之间,股息金额数量为 $D$ 。当 $i \leqslant k$ 时,在 $i\Delta t$ 时刻节点上的股票价格为
$$ S_{0} u^{j} d^{i - j}, \quad j = 0, 1, 2, \dots , i $$这与以前所述的股价相同。当 $i = k + 1$ 时,相应节点上的股票价格为
$$ S_{0} u^{j} d^{i - j} - D, \quad j = 0, 1, 2, \dots , i $$当 $i = k + 2$ 时,相应节点上的股票价格为
$$ (S_{0} u^{j} d^{i - 1 - j} - D) u \quad \text{及} \quad (S_{0} u^{j} d^{i - 1 - j} - D) d $$其中 $j=0,1,2,\cdots,i-1$ 。因此,在 $i\Delta t$ 时刻总共有 2i 个,而不是 $i+1$ 个节点。当 $i=k+m$ 时,在 $i\Delta t$ 时刻总共有 $m(k+2)$ 个节点,而不是 $k+m+1$ 个节点。如果在期权期限内有多个除息日的话,那么节点数量会增长得更快。

图21-8 已知股息金额数量并且假设波动率为常数的股票二叉树
第 15.12 节说明了在对支付股息的股票上的期权进行定价时,可以假定股票价格含有两个组成部分:一部分为不确定,另一部分为期权在期限内股息的贴现值。我们还给出了从业者认为这样假设合理的几个原因。显然,美式期权的定价方法应该完全与欧式期权的定价等同(否则,不应该被提前行使的美式期权的价格不会与欧式期权价格相等)。因此在实践中对支付已知股息的股票上美式期权定价时使用的就是 15.12 节里所描述的方法,这样做可以解决图21-8 所示的节点泛滥问题。
假定在期权期限内只有一个除息日 $\tau$ ,并且 $k\Delta t \leqslant \tau \leqslant (k + 1)\Delta t$ 。在 $i\Delta t$ 时刻,股票的不确定部分价格 $S^{*}$ 为
$$ S^{*} = S, \text{当} i \Delta t > \tau $$及
$$ S^{*} = S - D \mathrm{e}^{- r (\tau - i \Delta t)}, \text{当} i \Delta t \leqslant \tau $$其中 D 为股息。令 $\sigma^{*}$ 为 $S^{*}$ 的波动率,并假设为常数。 $^{\ominus}$ 参数 p、u 和 d 可由式(21-4)~式(21-7)来计算(用 $\sigma^{*}$ 替代 $\sigma$ )。这样我们可以采取通常的方式来构造模拟 $S^{*}$ 的二叉树。在每个节点上把将来股息(如果有的话)的贴现值加回到股票价格上,我们可以将二叉树转化成模拟原股票价格 S 的二叉树。假定 $S_{0}^{*}$ 为 $S^{*}$ 在时刻 0 的价格,在 $i\Delta t$ 时刻,如 $i\Delta t < \tau$ ,股票价格为
$$ S^{*} u^{j} d^{i - j} + D \mathrm{e}^{- r (\tau - i \Delta t)}, \quad j = 0, 1, \dots , i $$如 $i\Delta t > \tau$ ,股票价格为
$$ S^{*} u^{j} d^{i - j}, \quad j = 0, 1, \dots , i $$这种方法的优点是与15.12节欧式期权定价方法一致,而且该方法成功地将二叉树变成了重合状态,即在 $i\Delta t$ 时刻只有 $i+1$ 个节点。我们可以把这种方法推广存在多个股息的情形。 $^{②}$
考虑某股票上1个期限为5个月的看跌期权,预计在期权有效期内股票将支付2.06美元的股息。股票初始价格为52美元,执行价格为50美元,无风险利率为每年 $10\%$ ,波动率为每年 $40\%$ ,股票除息日为在3个半月后。
我们首先构造关于 $S^{*}$ 的二叉树, 这里 $S^{*}$ 等于原股票价格减去期权有效期内股息的贴现值。股息的贴现值为
$$ 2.06 \mathrm{e}^{- 0.2917 \times 0.1} = 2.00 $$因此, $S^{*}$ 的初始值为50。假定 $S^{*}$ 的波动率为每年40%。图21-3给出了 $S^{*}$ 的二叉树( $S^{*}$ 的初始值与波动率与构成图21-3的股票价格的初始值及波动率相同)。在每个节点上加上股息的现值就可以得出关于股票价格 $S$ 的二叉树,从而得到图21-9。与图21-3一样,树上每个节点上涨的概率为0.5073,下跌的概率为0.4927。按通常的方式在二叉树上向后反推,即可得出期权价格,即4.44美元(利用50步二叉树,DerivaGem给出的期权值是4.202;利用100步二叉树,给出的值是4.212)。
图21-9 例 21-5 由 DerivaGem 产生的树形结构
21.3.3 控制变量技巧#
对美式期权定价时,我们可以采用控制变量技巧(control variate technique)方法来提高计算精度, $^{①}$ 这一方法用同一个树形来计算美式期权价值 $f_{A}$ ,以及相应的欧式期权价格 $f_{E}$ 。我们同时也采用布莱克-斯科尔斯-默顿模型来计算欧式期权价格 $f_{BSM}$ 。假设由树形得出的欧式期权误差 $f_{BSM}-f_{E}$ 与树形得出的美式期权误差是相同的,因此,美式期权的估计值为
$$ f_{A} + f_{B S M} - f_{E} $$为了说明这一方法,我们利用图21-10来对图21-3中的例子定价。计算求得的 $f_{E}$ 为4.32美元。由布莱克-斯科尔斯-默顿公式计算出的欧式期权 $f_{BSM}$ 价格为4.08美元,图21-3给出的美式期权估计值为4.49美元,因此由控制变量技巧所估计的美式期权价格为
$$ 4.49 + (4.08 - 4.32) = 4.25 $$采用 100 步的二叉树可以得出美式期权一个比较精确的估计值为 4.278。因此在这一例子中,控制变量技巧所得结果的精确度确实比二叉树(估计值为 4.49)有了显著的提高。
控制变量技巧实际上是采用树形来计算欧式与美式期权的差值,而非美式期权本身的价格。我们在本章后面讨论蒙特卡罗法时将给出控制变量技巧的另一个应用。
图21-10 由DerivaGem生成的树形结构,这里的期权为图21-3里的欧式期权(在每个节点上,上面数值为股票价格,下面数值为期权价格)
21.4 构造树形的其他方法#
Cox、Ross 和 Rubinstein(CRR) 方法并不是构造二叉树的唯一方法。在风险中性世界里, 变量 $\ln S$ 在时间 $\Delta t$ 内的变化的均值为 $(r - q - \sigma^{2} / 2)\Delta t$ , 标准差为 $\sigma \sqrt{t}$ 。这些均值与标准差可通过令 $p = 0.5$ 和
$$ u = \mathrm{e}^{(r - \sigma^{2} / 2) \Delta t + \sigma \sqrt{\Delta t}}, d = \mathrm{e}^{(r - \sigma^{2} / 2) \Delta t - \sigma \sqrt{\Delta t}} $$得到吻合。这种构造树形的方法与 Cox、Ross 和 Rubinstein(CRR)的方法相比具有许多的优点:无论 $\sigma$ 取什么值或步长是多少,树上的概率总是 p = 0.5。 $^{①}$ 缺点是通过这种树形难以计算 Delta、Gamma、Rho 等希腊值,这是因为最初的股票价格不再是树形的中心。
某一汇率上9个月期限的美式期权执行价格为0.7950。当前的汇率为0.7900,国内无风险利率为每年 $6\%$ ,外国无风险利率为每年 $10\%$ ,汇率的波动率为 $4\%$ ,这时 $S_{0} = 0.79$ , $K = 0.795$ , $r = 0.06$ , $r_{f} = 0.10$ , $\sigma = 0.04$ 与 $T = 0.75$ 。我们取 $\Delta t = 0.25$ (3步),而且树上每个分支的概率为0.5,因此
$$ \begin{array}{r l} u = \mathrm{e}^{(0.06 - 0.10 - 0.0016 / 2) \times 0.25 + 0.04 \sqrt{0.25}} & = 1.0098 \\ d = \mathrm{e}^{(0.06 - 0.10 - 0.0016 / 2) \times 0.25 - 0.04 \sqrt{0.25}} & = 0.9703 \end{array} $$汇率二叉树如图21-11 所示。由二叉树得出的期权价格为 0.0026。
图21-11 外汇上美式看涨期权定价二叉树(节点上面的数值为汇率,下面的数值为期权价格,所有的概率均为0.5)
三叉树#
三叉树可用来代替二叉树。三叉树的一般形式如图21-12所示。假定在树形的每个节点上价格变化为上升、取中间值、下降的概率分别为 $p_{u}$ 、 $p_{m}$ 和 $p_{d}$ ,树形的时间步长为 $\Delta t$ 。假定股票支付股息收益率q,以下参数可以保证树形的均值和标准差与股票价格的均值和标准差相吻合
$$ u = \mathrm{e}^{\sigma \sqrt{3 \Delta t}}, d = \frac{1}{u} p_{u} = - \sqrt{\frac{\Delta t}{12 \sigma^{2}}} \left(r - q - \frac{\sigma^{2}}{2}\right) + \frac{1}{6}, \quad p_{m} = \frac{2}{3}, \quad p_{d} = \sqrt{\frac{\Delta t}{12 \sigma^{2}}} \left(r - q - \frac{\sigma^{2}}{2}\right) + \frac{1}{6} $$三叉树的计算过程与二叉树类似,计算由树尾倒推到树的起点。在每一个节点上,我们需要计算行使期权的价值与继续持有期权的价值。继续持有期权的价值等于
$$ \mathrm{e}^{- r \Delta t} (p_{u} f_{u} + p_{m} f_{m} + p_{d} f_{d}) $$其中 $f_{u}$ 、 $f_{m}$ 和 $f_{d}$ 分别为在下一步节点上对应于价格上升、取中间值和下降时的期权价格。可以证明,三叉树与21.8节中讨论的显式差分方法等价。
Figlewski 和 Gao 提出了一种改进三叉树的方法,他们称此方法为自适应网格模型(adaptive mesh model)。该模型在粗网格( $\Delta t$ 较大)的树形里加入细网格( $\Delta t$ 较小)的树形。 $^{\ominus}$ 对于一般美式期权定价,在期权接近满期、资产价格接近执行价格的区域里加入细网格是最有效的。
图21-12 股票价格的三叉树
21.5 参数依赖于时间#
到目前为止,我们一直假定 $r$ 、 $q$ 、 $r_f$ 和 $\sigma$ 均为常数。在实际中往往假设这些参数与时间有关。在时间 $t$ 与 $t + \Delta t$ 之间,一般假设这些参数等于其远期价值。 $^{\ominus}$
在 CRR 二叉树上,为了使 r 和 q(或 $r_{f}$ )成为时间的函数,在时间 t 节点上令
$$ a = \mathrm{e}^{[ f (t) - g (t) ] \Delta t}\tag{21-11} $$其中 $f(t)$ 为介于 $t$ 与 $t + \Delta t$ 之间的远期利率, $g(t)$ 为 $q$ 介于 $t$ 与 $t + \Delta t$ 之间的远期值。因为 $u$ 和 $d$ 与 $a$ 无关,所以这样的假设并不改变二叉树的形状。从时刻 $t$ 结点上所生出树叉的概率为
$$ \begin{array}{r l} p & = \frac{\mathrm{e}^{[ f (t) - g (t) ] \Delta t} - d}{u - d} \\ 1 - p & = \frac{u - \mathrm{e}^{[ f (t) - g (t) ] \Delta t}}{u - d} \end{array}\tag{21-12} $$二叉树方法中的其他步骤和前面介绍的一样,唯一不同之处是在 t 到 $t + \Delta t$ 贴现时要用 $f(t)$ 。
当 $\sigma$ 为时间函数时, 建立二叉树会比较困难。假设 $\sigma(t)$ 是用来对期限为 $t$ 的期权定价时所用的波动率, 一种方法是使时间步长与时间区间内的平均方差率成反比。这时在树形上 $u$ 和 $d$ 保持不变, 从而保证了树形的再重合。定义 $V = \sigma(T)^2 T$ , 其中 $T$ 为树形的期限。定义 $t_i$ 为第 $i$ 步末所对应的时间。树形共有 $N$ 步, 我们可以选择 $t_i$ 而保证 $\sigma(t_i)^2 t_i = iV / N$ , 并令 $u = e^{\sqrt{V / N}}$ , $d = 1 / u$ , $p$ 由 $u$ 、 $d$ 、 $r$ 和 $q$ 来表达, 其表达形式类似于常数波动率的情形。这里的计算过程可以与处理非常数利率的过程并用, 以此我们可以建立利率和波动率均不为常数的二叉树。
21.6 蒙特卡罗模拟法#
我们现在讨论蒙特卡罗模拟法,这与二叉树法方法很不相同。业界事例21-1是关于如何在Excel中以蒙特卡罗随机抽样的思路来计算 $\pi$ 的简单程序。

业界事例21-1 利用蒙特卡罗方法计算 $\pi$
假定图21-13中方块的每一个边长度均为1。设想你向这一方块随机地投掷梭镖,并随后计算梭镖落在圆圈中的比率。你会取得什么结果呢?方块的面积为1.0,圆圈的半径为0.5,圆圈的面积为 $\pi$ 乘以半径的平方,即 $\pi /4$ 。因此,梭镖落在圆圈的比率应等于 $\pi /4$ 。将梭镖落在圆圈的比率乘以4即可得到 $\pi$ 的估计值。
图21-13
我们可以利用Excel计算表来模拟表21-1中梭镖投掷的情形。我们将计算表的元素A1和B1分别定义为 $=$ RAND()。A1和B1为介于0与1之间的随机数,这两个随机数分别定义了梭镖落下的靠右以及靠上的位置,随后我们将计算表的
元素C1定义为
= IF((A1 - 0.5)^2 + (B1 - 0.5)^2 < 0.5^2,4,0) 当梭镖落在圆圈内时,C1 = 4;否则 C1 = 0。
计算表里接下来的 99 行的定义与第 1 行类似。定于 C102 为 = AVERAGE(C1:C100) 和 C103 为 = STDEV(C1:C100),C102(在表 21-1 中为 3.04)是由 100 次随机抽样所来计算出的 $\pi$ 估计值,C103 是估算值的标准差。在例 21-7 中我们将会看到,标准差可以被用来检测估计值的准确性。增加抽样次数会改进准确度,但收敛到准确值(较为准确)3.14159 的速度很慢。
表 21-1 业界事例 21-1 中的计算表
| A | B | C | |
| 1 | 0.207 | 0.690 | 4 |
| 2 | 0.271 | 0.520 | 4 |
| 3 | 0.007 | 0.221 | 0 |
| $\vdots$ | $\vdots$ | $\vdots$ | $\vdots$ |
| 100 | 0.198 | 0.403 | 4 |
| 101 | |||
| 102 | 平均数 | 3.04 | |
| 103 | 标准差 | 1.69 |
在计算期权价格时,蒙特卡罗模拟利用了风险中性理论。我们首先在风险中性世界里随机地产生标的资产价格的路径,并由此来取得收益的期望值,然后再对其按无风险利率进行贴现。考虑与某单个市场变量 S 有关的衍生产品,该衍生产品在 T 时刻产生收益。假定利率为常数,我们可以通过以下过程来对衍生产品定价:
在风险中性世界里对 S 的随机路径进行抽样。
计算衍生产品的收益。
重复第一步和第二步, 从而取得许多在风险中性世界里该衍生产品收益的样本。
计算收益的平均值, 这是衍生产品在风险中性世界里收益期望值的估计值。
以无风险利率对收益期望值进行贴现, 所得结果即为衍生产品价格。以上过程显示在 DerivaGem 3.00 的蒙特卡罗计算表中。
假定在风险中性世界里标的市场变量服从以下过程
$$ \mathrm{d}S = \hat{\mu} S \mathrm{d}t + \sigma S \mathrm{d}z\tag{21-13} $$其中 $\mathrm{dz}$ 是维纳过程, $\hat{\mu}$ 为标的变量在风险中性世界里的收益率期望, $\sigma$ 为波动率。 $^{-}$ 为了模拟变量 $S$ 的路径, 我们可以将期权的期限分割成 $N$ 个长度为 $\Delta t$ 的小区间, 并将式 (21-13) 近似为
$$ S (t + \Delta t) - S (t) = \hat{\mu} S (t) \Delta t + \sigma S (t) \varepsilon \sqrt{\Delta t}\tag{21-14} $$其中, $S(t)$ 为 $S$ 在 $t$ 时刻的值, $\varepsilon$ 为期望值为 0、标准差为 1.0 的正态分布中的抽样。这可以使得我们从 $S$ 的初始值计算出 $S$ 在 $\Delta t$ 时的值,并从 $\Delta t$ 的值计算出 $S$ 在 $2 \Delta t$ 的值,等等。在 14.3 节里曾对这一过程进行过描述。每个模拟样本都需要通过对正态分布进行 $N$ 次抽样来构造 $S$ 的整个路径。
在实际中,对 $\ln S$ 进行抽样通常比对 $S$ 进行抽样要更为准确。由伊藤引理得出, $\ln S$ 服从的过程为
$$ \mathrm{d}\ln S = \left(\hat{\mu} - \frac{\sigma^{2}}{2}\right) S \mathrm{d}t + \sigma \mathrm{d}z\tag{21-15} $$因此
$$ \ln S (t + \Delta t) - \ln S (t) = (\hat{\mu} - \frac{\sigma^{2}}{2}) \Delta t + \sigma \varepsilon \sqrt{\Delta t} $$其等价形式为
$$ S (t + \Delta t) = S (t) \exp \left[ \left(\hat{\mu} - \frac{\sigma^{2}}{2}\right) \Delta t + \sigma \varepsilon \sqrt{\Delta t} \right]\tag{21-16} $$以上方程可用于产生 S 的路径。
对 $\ln S$ (而不是 $S$ )进行模拟的结果会更加精确,而且如果 $\hat{\mu}$ 和 $\sigma$ 是常数,那么对于任意期限 $T^{\ominus}$
$$ \ln S (T) - \ln S (0) = \left(\hat{\mu} - \frac{\sigma^{2}}{2}\right) T + \sigma \varepsilon \sqrt{T} $$因此
$$ S (T) = S (0) \exp \left[ \left(\hat{\mu} - \frac{\sigma^{2}}{2}\right) T + \sigma \varepsilon \sqrt{T} \right]\tag{21-17} $$以上方程可用于计算在 $T$ 时刻提供非标准形式收益的衍生产品的定价。如业界事例21-2所示,它也可用来检验布莱克-斯科尔斯-默顿公式。
蒙特卡罗法的主要优点在于这一方法既可用于当收益只依赖于标的变量 S 终端值的情形,也可用于当收益依赖于标的变量 S 路径的情形(例如,该方法可用于收益依赖于 S 在 0 和 T 之间平均值的情形)。衍生产品的收益可能发生在期限内的若干时间点上(而不是只在期限的末尾)。对任何关于 S 的随机过程均可以采用这一方法。我们接下来马上将要说明,这里所描述的方法可推广到收益与若干标的变量有关的情形。蒙特卡罗法的缺点在于该方法的计算速度较为缓慢,并且当期权可以被提前行使时,采用这种方法不太容易。 $^{③}$

业界事例 21-2 在 Excel 上检验布莱克-斯科尔斯-默顿公式
对于欧式看涨期权,我们可以采用很多步数的二叉树来检验布莱克-斯科尔斯-默顿公式的正确性。另外一种检验布莱克-斯科尔斯-默顿公式正确性的方法是蒙特卡罗模拟法。表21-2是一个Excel计算表,计算表的元素C2,D2,E2,F2和G2分别代表 $S_{0}$ ,K,r, $\sigma$ 和T。元素D4,E4和F4分别用于计算 $d_{1}$ , $d_{2}$ 和期权价格(计算表中布莱克-斯科尔斯-默顿价格为4.817)。
NORMSINV 为标准正态分布的逆分布函数,因此,NORMSINV(RAND()) 给出了一个服从标准正态分布的随机抽样。我们令 A1 为
$$ = C 2 * \text{EXP} (E 2 - F 2 * \text{(F} \text{2/2)} * \text{G} \text{2} + \text{F} \text{2} * $$$$ \text{NORMSINV(RAND())} * \text{SQRT(G2))} $$这是按式(21-17)所做的计算,求到的是股票在 T 时刻的随机抽样值。我们将 B1 设成 = EXP(-$E $2 * $G $2) * MAX(A1 - $D $2, 0),这是看涨期权收益的贴现值。我们在接下的 999 行进行类似的操作。定义 B1002 为 = AVERAGE (B1:B1000),在计算表中,此值为 4.98,为期权价格的估计,这一估计与布莱克-斯科尔斯-默顿价格的差别不大。B1003 定义为 STDEV (B1:B1000),由例 21-8 我们可以知道,B1003 可用于检验估计的准确性。
表 21-2 利用蒙特卡罗法检验布莱克-斯科尔斯-默顿公式
| A | B | C | D | E | F | G | |
| 1 | 45.95 | 0 | $S_0$ | K | r | σ | T |
| 2 | 54.49 | 4.38 | 50 | 50 | 0.05 | 0.3 | 0.5 |
| 3 | 50.09 | 0.09 | $d_1$ | $d_2$ | BSM 价格 | ||
| 4 | 47.46 | 0 | 0.2239 | 0.0118 | 4.817 | ||
| 5 | 44.93 | 0 | |||||
| ⋮ | ⋮ | ⋮ | |||||
| 1000 | 68.27 | 17.82 | |||||
| 1001 | |||||||
| 1002 | 均值: | 4.98 | |||||
| 1003 | 标准差: | 7.68 |
21.6.1 多个标的变量的情形#
在 14.5 节里我们曾讨论相关随机过程。考虑衍生产品,其收益与 n 个变量 $\theta_{i}(1 \leqslant i \leqslant n)$ 有关。定义 $s_{i}$ 为 $\theta_{i}$ 的波动率, $\hat{m}_{i}$ 为 $\theta_{i}$ 在风险中性世界里的增长率期望, $\rho_{ik}$ 为 $\theta_{i}$ 与 $\theta_{k}$ 之间的相关系数(correlation)。 $^{\ominus}$ 与单个标的变量的情形相似,我们将期权的期限分割成 N 个长度为 $\Delta t$ 的子时间。 $\theta_{i}$ 随机过程的离散形式为
$$ \theta_{i} (t + \Delta t) - \theta_{i} (t) = \hat{m} _{i} \theta_{i} (t) \Delta t + s_{i} \theta_{i} (t) \varepsilon_{i} \sqrt{\Delta t}\tag{21-18} $$其中, $\varepsilon_{i}$ 为正态分布的一个随机样本。 $\varepsilon_{i}$ 与 $\varepsilon_{k}$ 的相关系数为 $\rho_{ik}(1 \leqslant i; k \leqslant n)$ 。每一次路径的抽样都需要 N 个从多元正态分布中所提取的 $\varepsilon_{i}(1 \leqslant i \leqslant n)$ 样本。然后将这些样本代入式(21-18)后可产生 $\theta_{i}$ 的模拟路径,由此我们可以计算衍生产品的抽样值。
21.6.2 从正态分布中产生样本#
如业界事例 21-2 所示, Excel 里的指令 = NORMSINV(RAND()) 可以用来产生一元标准正态分布的随机样本。当需要产生二元相关正态随机变量 $\varepsilon_{1}$ , $\varepsilon_{2}$ 的随机样本时,我们可以采取如下步骤。我们首先像上面讲过的那样生成两个相互独立的一元随机正态样本 $x_{1}$ 和 $x_{2}$ ,然后利用以下关系式即可生成我们所需要的随机样本
$$ \begin{array}{l} \varepsilon_{1} = x_{1} \\ \varepsilon_{2} = \rho x_{1} + x_{2} \sqrt{1 - \rho^{2}} \end{array} $$其中 $\rho$ 为相关系数。
我们现在考虑如何产生 $n$ 元联合正态分布的随机样本,这里变量 $i$ 和 $j$ 的相关系数为 $\rho_{ij}$ 。首先由一元标准正态分布生成 $n$ 个相互独立的随机样本 $x_{i} (1 \leqslant i \leqslant n)$ ,然后我们可以将所需要的随机样本 $\varepsilon_{i} (1 \leqslant i \leqslant n)$ 定义成
$$ \left. \begin{array}{l} \varepsilon_{1} = \alpha_{11} x_{1} \\ \varepsilon_{2} = \alpha_{21} x_{1} + \alpha_{22} x_{2} \\ \varepsilon_{3} = \alpha_{31} x_{1} + \alpha_{32} x_{2} + \alpha_{33} x_{3} \end{array} \right\}\tag{21-19} $$等。在这里选取系数 $\alpha_{ij}$ ,使得这些变量有正确的相关系数和方差。这些系数可以通过递推方式来得到。令 $\alpha_{11}=1$ ;选择 $\alpha_{21}$ ,使 $\alpha_{21}\alpha_{11}=\rho_{21}$ ;选择 $\alpha_{22}$ ,使 $\alpha_{21}^{2}+\alpha_{22}^{2}=1$ ;选择 $\alpha_{31}$ ,使 $\alpha_{31}\alpha_{11}=\rho_{31}$ ;选择 $\alpha_{32}$ ,使 $\alpha_{31}\alpha_{21}+\alpha_{32}\alpha_{22}=\rho_{32}$ ;选择 $\alpha_{33}$ ,使 $\alpha_{31}^{2}+\alpha_{32}^{2}+\alpha_{33}^{2}=1$ ;并依此类推。 $^{①}$ 这里描述的过程叫乔里斯基分解(Cholesky decomposition)。
21.6.3 模拟次数#
蒙特卡罗法计算结果的精度依赖于模拟的次数。在蒙特卡罗模拟法中,我们通常除计算收益贴现的期望值外,还要计算标准差。将期望值和标准差分别用 $\mu$ 和 $\omega$ 表示。变量 $\mu$ 即为衍生产品价值的估计值,这一估计值的标准误差为
$$ \frac{\omega}{\sqrt{M}} $$其中 M 为模拟次数。衍生产品价格 f 的 95% 置信区间为
$$ \mu - \frac{1.96 \omega}{\sqrt{M}} < f < \mu + \frac{1.96 \omega}{\sqrt{M}} $$这说明衍生产品价格的不确定性与模拟次数的平方根成反比。如果想将精度提高 1 倍,我们必须将模拟次数提高 4 倍;如果想将精度提高 10 倍,我们必须将模拟次数提高 100 倍,并依此类推。
21.6.4 通过树形抽样#
在实现蒙特卡罗时, 除了从假设标的变量所服从的随机过程上抽取样本外, 我们也可以从 $N$ 步二叉树上的 $2^{N}$ 条可能路径来产生样本。假设在一个二叉树上向上变化的概率是 0.6 , 通过二叉树来抽取随机路径样本的程序如下: 在每个节点上, 我们抽取一个 0 和 1 之间的随机数。当这个随机数小于 0.4 时, 我们选取向下的树枝, 如果大于 0.4 , 我们选向上的树枝。一旦有了从最初的节点到树形末尾的完整路径时, 我们就可以计算收益, 这样就完成了一次抽样。利用类似的程序可以得到更多的样本。收益均值按无风险利率贴现后的值就是我们对衍生产品价格的估计。
表 21-3 由图21-3 中二叉树并利用蒙特卡罗模拟法来计算亚式期权的价格
(收益等于平均价格高于 50 美元的数量(U 代表价格上涨,D 代表价格下跌))| 抽样 | 路径 | 股票价格的平均值 | 期权收益 |
| 1 | UUUUD | 64.98 | 14.98 |
| 2 | UUUDD | 59.82 | 9.82 |
| 3 | DDDUU | 42.31 | 0.00 |
| 4 | UUUUU | 68.04 | 18.04 |
| 5 | UUDDU | 55.22 | 5.22 |
| 6 | UDUUD | 55.22 | 5.22 |
| 7 | DDUDD | 42.31 | 0.00 |
| 8 | UUDDU | 55.22 | 5.22 |
| 9 | UUUDU | 62.25 | 12.25 |
| 10 | DDUUD | 45.56 | 0.00 |
| 平均 | 7.08 |
21.6.5 计算希腊值#
我们可以采用蒙特卡罗法来计算第 19 章中讨论的希腊值。假定我们想计算 f 对于 x 的偏导数,其中 f 为衍生产品的价格,x 为标的变量的价格或某个参数。首先,我们可以采取一般的蒙特卡罗法来计算衍生产品的价格 $\hat{f}$ ,然后我们将 x 值增加 $\Delta x$ ,并采用与计算 $\hat{f}$ 类似的方式来得出新价格 $\hat{f}^{*}$ ,对冲参数可由以下方程来计算
$$ \frac{\hat{f} ^{*} - \hat{f}}{\Delta x} $$为了减小标准误差,在计算 $\hat{f}$ 和 $\hat{f}^{*}$ 时,我们选用的时间区间的个数 $N$ 、所用的随机样本、模拟运算的次数 $M$ 都应当相同。
21.6.6 应用#
当衍生产品涉及 3 个或更多的随机变量时,蒙特卡罗法比其他数值方法的效率更高。这是因为蒙特卡罗的运算量与随机变量的数量呈线性关系,而其他数值方法的运算量与随机变量的数量呈指数关系。蒙特卡罗法的一个优点是可以给出估计值的标准误差,另一个优点是可以处理复杂的收益形式以及复杂的随机过程。再有,蒙特卡罗法可用于收益为标的变量所遵循的整个路径的函数,而不只是标的变量终端值函数的情形。
21.7 方差缩减程序#
假如像式(21-13)~式(21-18)所述的那样对衍生产品标的变量的随机过程进行模拟,在一般情况下,我们需要做很多次抽样才会使估计值达到合理的精确度。这从计算时间上讲是非常昂贵的。在这一节里我们将介绍几种方差缩减程序(variance reduction procedure),利用这些程序可以大大减少计算时间。
20.7.1 对偶变量技巧#
对偶变量技巧(antithetic variable technique)是指在每一次模拟抽样时,都要计算衍生产品的两个值。第一个值 $f_{1}$ 是按通常的方式计算得出的,第二个值 $f_{2}$ 是通过改变所有标准正态分布样本的符号而得出的(如果 $\varepsilon$ 是用来计算 $f_{1}$ 的抽样,那么 $-\varepsilon$ 则是计算 $f_{2}$ 时相应的抽样)。由此计算出的衍生产品的抽样值等于 $f_{1}$ 和 $f_{2}$ 的平均值。因为在以上两个值中当一个高于真实值时,另一个一般会低于真实值,反之亦然,这使得这一方法很有效。
定义 $\bar{f}$ 为 $f_{1}$ 和 $f_{2}$ 的平均值
$$ \bar{f} = \frac{f_{1} + f_{2}}{2} $$衍生产品价格的估值是所有 $\bar{f}$ 的平均值。如果 $\bar{\omega}$ 为 $\bar{f}$ 的标准差,M为模拟运算的次数(即所计算的衍生产品价格的次数),估计值的标准误差为
$$ \overline{{{\omega}}} / \sqrt{M} $$以上误差量一般会远远小于由 2M 个随机试验所对应的标准误差。
21.7.2 控制变量技巧#
在对美式期权定价时,我们已经给出了与树形结构并用的控制变量技巧(control variate technique)例子(见21.3节)。控制变量技巧适应于有两个相似衍生产品A和B的情形。衍生产品A是我们想定价的衍生品,衍生产品B与A相似并有解析解。计算过程将使用同样随机样本和 $\Delta t$ 来同时计算这两个产品的值。第一项模拟得到对于A的估计值 $f_{A}^{*}$ ,第二项模拟得到对于B的估计值 $f_{B}^{*}$ 。以下公式会给出一个对于A更好的估计
$$ f_{A} = f_{A} ^{*} - f_{B} ^{*} + f_{B}\tag{21-20} $$其中 $f_{B}$ 是由解析公式算出的 B 的真实值。赫尔和怀特在研究随机波动率(stochastic volatility)对于欧式期权价格的影响时给出了一个控制变量技巧的应用例子, $^{\ominus}$ 在这里,A 为在随机波动率假设下的期权,B 为在常数波动率假设下的期权。
21.7.3 重点抽样法#
解释重点抽样法(important sampling)的最好方法是通过实例。假设我们要为一个执行价格为 $K$ 、期限为 $T$ 的深度虚值欧式期权进行定价。如果我们按通常的办法来对标的资产价格在 $T$ 的值进行抽样,我们得出的大部分路径的终端值都是0。因为0终端值对于期权价格的影响很小,这样做会浪费很多计算时间。因此,我们想尽量选取股票价格在到期日大于 $K$ 的重要路径。
假定 $F$ 是股票价格在到期日 $T$ 的无条件概率分布函数, $q$ 为在到期日股票价格大于 $K$ 的概率,而且已知这一概率的解析式,那么 $G = F / q$ 即为股票价格在股票价格大于 $K$ 时的条件概率分布。为了实施重点抽样法,我们在 $G$ (而不是 $F$ )中进行抽样,期权价格的估计值等于收益贴现后的均值乘以 $q$ 。
21.7.4 间隔抽样法#
当我们从概率分布中抽取具有代表性的取值(而不是随机取值时),一般会得到更高的精确度。间隔抽样法(stratified sampling)就属于这类处理方法。假定我们想从概率分布中抽取1000个样本,我们可以将分布分割成1000个具有同样概率的区间,然后从这些小区间中选取具有代表性的数值(均值或中位数(median))。
对分成 $n$ 个区间的标准正态分布情形,我们可以在第 $i$ 个区间选取代表值
$$ N^{- 1} \left(\frac{i - 0.5}{n}\right) $$其中 $N^{-1}$ 为累计正态分布函数的逆函数。例如,当 $n = 4$ 时,4个区间的代表值分别为 $N^{-1}$ (0.125)、 $N^{-1}(0.375)$ 、 $N^{-1}(0.625)$ 、 $N^{-1}(0.875)$ 。函数 $N^{-1}$ 可以利用Excel的NORMSINV函数来进行计算。
21.7.5 矩匹配法#
矩匹配法(moment matching)是指对标准正态分布中抽取的样本进行调整,以便使样本与第一阶矩、第二阶矩甚至更高阶矩相匹配。假设为了计算一个变量在一段时间里的变化,需要从均值为0、标准差为1.0的标准正态分布中进行抽样。假定所取的样本值为 $\varepsilon_{i}(1 \leqslant i \leqslant n)$ ,为了使前两阶矩相匹配,我们首先计算样本值的均值 $m$ 和标准差 $s$ ,然后定义调整后的样本 $\varepsilon_{i}^{*}$ 如下
$$ \varepsilon_{i} ^{*} = \frac{\varepsilon_{i} - m}{s} $$经调整的样本具有正确的均值0与正确的标准差1.0。最后我们采用这些经调整后的样本来做所有的计算。
矩匹配法会节省计算时间,但这种方法却加重了存储的负担,这是因为所有的样本值均要存储到模拟过程的最后阶段。矩匹配法有时也被称为二次再抽样法(quadratic resampling)。这一方法常常与对偶变量技巧结合使用,因为对偶变量技巧自动会使所有的奇数矩相匹配,因此我们只需要在矩匹配法中使得第二节矩和(或许)第四节矩相匹配即可。
21.7.6 利用伪随机数序列#
伪随机数序列(quasi-random sequence)(也称为低差异序列(low-discrepancy sequence))是由概率分布中得出的具有代表性样本组成的序列。 $^{①}$ 读者可以在Brotherton-Ratcliffe以及Press等人的文献中找到关于伪随机数序列的描述和应用。 $^{②}$ 伪随机数序列具有以下优点:由伪随机数序列所得模拟结果的标准差与1/M(而不是 $1/\sqrt{M}$ )成正比,这里的M代表模拟次数。
伪随机数抽样与间隔抽样法相似,其目的是寻求具有代表意义的标的变量样本值。在间隔抽样法中,我们假定事先已经知道需要抽取样本的确切数量,而伪随机数抽样过程则更加灵活。这种抽样的方式是总可以不断地在已经存在的样本之间的间隔里加入更多的样本。因此,在模拟过程的每个阶段,样本点都会大体上均匀地分布在整个概率空间上。图21-14 显示了由索博尔提议的方法而产生的二维伪随机数点。 $^{③}$ 我们可以看出,后来抽取的样本总是弥补前面样本所留下的空隙。
1~1024个点
1~128个点
129~512个点
513~1024个点
图21-14 一个索博尔序列的前1024个点
21.8 有限差分法#
有限差分法(finite difference)通过求解衍生产品价格所满足的微分方程来达到定价的目的,在求解过程中,微分方程被转换成一组差分方程。我们可以通过迭代的方式来求出差分方程的解。
为了说明这种方法,我们考虑如何用它来对一个股息收益率为 $q$ 的股票上美式看跌期权进行定价。由式(17-6)得出,期权价格满足微分方程
$$ \frac{\partial f}{\partial t} + (r - q) S \frac{\partial f}{\partial S} + \frac{1}{2} \sigma^{2} S^{2} \frac{\partial^{2} f}{\partial S^{2}} = r f\tag{21-21} $$假设期权的期限为 T,我们将期限分成 N 个等间隔、长度为 $\Delta t = T/N$ 的时间区间,因此我们需要考虑 $N + 1$ 个时间点,股票价格 $S_{\uparrow}$
$$ 0, \Delta t, 2 \Delta t, \dots , T $$假设 $S_{max}$ 为足够大的股票价格,一旦股票达到这一价格时,看跌期权的价值几乎为0。我们定义 $\Delta S = S_{max} / M$ ,并考虑 $M + 1$ 个具有同样间隔的股票价格
$$ 0, \Delta S, 2 \Delta S, \dots , S_{\max} $$我们在选取 $S_{max}$ 时保证这些值中有一个刚好对应于股票的当前价格。
如图21-15 所示,我们选取的股票价格和时间构成了一个共有 $(M+1)(N+1)$ 个点的网格。网格上的点 $(i,j)$ 对应的时间为 $i\Delta t$ ,股票价格为 $j\Delta S$ 。我们用变量 $f_{i,j}$ 代表 $(i,j)$ 点的期权价格。
$$ \begin{array}{r l} & {\text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {\quad \text{格,} S_{\mathrm{max}}} \\ & {0 \quad \Delta t \quad \Delta t \quad \Delta s \quad 2 \Delta s \quad \Delta s} \\ & {0 \quad \Delta t \quad \Delta s \quad 2 \Delta s \quad \Delta s} \\ & {0 \quad \Delta t \quad \Delta s \quad 2 \Delta s \quad \Delta s} \\ & {0 \quad \Delta t \quad \Delta s \quad 2 \Delta s \quad \Delta s} \\ & 0 \quad \Delta t \quad \Delta s \quad 2 \Delta s \tag{1.1.1} $$图21-15 有限差分网格
21.8.1 隐式有限差分法#
对于网格内部的点 $(i,j)$ , $\partial f/\partial S$ 可被近似为
$$ \frac{\partial f}{\partial S} = \frac{f_{i , j + 1} - f_{i , j}}{\Delta S}\tag{21-22} $$或者
$$ \frac{\partial f}{\partial S} = \frac{f_{i , j} - f_{i , j - 1}}{\Delta S}\tag{21-23} $$式(21-22)叫作向前差分近似(forward difference approximation),式(21-23)叫作向后差分近似(backward difference approximation)。将以上两种差分加以平均,我们可以得出一个对称的差分方程
$$ \frac{\partial f}{\partial S} = \frac{f_{i , j + 1} - f_{i , j - 1}}{2 \Delta S}\tag{21-24} $$对于 $\partial f / \partial t$ ,我们将采用向前差分近似,从而 $i\Delta t$ 时刻的值与 $(i + 1)\Delta t$ 的有关
$$ \frac{\partial f}{\partial t} = \frac{f_{i + 1 , j} - f_{i , j}}{\Delta t}\tag{21-25} $$下面我们考虑 $\partial^2 f / \partial S^2$ 。(i, j) 点的 $\partial f / \partial S$ 向后差分近似地由式 (21-23) 给出。在 (i, j+1) 点的 $\partial f / \partial S$ 向后差分近似为
$$ \frac{f_{i , j + 1} - f_{i , j}}{\Delta S} $$因此在 $(i,j)$ 点 $\partial^{2}f/\partial S^{2}$ 的有限差分近似为
$$ \frac{\partial^{2} f}{\partial S^{2}} = \frac{1}{\Delta S} \left(\frac{f_{i , j + 1} - f_{i , j}}{\Delta S} - \frac{f_{i , j} - f_{i , j - 1}}{\Delta S}\right) $$或者
$$ \frac{\partial^{2} f}{\partial S^{2}} = \frac{f_{i , j + 1} + f_{i , j - 1} - 2 f_{i , j}}{\Delta S^{2}}\tag{21-26} $$将式(21-24)、式(21-25)和式(21-26)代入微分方程式(21-21),并且注意 $S = j\Delta S$ ,得出
$$ \frac{f_{i + 1 , j} - f_{i , j}}{\Delta t} + (r - q) j \Delta S \frac{f_{i , j + 1} - f_{i , j - 1}}{2 \Delta S} + \frac{1}{2} \sigma^{2} j^{2} \Delta S^{2} \frac{f_{i , j + 1} + f_{i , j - 1} - 2 f_{i , j}}{\Delta S^{2}} = r f_{i, j} $$其中 $j=1,2,\cdots,M-1,i=0,1,\cdots,N-1$ 。将方程进行整理,我们得出
$$ a_{j} f_{i, j - 1} + b_{j} f_{i, j} + c_{j} f_{i, j + 1} = f_{i + 1, j}\tag{21-27} $$其中
$$ \begin{array}{l} a_{j} = \frac{1}{2} (r - q) j \Delta t - \frac{1}{2} \sigma^{2} j^{2} \Delta t \\ b_{j} = 1 + \sigma^{2} j^{2} \Delta t + r \Delta t \\ c_{j} = - \frac{1}{2} (r - q) j \Delta t - \frac{1}{2} \sigma^{2} j^{2} \Delta t \end{array} $$看跌期权在时间 $T$ 的值为 $\max (K - S_T, 0)$ ,其中 $S_T$ 为股票在 $T$ 时刻的价格,因此
$$ f_{N, j} = \max (K - j \Delta S, 0), \quad j = 0, 1, \dots , M\tag{21-28} $$当股票价格为0时,看跌期权的价格为 $K$ ,因此
$$ f_{i, 0} = K, \quad i = 0, 1, \dots , N\tag{21-29} $$我们假定当 $S = S_{max}$ 时,期权价格为 0,因此
$$ f_{i, M} = 0, \quad i = 0, 1, \dots , N\tag{21-30} $$式(21-28)、式(21-29)和式(21-30)定义了看跌期权在图21-15所示网格的三个边上的取值,这三个边分别对应 $S = 0$ , $S = S_{\mathrm{max}}$ 和 $t = T$ 。接下来,我们要利用式(21-27)来计算 $f$ 在其他节点的值。当 $i = N - 1$ 时,式(21-27)可写为
$$ a_{j} f_{N - 1, j - 1} + b_{j} f_{N - 1, j} + c_{j} f_{N - 1, j + 1} = f_{N, j}\tag{21-31} $$其中 $j=1,2,\cdots,M-1$ 。由式(21-28)我们知道方程右端的值,而且由式(21-29)和式(21-30)我们得出
$$ f_{N - 1, 0} = K\tag{21-32} $$$$ f_{N - 1, M} = 0\tag{21-33} $$式(21-31)同时给出了关于 M-1 个未知量的 M-1 个方程,这些未知量为 $f_{N-1,1}$ , $f_{N-1,2}$ ,…, $f_{N-1,M-1}$ 。 $^{\ominus}$ 一旦以上未知量确定后,我们将 $f_{N-1,j}$ 与 $K-j\Delta S$ 进行比较。如果 $f_{N-1,j} 控制变量技巧可以与有限差分法并用。在定价过程中,一旦设定时间和标的资产的网格后,我们采用同样的网格来对于一个类似但具有解析解的期权进行定价,然后利用式(21-20)。 表 21-4 显示了由隐式方法求出的例 21-1 中美式看跌期权的数值解。在这里,参数 M, N 和 $\Delta S$ 分别等于 20 美元、10 美元和 5 美元。因此,在定价过程中,我们将 0 美元和 100 美元之间分成了每 5 美元一个的价格区间,并同时将期权期限分成了每半个月一步的时间段。由这一网格得出的期权的价格为 4.07 美元,由同一网格给出的欧式期权价格为 3.91 美元,布莱克-斯科尔斯-默顿公式给出的欧式期权准确值为 4.08 美元。因此,由控制变量技巧得出的美式期权价格近似值为 表 21-4 采用隐式差分来计算例 21-1 中美式期权价格的网格 隐式差分方法的优点在于其稳定性,当 $\Delta S$ 和 $\Delta t$ 趋于 0 时,由隐式差分方法得出的数值解总是收敛于微分方程的解, $^{①}$ 但其中一个缺点是由 $f_{i+1,j}$ 的值计算 $f_{i,j}$ 时,我们必须同时对M-1个方程求解。当假设 $\partial f/\partial S$ 和 $\partial^{2}f/\partial S^{2}$ 的值在点 $(i,j)$ 上与 $(i+1,j)$ 上相等时,有限差分法可以得到简化。这时式(21-24)和式(21-26)变为 差分方程变为 即 其中 这样我们就产生了所谓的显式有限差分法(explicit finite difference method)。图21-16显示了隐式差分法与显式差分法的区别。由式(21-27)定义的隐式差分给出了 $i\Delta t$ 时刻的3个不同的期权值(即 $f_{i,j-1}$ , $f_{i,j}$ 和 $f_{i,j+1}$ )与 $(i+1)\Delta t$ 时刻的1个期权值(即 $f_{i+1,j}$ )之间的关系;由式(21-34)定义的显式差分给出了 $i\Delta t$ 时刻的1个不同的期权值(即 $f_{i,j}$ )与 $(i+1)\Delta t$ 时刻的3个期权值(即 $f_{i+1,j-1}$ , $f_{i+1,j}$ 和 $f_{i+1,j+1}$ )之间的关系。 表 21-5 通过显式差分法计算例 21-1 中美式期权价格的网格 如果利用几何布朗运动来描述标的资产价格,在应用有限差分法时以 $\ln S$ 作为标的变量比以 $S$ 作为标的变量会更有效。定义 $Z = \ln S$ ,式(21-21)变为 这时为了给衍生产品定价,我们应该针对 $Z$ 设定等距离网格,而不是针对 $S$ 设定等距离网格。在隐式法中,微分方程变为 即 其中 在显式法中,差分方程为 即 其中 经过变量替换后,参数 $\alpha_{j}$ , $\beta_{j}$ 和 $\gamma_{j}$ 以及 $\alpha_{j}^{*}$ , $\beta_{j}^{*}$ 和 $\gamma_{j}^{*}$ 都有独立于 j 的特征。在大多数情况下 $\Delta Z = \sigma \sqrt{3 \Delta t}$ 是个很好的选择。 显式有限差分法与三叉树法等价。 $^{①}$ 式(21-34)中参数 $a_{j}^{*}$ , $b_{j}^{*}$ 和 $c_{j}^{*}$ 可以理解为 $-\frac{1}{2}(r-q)j\Delta t+\frac{1}{2}\sigma^{2}j^{2}\Delta t$ :在 $\Delta t$ 时间内,股票价格由 $j\Delta S$ 跌至 $(j-1)\Delta S$ 的概率 $1 - \sigma^{2}j^{2}\Delta t$ :在 $\Delta t$ 时间内,股票价格 $j\Delta S$ 保持不变的概率 $\frac{1}{2} (r - q) j \Delta t + \frac{1}{2} \sigma^2 j^2 \Delta t$ :在 $\Delta t$ 时间内,股票价格由 $j \Delta S$ 升至 $(j + 1) \Delta S$ 的概率 这种解释显示在图21-17 上。这 3 个概率的和等于 1。这些概率保证在 $\Delta t$ 时间后,股票价格的增长期望为 $(r - q)j\Delta S\Delta t = (r - q)S\Delta t$ ,这恰恰是股票价格在风险中性世界的增长值期望。当 $\Delta t$ 很小时,这些概率同时也保证在 $\Delta t$ 时间内股票价格变动的方差为 $\sigma^2 j^2 \Delta S^2 \Delta t = \sigma^2 S^2 \Delta t$ ,这恰恰对应于 $S$ 所服从的随机过程。 $f$ 在 $i\Delta t$ 时刻的值等于将 $(i + 1)\Delta t$ 时刻的 $f$ 值在风险中性世界里的期望以无风险利率加以贴现。 为了保证能够使用显式有限差分法,以下3个“概率”必须为正 在例21-11中,当 $j \geqslant 13$ 时(即当 $S \geqslant 65$ 时), $1 - \sigma^{2} j^{2} \Delta t$ 为负。这给出了在表21-5的左上角期权价格为负和其他矛盾的原因。这个例子说明了显式差分法的主要问题:因为树形结构中的概率可能为负,由此得出的数值解不一定收敛于微分方程的解。 当利用变量替换时(见式(21-36)~式(21-39)),变量 $Z = \ln S$ 减少 $\Delta Z$ 、保持不变、增加 $\Delta Z$ 的概率分别为
$$ Z 的这些变化值对应于 S 的变化值分别为 $Se^{-\Delta Z}$ 、S 和 $Se^{\Delta Z}$ 的 S 的变化值。如果取 $\Delta Z = \sigma \sqrt{3 \Delta t}$ ,这里得出的树形和概率与 21.4 节中的三叉树结果相同。 研究人员提出了许多种关于求解微分方程的有限差分方法,其中有些方法中既包含显式有限差分的特性,也包含隐式方法的特性。 在所谓的跳格法(hopscotch method)中,当从一个节点转向另一个节点时,我们交替地使用隐式格式和显式格式,图21-18说明了这一方法。在每个时刻,我们首先按通常的显式方法在显式节点(E)完成计算,然后,我们可以不需要求解方程组就可以得到在隐式节点(I)上的数值解,这是因为我们已经得出了与隐式节点相邻节点上的取值。 在 Crank-Nicholson 法(Crank-Nicholson scheme)中, $\frac{f_{i+1,j} - f_{i,j}}{\Delta t}$ 被设定为隐式法与显式法的平均。图21-18 跳格差分法(I 代表隐式节点,E 代表显式节点) 对于任何树形方法适用的衍生产品,有限差分法也适用。它们既可以用来处理欧式期权定价,也可以用来处理美式期权定价,但这一方法很难用于衍生产品收益与标的变量历史价格有关的情形。有限差分法可用于多标的变量的情形,但计算时间会大大增加,因为这时图21-15的网格会变成多维的形式。 在有限差分法中,计算希腊值的方法与树形法类似。Delta, Gamma 和 Theta 可以直接由 $f_{i,j}$ 在网格上的值得出。对于 Vega,我们需要对波动率做一个很小的变化,然后再由同一个网格计算衍生产品的数值解。 对于不存在解析解的衍生产品,我们列举了计算其价格的3种数值方法,包括树形法、蒙特卡罗模拟和有限差分法。 在二叉树法中,我们假设在每个很小时间区间 $\Delta t$ 内,股票价格或按比例 $u$ 上升,或按比率 $d$ 下降。在选择 $u$ 和 $d$ 以及它们所对应的概率时,我们保证在风险中性世界里股票价格的变化具有正确的期望值和标准差。衍生产品的价格可以从二叉树的末端开始倒退计算得出。对于美式期权,在每个节点上的价格等于以下数值中的最大值:(a)期权被立即行使后的价格,(b)期权被再持有 $\Delta t$ 时间的价格期望值的贴现。 蒙特卡罗模拟是利用随机数来对衍生产品标的变量在风险中性世界里的不同路径进行模拟。对于每一条路径,我们均可以得出衍生产品收益的贴现值,其算术平均即为衍生产品价格的近似值。 有限差分法是将衍生产品价格所满足的微分方程转换为差分方程后再来求解。类似于树形法,计算衍生产品的价格从期限的最后时刻开始再倒推到期限的初始时刻。显式法在功能上与三叉树等价,隐式有限差分比显式有限差分更为复杂,但其优点是用户不需要为取得收敛性而进行任何特殊处理。 在实际中,选择哪种方法取决于被估价的衍生产品的特性,以及用户对所得数值解的精确度要求。蒙特卡罗模拟从衍生产品的期限开始运作到期限的结束。蒙特卡罗法一般只适用于欧式期权定价,但也能用来处理复杂的收益形式。当标的资产数量增加时,这一方法的相对效率较高。树形法和有限差分法的计算由期限的末端开始,倒退到期限的开始,而且这两个方法均既可用于欧式期权,也可用于美式期权。但对于最终的收益既依赖于标的变量历史值也依赖于当前值的情形,应用树形法和有限差分法会很困难。并且当衍生产品包括3个或更多的标的变量时,树形法和有限差分法的计算量会很大。 Clewlow, L., and C. Strickland, Implementing Derivatives Models. Chichester: Wiley, 1998. Press, W. H., S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery, Numerical Recipes in C: The Art of Scientific Computing, 3rd edn. Cambridge University Press, 2007. Cox, J. C., S. A. Ross, and M. Rubinstein. "Option Pricing: A Simplified Approach," Journal of Financial Economics, 7 (October 1979): 229–64. Figlewski, S., and B. Gao. “The Adaptive Mesh Model: A New Approach to Efficient Option Pricing,” Journal of Financial Economics, 53 (1999): 313–51. Hull, J. C., and A. White, “The Use of the Control Variate Technique in Option Pricing,” Journal of Financial and Quantitative Analysis, 23 (September 1988): 237–51. Rendleman, R., and B. Bartter, “Two State Option Pricing,” Journal of Finance, 34 (1979): 1092–1110. 关于蒙特卡罗模拟法 Boyle, P. P., “Options: A Monte Carlo Approach,” Journal of Financial Economics, 4 (1977): 323–38. Boyle, P. P., M. Broadie, and P. Glasserman. “Monte Carlo Methods for Security Pricing,” Journal of Economic Dynamics and Control, 21 (1997): 1267–1322. Broadie, M., P. Glasserman, and G. Jain. “Enhanced Monte Carlo Estimates for American Option Prices,” Journal of Derivatives, 5 (Fall 1997): 25–44.## 关于有限差分 Hull, J. C., and A. White, “Valuing Derivative Securities Using the Explicit Finite Difference Method,” Journal of Financial and Quantitative Analysis, 25 (March 1990): 87–100. Wilmott, P., Derivatives: The Theory and Practice of Financial Engineering. Chichester: Wiley, 1998. 21.1 在美式期权的希腊值 Delta、Gamma、Ve-ga、Theta 和 Rho 中,哪一个可以通过构造单个二叉树来估计? 21.2 计算一个3个月期限的美式看跌期权的价格,这里的标的股票不支付股息,其当前价格为60美元,执行价格为60美元,无风险利率为每年 $10\%$ ,波动率为每年 $45\%$ ,构造时间段为1个月的二叉树来为这一期权定价。 21.3 解释当采用树形结构对美式期权定价时,如何应用控制变量技巧。 21.4 计算玉米期货上9个月期限的欧式看涨期权价格,这里的玉米期货当前价格为198美分,执行价格为200美分,无风险利率为每年 $8\%$ ,波动率为每年 $30\%$ ,构造时间段为3个月的二叉树来为这一期权定价。 21.5 考虑一个期权,其最终收益等于股票最终价格与在期限内股票平均价格的差额,这一期权能否用二叉树来定价?解释你的答案。 21.6 “对于支付股息的股票,股价的树形不重合;但从股价中减去股息的贴现值后,其树形重合。”解释这一论点。 21.7 说明在21.4节脚注所示的情况下,应用CRR二叉树时,将出现负概率值。 21.8 利用间隔抽样抽取100样本来改善业界事例21-1和表21-1中关于 $\pi$ 近似值的精度。 21.9 说明为什么蒙特卡罗模拟法不能很容易地用来对美式衍生产品定价。 21.10 考虑某个无股息股票上9个月期限的美式看跌期权,期权执行价格为49美元,股票的当前价格为50美元,无风险利率为每年 $5\%$ ,波动率为每年 $30\%$ 。采用 3 步二叉树来对期权定价。 21.11 采用3步树形来对一个小麦期货上9个月期限的美式看涨期权进行定价。期货的当前价格为400美分,执行价格为420美分,无风险利率为每年 $6\%$ ,波动率为每年 $35\%$ 。由二叉树估算期权的Delta。 21.12 某股票上3个月期限的美式看涨期权执行价格为20美元,股票价格为20美元,无风险利率为每年 $3\%$ ,波动率为每年 $25\%$ ,在1.5个月时,股票将支付2美元股息,采用3步二叉树对期权定价。 21.13 在某无股息股票上1年期美式看跌期权的执行价格为18美元,股票的当前价格为20美元,无风险利率为每年 $15\%$ ,股票价格的波动率为每年 $40\%$ 。由DerivaGem软件并采用4步、步长为3个月的二叉树为期权定价。展示树形结构,并验证树的最后一步以及倒数第2步的期权价格的正确性。采用DerivaGem对相应的欧式期权定价。利用控制变量技巧来提高美式期权近似值的精度。 21.14 考虑某股指上2个月期限的美式看跌期权,期权的执行价格为480,股指的当前值为484,无风险利率为每年 $10\%$ ,股指股息收益率为每年 $3\%$ ,股指波动率为每年 $25\%$ 。将期权期限分为4个步长为半个月的区间,利用树形结构为这一期权进行估价。 21.15 当采用树形方法时,如何应用控制变量技巧来改进美式期权的 Delta 估计值? 21.16 假设我们采用蒙特卡罗模拟法为某无股息股票的欧式看涨期权定价,股价的波动率为随机。解释如何应用控制变量技巧和对偶变量技巧来改进计算效率。解释在同时应用控制变量技巧和对偶变量技巧时,为什么需要计算6个期权值? 21.17 说明当采用隐式有限差分法对美式看涨期权定价时式(21-27)~式(21-30)的变化情况。 21.18 考虑某无股息股票上4个月期限的美式看跌期权,期权的执行价格为21美元,股票的当前价格为20美元,无风险利率为每年 $10\%$ ,波动率为每年 $30\%$ 。采用显式有限差分法对期权定价,在计算中采用4美元的价格间隔和1个月的时间间隔。 21.19 黄铜的即期价格为每磅0.60美元。假定期货价格(每磅的美元数量)如下 黄铜价格的波动率为每年40%,无风险利率为每年6%。采用二叉树对一个执行价格为0.60美元、期限为1年的美式看涨期权进行定价。在计算过程中将期限分成4个长度为3个月的时间区间(提示:如 18.7 节所示,在风险中性世界里,期货价格等于将来价格的期望值)。 21.20 采用练习题21.19的二叉树对以下证券定价:该证券在一年时的收益为 $x^{2}$ ,其中 $x$ 为黄铜价格。 21.21 在显式有限差分法中,在什么时候边界条件 $S = 0$ 和 $S \to \infty$ 会影响衍生产品价格的估计值? 21.22 你应如何采用对偶变量法来改善业界事例 21-2 和表 21-2 中欧式期权近似值的精度? 21.23 一家公司发行了3年期的可转换债券,面值为25美元。证券持有者可在任何时刻将债券转换为两只发行公司的股票。当股票价格高于或等于18美元时,公司可提前赎回债券。假定公司将会在最早的时刻强制转换债券,可转换债券所满足的边界条件是什么?假定利率为常数,你将如何利用有限差分法来对可转换债券定价?假定公司无违约风险。 21.24 假定样本 $i$ 和样本 $j$ 之间的相关系数为 $\rho_{i,j}$ ,提供由标准正态分布中抽取3个随机样本的公式。 21.25 考虑一美式看跌期权,期权持有者有权在1年末以每瑞士法郎0.80美元的价格卖出瑞士法郎。瑞士法郎汇率的波动率为每年 $10\%$ ,美元的无风险利率为 $6\%$ ,瑞士法郎的无风险利率为 $3\%$ ,当前的汇率为0.81。采用3步二叉树给这一期权定价。利用你所构造的树形估计期权的Delta。 21.26 白银期货上1年期的美式看跌期权执行价格为9美元。期货的当前价格为8.50美元,无风险利率为每年 $12\%$ ,期货波动率为每年 $25\%$ 。采用DerivaGem软件,并以步长为3个月的4步二叉树对期权定价。显示树形结果并验证最后一步与倒数第2步结点上期权价格的正确性。采用DerivaGem对相应的欧式期权定价,并采用控制变量技巧来改善美式期权价格的精度。 21.276个月期限美式看涨期权的标的股票将在第2个月末与第5个月末支付每股1美元的股息。股票的当前价格为30美元,执行价格为34美元,无风险利率为每年 $10\%$ 。对于除去股息的股票部分波动率为每年 $30\%$ 。采用DerivaGem软件,将期权期限分为100个时间区间来估计期权价格。将你的答案与布莱克近似模型(见15.12节)进行比较。 21.28 假定 1 英镑的当前价格为 1.60 美元,汇率波动率为 15%,一个关于英镑上的美式看涨期权执行价格为 1.62 美元,期限为 1 年。美国和英国的无风险利率分别为每年 6% 及每年 9%。采用显式有限差分法对期权定价。在定价中,在汇率0.80与2.40之间选用0.20的汇率间隔,时间间隔为3个月。 21.29 当采用 21.4 节给出的另外一种构造树形结构的方法来对期权定价时: (a) 在 21.4 节里给出的二叉树与股票价格的对数在 $\Delta t$ 时间段变化的均值和方差一致。 (b) 证明当 $\Delta t^2$ 等高阶项被忽略时,21.4节中给出的三叉树与股票价格的对数在 $\Delta t$ 时间区间里的变化均值和方差一致。 (c) 采用21.4节里的另一种方式来构造三叉树,在每个节点上,股票价格上升、取中间值、下降的概率分别为 $1 / 6$ 、 $2 / 3$ 、 $1 / 6$ ,假定价格由 $S$ 分别可以变化为 $Su$ 、 $Sm$ 、 $Sd$ ,其中 $m^2 = ud$ 。在构造树形结构时,使股票价格对数变化的均值和方差被得以匹配。 21.30 利用软件 DerivaGem 的 Application Builder 功能检验由二叉树所得出的期权结果在步数增大时趋向于真解的收敛性(见图21-4 和 DerivaGem 的 Sample Application A)。考虑关于某股指上的看跌期权,股值取值为 900,执行价格为 900,无风险利率为 5%,股指股息收益率为 2%,期限为 2 年。 (a) 对于欧式期权和波动率等于 $20\%$ 的情形,生成类似于 Sample Application A 中关于收敛性的结果。 (b) 对于美式期权和波动率等于 $20\%$ 的情形,生成类似于Sample Application A中关于收敛性的结果。 (c) 波动率等于 $20\%$ ,采用控制变量技巧,画出美式期权价格与二叉树步数之间函数关系的图形。 (d) 假定美式期权的市场价格为 85.0。画出由二叉树估计的隐含波动率与二叉树步数之间函数关系的图形。 21.31 从例21-3的树形上估计Delta、Gamma和Theta。解释如何理解这些参数。 21.32 在例 21-4 中,在第 9 个月最下面的节点上提前行使期权的是多少? 21.33 利用 4 步 CRR (Cox-Ross-Rubinstein) 二叉树来对关于某指数的一年期看跌期权进行定价,指数当前值为 500,期权执行价格为 500,指数收益率为 2%,无风险利率为 5%,指数波动率为每年 25%。期权的价格、Delta、Gamma 和 Theta 分别为多少?解释如何计算 Vega 和 Rho。 在第 19 章里我们讨论了用于描述衍生产品投资组合风险量的不同测度,其中包括 Delta, Gamma 与 Vega,这些测度是为了描述由衍生产品构成的投资组合的不同风险。金融机构通常每一天都会对自己所面临的市场变量进行风险计量,计算过程中常常会涉及成千上万个市场变量,因此每天的 Delta-Gamma-Vega 分析可能会产生大量不同的风险数据。这些风险数据对于金融机构的交易员来讲非常重要,但对金融机构面临的整体风险却没有提供描述。 风险价值度(value at risk,VaR)试图为高级管理人员提供一个囊括投资组合全部风险,并以单一数字来表达的风险度量。这一方法已经被银行的资产部、基金管理人员以及其他金融机构广泛采用。银行监管部门也采用 VaR 来确定银行因承担风险而需要的资本金。 在这一章里,我们将介绍 VaR 这一概念,并描述计算 VaR 的两种方法:历史模拟法(historical simulation approach)和模型构建法(model-building approach)。股票价格(美元) 距离到期日的时间(月) 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 100 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 95 0.02 0.02 0.01 0.01 0.00 0.00 0.00 0.00 0.00 0.00 0.00 90 0.05 0.04 0.03 0.02 0.01 0.01 0.00 0.00 0.00 0.00 0.00 85 0.09 0.07 0.05 0.03 0.02 0.01 0.01 0.00 0.00 0.00 0.00 80 0.16 0.12 0.09 0.07 0.04 0.03 0.02 0.01 0.00 0.00 0.00 75 0.27 0.22 0.17 0.13 0.09 0.06 0.03 0.02 0.01 0.00 0.00 70 0.47 0.39 0.32 0.25 0.18 0.13 0.08 0.04 0.02 0.00 0.00 65 0.82 0.71 0.60 0.49 0.38 0.28 0.19 0.11 0.05 0.02 0.00 60 1.42 1.27 1.11 0.95 0.78 0.62 0.45 0.30 0.16 0.05 0.00 55 2.43 2.24 2.05 1.83 1.61 1.36 1.09 0.81 0.51 0.22 0.00 50 4.07 3.88 3.67 3.45 3.19 2.91 2.57 2.17 1.66 0.99 0.00 45 6.58 6.44 6.29 6.13 5.96 5.77 5.57 5.36 5.17 5.02 5.00 40 10.15 10.10 10.05 10.01 10.00 10.00 10.00 10.00 10.00 10.00 10.00 35 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 30 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 25 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 20 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 15 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 10 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 5 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 0 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 21.8.2 显式有限差分法#

图21-16 显式差分和隐式差分的区别股票价格(美元) 距离到期日的时间(月) 5 4.5 4 3.5 3 2.5 2 1.5 1 0.5 0 100 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 95 0.06 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 90 -0.11 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 85 0.28 -0.05 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 80 -0.13 0.20 0.00 0.05 0.00 0.00 0.00 0.00 0.00 0.00 0.00 75 0.46 0.06 0.20 0.04 0.06 0.00 0.00 0.00 0.00 0.00 0.00 70 0.32 0.46 0.23 0.25 0.10 0.09 0.00 0.00 0.00 0.00 0.00 65 0.91 0.68 0.63 0.44 0.37 0.21 0.14 0.00 0.00 0.00 0.00 60 1.48 1.37 1.17 1.02 0.81 0.65 0.42 0.27 0.00 0.00 0.00 55 2.59 2.39 2.21 1.99 1.77 1.50 1.24 0.90 0.59 0.00 0.00 50 4.26 4.08 3.89 3.68 3.44 3.18 2.87 2.53 2.07 1.56 0.00 45 6.76 6.61 6.47 6.31 6.15 5.96 5.75 5.50 5.24 5.00 5.00 40 10.28 10.20 10.13 10.06 10.01 10.00 10.00 10.00 10.00 10.00 10.00 35 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 15.00 30 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 20.00 25 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 25.00 20 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 30.00 15 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 35.00 10 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 5 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 45.00 0 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 50.00 21.8.3 变量替换#
21.8.4 与三叉树法的关系#
图21-17 将显式差分法解释为三叉树
$$
1 - \frac{\Delta t}{\Delta Z^{2}} \sigma^{2}
$$$$
\frac{\Delta t}{2 \Delta Z} \left(r - q - \frac{\sigma^{2}}{2}\right) + \frac{\Delta t}{2 \Delta Z^{2}} \sigma^{2}
$$21.8.5 其他差分法#

21.8.6 有限差分法的应用#
小结#
推荐阅读#
一般性文献#
关于树形算法#
练习题#
3个月 0.59 6个月 0.57 9个月 0.54 12个月 0.50 