量化交易中文教材

第 18 章 期货期权与 Black 模型

到目前为止讨论的期权,行权时立即买卖标的资产本身,称为现货期权(spot options / options on spot)。本章讨论期货期权(futures options / options on futures):行权时持有人得到的是一个期货头寸。美国商品期货交易委员会(CFTC)1982 年试点批准期货期权,1987 年永久批准,此后它迅速成为商品、利率和股指衍生品市场的主力品种。

本章的理论核心可以浓缩成一句话:在风险中性世界里,期货价格是一个零漂移的过程(鞅),因此它的行为就像一只股息率 \(q=r\) 的股票。 有了这句话,第 17 章的所有结果——平价、二叉树、Merton 公式——都可以直接套用,得到 Black (1976) 模型。更重要的是,Black 模型可以为任何欧式现货期权估值,只要知道与期权同时到期的期货(或远期)价格,而且完全不需要估计标的资产的股息或便利收益。这正是交易员偏爱它的原因。

学习目标

  1. 说明期货期权的行权机制和到期月命名规则,会计算行权收益,了解利率期货期权的报价单位。
  2. 推导期货期权的看涨-看跌平价与价格界限。
  3. 用一步和多步二叉树为期货期权定价,理解 \(p=(1-d)/(u-d)\) 的来源。
  4. 证明风险中性世界中期货价格的期望漂移为零,写出对应的 PDE。
  5. 掌握 Black 模型,并会用它为欧式现货期权定价。
  6. 比较美式期货期权与美式现货期权,理解期货式期权的定价。

读前导读

这一章在解决什么问题

CFA 里你学过期货的逐日盯市:进入期货不花钱,每天按价格变化结算盈亏。这一章抓住的正是"进入期货不花钱"这一点:既然持有期货的成本是零,在风险中性世界里它的期望收益也必须是零,所以期货价格没有漂移。把它代入第 17 章的框架,等于令持有收益 \(q=r\)(融资成本与持有收益恰好抵消),得到 Black (1976) 模型。

Black 模型的价值远超期货期权本身:只要知道与期权同时到期的期货或远期价格,任何欧式期权——商品、外汇、股指、甚至利率(第 29 章的利率上限、互换期权)——都可以用同一个公式定价,而不必关心股息、便利收益、仓储成本这些难以观测的量。它们全都已经体现在远期价格里了。对熟悉固定收益的读者,可以这样理解:Black 模型之于期权,就像"用远期利率定价远期利率协议"一样,只需要远期价格这一个输入。

需要先想起来的数学

1. 期望的迭代性质(塔性质)。 \(E[E(X\mid Y)]=E(X)\):先在已知部分信息的条件下求期望,再对这部分信息求期望,等于直接求期望。例:明天期货价格的期望是今天的价格,后天价格在明天条件下的期望是明天的价格,那么今天看后天的期望也是今天的价格。见 第 00 册第 07 章 概率中的分析工具。

2. 鞅。 一个随机过程若"给定今天的信息,未来任意时刻的期望值等于今天的值",就叫鞅(martingale)。直观地说,它是一场公平赌局:没有可预测的涨跌趋势。期货价格在风险中性世界里是鞅;股票价格不是(它的期望增长率为 \(r\)),但"股价 / 银行账户"是鞅。见 第 00 册第 07 章 概率中的分析工具(条件期望),正式定义在本册第 28 章。

3. 一步二叉树复制。 用 \(\Delta\) 份标的加现金复制期权,\(\Delta=(f_u-f_d)/(S_u-S_d)\)。本章唯一的变化是:标的是期货,买入期货不花钱,所以组合今天的价值只有期权本身。

4. 偏导数与 PDE。 第 15a 章的 BSM 方程中,一阶项 \(rSf_S\) 来自持有标的的融资成本。期货不需要融资,这一项就消失了。

怎么读这一章

必读:18.4(平价)、18.6(二叉树中 \(p=(1-d)/(u-d)\) 的来源)、18.7(期货价格零漂移的证明)、18.8(Black 模型及其用于现货期权)。18.1 的合约细节和报价单位对实盘很重要,但概念上可以快速浏览。18.9、18.10 第一次可以只看结论。


18.1 期货期权的性质

期货期权是在某日期之前以某个期货价格进入期货合约的权利(不是义务)。看涨期货期权是建立期货多头的权利,看跌期货期权是建立期货空头的权利。交易所交易的期货期权通常是美式的。

行权机制。 看涨期权行权时,持有人得到标的期货的多头头寸,外加现金 = 最近结算的期货价格 − 执行价;看跌期权行权时,持有人得到期货空头,外加现金 = 执行价 − 最近结算期货价格。由于期货头寸本身价值为零(可立即按当前价平仓),持有人的有效收益为看涨 \(\max(F-K,0)\)、看跌 \(\max(K-F,0)\),\(F\) 为行权时的期货价格。

例 18.1 8 月 15 日,投资者持有一份 9 月铜期货看涨期权,执行价 320 美分/磅,一份期货 25,000 磅。当前 9 月期货价 331 美分,8 月 14 日收盘结算价 330。 行权得现金 \(25{,}000\times(330-320)\) 美分 = 2,500 美元,外加 9 月期货多头。若立即平仓,再得 \(25{,}000\times(331-330)\) 美分 = 250 美元(上次结算以来的价格变化)。总收益 2,750 美元 = \(25{,}000(F-K)\)。

例 18.2 12 月玉米期货看跌,执行价 600 美分/蒲式耳,一份 5,000 蒲式耳;当前期货价 580,最近结算价 579。 行权得现金 \(5{,}000\times(600-579)\) 美分 = 1,050 美元,外加期货空头;平仓需付 \(5{,}000\times(580-579)\) 美分 = 50 美元,净收益 1,000 美元 = \(5{,}000(K-F)\)。

到期月份

期货期权以标的期货的交割月命名,而不是以期权到期月命名。期权到期日通常在标的期货最后交易日之前不久(例如 CME 国债期货期权在期货交割月前一个月月底之前、至少两个营业日的最后一个周五到期)。例外是 CME 的中间曲线(mid-curve)欧洲美元期权,其标的期货在期权到期后 1 年或 2 年才到期。

美国热门的期货期权合约包括:玉米、大豆、棉花、国际原糖、原油、天然气、黄金、长期国债、中期国债、5 年期国债、30 天联邦基金、欧洲美元、1 年和 2 年 mid-curve 欧洲美元、Euribor、欧洲 Bund、S&P 500。

利率期货期权

美国最活跃的是长期国债期货、中期国债期货和欧洲美元期货的期权(这些期货本身见第 6 章)。

  • 国债期货期权(CME):标的是面值 10 万美元国债的期货合约;期权价格以面值百分比报价,精确到 1% 的 1/64。
  • 欧洲美元期货期权(CME):期货报价变动 1 个基点(0.01)对应 25 美元盈亏;期权定价中 1 个基点同样代表 25 美元。

利率期货价格随债券价格上涨(即利率下降)而上涨。所以:预期短期利率上升,买欧洲美元期货看跌;预期下降,买看涨。预期长期利率上升,买中/长期国债期货看跌;预期下降,买看涨。

例 18.3 2 月,6 月欧洲美元期货价格 93.82(对应 3 个月利率 6.18%);执行价 94.00 的看涨报价 0.1(10 个基点)。若利率下降约 100 个基点,在期货价 94.78(利率 5.22%)时行权,收益 \(25\times(94.78-94.00)\times100=1{,}950\) 美元;成本 \(10\times25=250\) 美元;利润 1,700 美元。

例 18.4 8 月,12 月国债期货价格 96-09(即 \(96\tfrac{9}{32}=96.28125\)),长期国债收益率约 6.4%。预期收益率下降的投资者买执行价 98 的 12 月看涨,价格 1-04(即 \(1\tfrac{4}{64}=1.0625\%\) 面值)。若长期利率降到 6%、期货价升到 100-00,每 100 美元面值净利 \(100-98-1.0625=0.9375\);合约面值 10 万美元,每份利润 937.50 美元。

注意两种报价的分母不同:国债期货以 1/32 报价,国债期货期权以 1/64 报价。回测或实盘计算盈亏时弄错这类单位是常见事故。


18.2 期货期权为什么流行

  • 期货合约在许多情况下比标的资产流动性更好、更容易交易;期货价格可从交易所即时获得,现货价格未必。以国债为例:国债期货市场远比任何单只国债活跃,债券价格则需要向交易商询价。
  • 交割期货比交割实物方便得多——交割活牛期货比交割活牛本身容易。
  • 期货期权行权通常不会导致标的资产交割,期货大多在交割前平仓,所以期货期权最终多以现金结算,对资金有限的投资者有吸引力。
  • 期货和期货期权在同一交易所并列交易,便于对冲、套利和投机,交易成本往往低于现货期权。

18.3 欧式现货期权与期货期权

欧式现货看涨的收益为 \(\max(S_T-K,0)\),欧式期货看涨的收益为 \(\max(F_T-K,0)\),\(F_T\) 是期权到期时的期货价格。若期货与期权同时到期,则 \(F_T=S_T\)(期货到期价格收敛于现货),两者完全等价;看跌同理。

交易所交易的期货期权多为美式,但研究欧式期货期权很有用:其结果可以直接用来为对应的欧式现货期权估值(18.8 节)。


18.4 看涨-看跌平价

考虑两个组合:

  • 组合 A:一份欧式看涨期货期权 + 现金 \(Ke^{-rT}\);
  • 组合 B:一份欧式看跌期货期权 + 一份期货多头 + 现金 \(F_0e^{-rT}\)。

到期时:A 的现金增长到 \(K\),若 \(F_T>K\) 看涨行权,A 值 \(F_T\),否则值 \(K\),即 A \(=\max(F_T,K)\)。B 的现金增长到 \(F_0\),看跌收益 \(\max(K-F_T,0)\),期货收益 \(F_T-F_0\)(假设期货像远期一样到期才结算),B \(=F_0+(F_T-F_0)+\max(K-F_T,0)=\max(F_T,K)\)。

两组合到期价值相等,欧式期权又不能提前行权,所以今天价值相等。期货合约今天价值为零,于是

\[c+Ke^{-rT}=p+F_0e^{-rT}\tag{18.1}\]

白话解释:组合 B 里为什么要放现金 \(F_0e^{-rT}\)?因为期货多头到期只给你 \(F_T-F_0\) 这个差额,不给你 \(F_T\) 本身。要让 B 到期时"相当于持有一单位标的",必须另外备好 \(F_0\) 的现金,今天的成本是 \(F_0e^{-rT}\)。股票平价里的 \(S_0\) 是"今天就拿到一股"的成本;这里的 \(F_0e^{-rT}\) 是"\(T\) 时拿到一单位标的"的成本。

与不付息股票的平价相比,只是把 \(S_0\) 换成了贴现的期货价格 \(F_0e^{-rT}\)。当期货与期权同时到期时,(18.1) 也给出了现货看涨、现货看跌与期货价格之间的关系。

例 18.5 6 个月期现货白银欧式看涨价格 0.56 美元/盎司,执行价 8.50;6 个月白银期货价格 8.00,\(r=10\%\)。 看跌价格 \(=0.56+8.50e^{-0.1\times0.5}-8.00e^{-0.1\times0.5}=1.04\)。

美式期货期权满足(原书习题 18.19)

\[F_0e^{-rT}-K\le C-P\le F_0-Ke^{-rT}.\tag{18.2}\]

18.5 期货期权的价格界限

由 (18.1) 和 \(p\ge0\)、\(c\ge0\):

\[c\ge\max[(F_0-K)e^{-rT},0]\tag{18.3}\]
\[p\ge\max[(K-F_0)e^{-rT},0]\tag{18.4}\]

深度实值时欧式期权价格非常接近下界:看涨深度实值时对应的看跌深度虚值,\(p\approx0\),而 \(c\) 与下界之差恰好是 \(p\)。

美式期权可随时行权,所以 \(C\ge\max(F_0-K,0)\),\(P\ge\max(K-F_0,0)\)。利率为正时,美式的下界总是高于欧式的下界(少了贴现因子)——这意味着美式期货期权总有一定的提前行权可能,看涨和看跌都如此。直觉是:深度实值时,提前行权能立即拿到 \(F-K\) 的现金并开始计息,而继续持有只是等待一个期望不变的期货价格。


18.6 用二叉树为期货期权定价

与股票期权的关键区别:进入期货合约不需要前期成本。

一步树例 期货价格 30,一个月后升到 33 或降到 28;一个月期看涨期货期权执行价 29,忽略逐日结算。上升时期权收益 4、期货头寸价值 3;下降时期权收益 0、期货价值 −2。 组合"空 1 份期权 + 多 \(\Delta\) 份期货":上升时值 \(3\Delta-4\),下降时值 \(-2\Delta\),令二者相等得 \(\Delta=0.8\)。一个月后组合值 \(-2\times0.8=-1.6\),\(r=6\%\),今天值 \(-1.6e^{-0.06/12}=-1.592\)。期货今天价值为零,所以期权价值为 1.592。

一般化。 期货价格从 \(F_0\) 升到 \(F_0u\) 或降到 \(F_0d\),期权收益 \(f_u\)、\(f_d\)。无风险组合为空 1 份期权 + 多 \(\Delta=\frac{f_u-f_d}{F_0u-F_0d}\) 份期货。\(T\) 时组合值 \((F_0u-F_0)\Delta-f_u\),今天值等于 \(-f\)(期货价值为零),化简得

\[f=e^{-rT}[pf_u+(1-p)f_d]\tag{18.5}\]
\[p=\frac{1-d}{u-d}\tag{18.6}\]

验证:\(u=1.1\),\(d=0.9333\),\(p=\frac{1-0.9333}{1.1-0.9333}=0.4\),\(f=e^{-0.06/12}(0.4\times4)=1.592\)。

推导拆解:从组合价值到 (18.6) 的化简如下。组合"空 1 份期权 + 多 \(\Delta\) 份期货"今天价值 \(-f\)(期货不占资金)。\(T\) 时价值(上行情形,下行情形相同)为 \((F_0u-F_0)\Delta-f_u\)。无风险,所以 \(-f=e^{-rT}[(F_0u-F_0)\Delta-f_u]\)。 代入 \(\Delta=\frac{f_u-f_d}{F_0(u-d)}\):\((F_0u-F_0)\Delta=\frac{(u-1)(f_u-f_d)}{u-d}\)。 于是 \(f=e^{-rT}\Big[f_u-\frac{(u-1)(f_u-f_d)}{u-d}\Big]=e^{-rT}\Big[\frac{(1-d)f_u+(u-1)f_d}{u-d}\Big]\)。 令 \(p=\frac{1-d}{u-d}\),则 \(1-p=\frac{u-1}{u-d}\),即得 (18.5)。 和股票树比:股票组合今天要花 \(\Delta S_0\) 买股票,这笔资金按 \(r\) 增长,于是分子出现 \(e^{r\Delta t}\);期货不用花钱,分子就是 1。这个"1"的含义是 \(pF_0u+(1-p)F_0d=F_0\):风险中性下期货价格的期望不变。

和股票的 \(p=(e^{r\Delta t}-d)/(u-d)\) 相比,这里分子中的 \(a\) 变成了 1——期货价格在风险中性世界中不增长。多步树与股票期权完全相同:\(u=e^{\sigma\sqrt{\Delta t}}\),\(\sigma\) 为期货价格波动率,\(p=(1-d)/(u-d)\),美式期权在每个节点比较行权价值与继续持有价值。


18.7 风险中性世界中期货价格的漂移

结论:风险中性世界中,期货价格的行为与股息率 \(q=r\) 的股票相同。

两条线索:期货二叉树的 \(p\) 与 \(q=r\) 时股息率股票的 \(p\) 相同((17.15) 中 \(a=e^{(r-q)\Delta t}=1\));期货期权平价 (18.1) 与股息率股票的平价 (17.3) 在 \(S_0\to F_0\)、\(q=r\) 时相同。

证明。 设结算日为 \(0,\Delta t,2\Delta t,\dots\)。在时刻 0 建立期货多头,价值为零;\(\Delta t\) 时收到 \(F_{\Delta t}-F_0\)。用 \(\Delta t\) 期短期利率 \(r\) 做风险中性定价:

\[0=e^{-r\Delta t}\hat E[F_{\Delta t}-F_0]\ \Rightarrow\ \hat E(F_{\Delta t})=F_0 .\]

同理 \(\hat E(F_{2\Delta t}\mid F_{\Delta t})=F_{\Delta t}\)……由期望的迭代性质,\(\hat E(F_T)=F_0\) 对任何 \(T\) 成立。所以风险中性世界中期货价格漂移为零;由 (17.7),这相当于 \(q=r\) 的股票。这个结论极其一般,不依赖利率是否随机、波动率是否恒定。

推导拆解:证明的每一步依据。(1) 进入期货的成本为零,所以今天的价值为 0。(2) 期货在 \(\Delta t\) 时结算一次,现金流 \(F_{\Delta t}-F_0\);按风险中性定价,今天价值 = 贴现的风险中性期望。(3) 两者相等,且 \(e^{-r\Delta t}>0\) 可以约去,得到 \(\hat E(F_{\Delta t})=F_0\)。(4) 在 \(\Delta t\) 时重新进入期货(成本仍为 0),同样的论证给出 \(\hat E(F_{2\Delta t}\mid F_{\Delta t})=F_{\Delta t}\)。(5) 对第 (4) 步两边再对 \(F_{\Delta t}\) 取期望,用塔性质得 \(\hat E(F_{2\Delta t})=\hat E(F_{\Delta t})=F_0\),逐步推到 \(T\)。 第 (2) 步中的利率 \(r\) 是 \([0,\Delta t]\) 这一小段的利率,在期初已知,所以即使利率随机,论证也成立——这就是"不依赖利率是否随机"的含义。

金融直觉:为什么零漂移?期货是"零成本的赌约"。如果风险中性下期货价格预期上涨,买入期货就是不花钱、期望赚钱,这在风险中性世界里不可能存在。股票不同:买股票要付 \(S_0\),这笔钱本可以存银行赚 \(r\),所以股票必须预期上涨 \(r\) 才公平。期货没有这笔机会成本,所以期望涨幅是零。

更精确的说法(原书第 28 章):在以货币市场账户为计价单位(numeraire)的传统风险中性世界中,期货价格是一个鞅(martingale)——零漂移过程;而远期价格是以 \(T\) 到期零息债为计价单位的风险中性世界中的鞅。利率确定时二者一致。

通常假设风险中性下期货价格服从

\[dF=\sigma F\,dz\tag{18.7}\]

依赖于期货价格的衍生品满足的 PDE(Technical Note 7)是 (17.6) 中令 \(q=r\)、\(S\to F\):

\[\frac{\partial f}{\partial t}+\frac12\sigma^2F^2\frac{\partial^2f}{\partial F^2}=rf\tag{18.8}\]

注意它没有一阶项。量化实务的直接推论是:在风险中性蒙特卡洛模拟中,期货价格(以及远期价格)不加漂移——只有 \(-\frac12\sigma^2\) 的对数修正。


18.8 期货期权的 Black 模型

Fischer Black 1976 年首先给出。假设期货价格服从对数正态过程 (18.7),在 Merton 公式 (17.4)(17.5) 中令 \(S_0\to F_0\)、\(q=r\):

\[c=e^{-rT}[F_0N(d_1)-KN(d_2)]\tag{18.9}\]
\[p=e^{-rT}[KN(-d_2)-F_0N(-d_1)]\tag{18.10}\]
\[d_1=\frac{\ln(F_0/K)+\sigma^2T/2}{\sigma\sqrt T},\qquad d_2=d_1-\sigma\sqrt T\]

\(\sigma\) 是期货价格的波动率。当持有成本和便利收益只是时间的函数时,期货价格波动率等于标的资产波动率。用第 15b 章的对数正态引理看,这只是把 \(E(V)\) 取为 \(\hat E(F_T)=F_0\)。

例 18.6 商品期货欧式看跌,\(T=4/12\),\(F_0=K=20\),\(r=9\%\),\(\sigma=25\%\)。\(\ln(F_0/K)=0\),\(d_1=\sigma\sqrt T/2=0.07216\),\(d_2=-0.07216\);\(N(-d_1)=0.4712\),\(N(-d_2)=0.5288\)。 \(p=e^{-0.09\times4/12}(20\times0.5288-20\times0.4712)=1.12\)。

平值(\(F_0=K\))时,看涨与看跌价格相等——这是平价 (18.1) 的直接结果(原书习题 18.17)。

白话解释:Black 公式里的 \(N(d_1)\)、\(N(d_2)\) 与 BSM 含义相同:\(N(d_2)\) 是风险中性行权概率 \(\hat P(F_T>K)\);\(F_0N(d_1)\) 是"行权时拿到的期货价格"的截断期望。和 BSM 唯一不同的是把 \(e^{-rT}\) 提到了最外面:\(F_0\) 和 \(K\) 都是 \(T\) 时的金额,先在 \(T\) 时算出期望收益 \(F_0N(d_1)-KN(d_2)\),再整体贴现一次。注意 Black 看涨期权对期货价格的 delta 是 \(e^{-rT}N(d_1)\),不是 \(N(d_1)\),对冲时容易弄错。

金融直觉:例 18.7 里的黄金期货价格 1,240 已经包含了现货价格、利率、仓储成本和便利收益的全部信息(\(F_0=S_0e^{(r+u-y)T}\))。如果用 BSM 给现货期权定价,你需要分别估计仓储成本 \(u\) 和便利收益 \(y\),而后者几乎无法直接观测。Black 模型绕过了这一步,这和固定收益里"直接用市场远期曲线,而不是自己推导每个期限的期限溢价"是同一种思路。

用 Black 模型为现货期权估值

18.3 节说过,期权与期货同时到期时,欧式期货期权与欧式现货期权等价。所以 (18.9)(18.10) 可以为欧式现货期权估值。

例 18.7 6 个月期现货黄金欧式看涨,执行价 1,200;6 个月黄金期货价格 1,240,\(r=5\%\),期货价格波动率 20%。等同于 6 个月期货上的 6 个月欧式期权: \(d_1=\dfrac{\ln(1240/1200)+0.04\times0.5/2}{0.2\sqrt{0.5}}=0.3026\),\(d_2=0.1611\),\(c=e^{-0.025}[1240N(d_1)-1200N(d_2)]=88.37\)。

交易员偏好用 Black 模型为欧式现货期权估值,原因是:

  • 适用面广:标的可以是消费型或投资型资产,可以有收益也可以没有;\(F_0\) 取与期权同时到期的期货或远期价格即可。(17.13)(17.14) 就是 Black 模型用于货币现货期权,(17.8)(17.9) 是用于指数现货期权。
  • 无须估计收益或便利收益:期货/远期价格已经包含了市场对它们的估计。对商品而言,便利收益几乎不可能直接观测,这一点尤其重要。

实务上,像第 17.4 节那样,对有活跃期权的期限用平价反推远期价格,再插值得到其他期限的远期价格,这一方法适用于各种标的。


18.9 美式期货期权与美式现货期权

交易的期货期权通常是美式的。只要 \(r>0\),美式期货期权总有提前行权的可能,所以价值高于对应的欧式期货期权。

即使期货与期权同时到期,美式期货期权一般不等于对应的美式现货期权(执行价、到期日相同):

  • 正向市场(normal market):到期前期货价格始终高于现货价格。提前行权时,期货看涨拿到 \(F-K>S-K\),所以美式看涨期货期权 > 美式现货看涨;反之美式看跌期货期权 < 美式现货看跌。
  • 反向市场(inverted market):期货价格始终低于现货价格,结论相反。

白话解释:期货与期权同时到期时,到期那一刻 \(F_T=S_T\),所以欧式期货期权与欧式现货期权相同。美式的区别只在提前行权的那一刻:提前行权时,期货期权拿到的是当时的期货价格 \(F_t\),现货期权拿到的是当时的现货价格 \(S_t\),两者此时并不相等。正向市场 \(F_t>S_t\),期货看涨提前行权时拿得更多,所以更值钱;期货看跌则拿得更少,所以更便宜。

当期货比期权晚到期时,差异同样存在,而且期货到期越晚,差异越大。本章代码用同一棵现货树分别对现货价格和对应期货价格行权,演示了这一结论。


18.10 期货式期权

一些交易所(尤其在欧洲)交易期货式期权(futures-style options):以期权收益为标的的期货合约。普通期权的买方前期付现金、卖方收现金;期货式期权则像普通期货一样,双方缴纳保证金、逐日结算,最终结算价为期权收益。期货是对资产未来价格的押注,期货式期权是对期权收益的押注。

利率为常数时,期货式期权的"期货价格"等于以期权收益为标的的远期价格,也就是**延后支付(in arrears)**的期权价格——普通期权价值按无风险利率复利到到期日。由 Black 模型:

\[\text{看涨:}F_0N(d_1)-KN(d_2),\qquad\text{看跌:}KN(-d_2)-F_0N(-d_1),\]

它们与利率水平无关。对期货上的期货式期权,\(F_0\) 为标的期货的当前价格;对资产现货的期货式期权,\(F_0\) 为与期权同时到期的期货价格。平价关系为 \(p+F_0=c+K\)。

美式期货式期权可以提前行权,届时按内在价值立即最终结算。期货上的美式期货式期权永远不应提前行权——其期货价格总大于内在价值——可以按对应的欧式期权处理。


量化实战:Black-76 定价引擎与期货期权二叉树

Black-76 是商品期权、利率期货期权以及所有"基于远期价格"的欧式期权的行业标准定价引擎。下面的代码:复现例 18.5、一步树、例 18.6、例 18.7;用二叉树计算美式与欧式期货期权并观察树收敛到 Black 价格;在正向市场中比较美式期货期权和美式现货期权;展示期货式期权价格与利率无关;用蒙特卡洛验证期货价格的鞅性质。

代码中的 tree 函数有一个技巧:对"期货价格"行权的美式期权,可以在现货树上计算,只要行权收益改用节点上的期货价格 \(F_t=S_te^{(r-q)(T-t)}\)。这样同一棵树上就能公平地比较现货期权和期货期权。

import numpy as np
from scipy.stats import norm

def black76(F, K, T, r, sigma, kind="call"):
    """Black (1976) 期货期权 / 基于远期价格的欧式期权定价。"""
    d1 = (np.log(F / K) + 0.5 * sigma**2 * T) / (sigma * np.sqrt(T)); d2 = d1 - sigma * np.sqrt(T)
    if kind == "call":
        return np.exp(-r * T) * (F * norm.cdf(d1) - K * norm.cdf(d2))
    return np.exp(-r * T) * (K * norm.cdf(-d2) - F * norm.cdf(-d1))

def tree(X0, K, T, r, q, sigma, n, kind, american=True, payoff_on=None):
    """通用 CRR 树。期货:q=r(p=(1-d)/(u-d))。
    payoff_on: 若给定函数 g(X, t),则行权收益用 g 计算(用来对现货树上的'期货价格'行权)。"""
    dt = T / n; u = np.exp(sigma * np.sqrt(dt)); d = 1 / u
    p = (np.exp((r - q) * dt) - d) / (u - d); disc = np.exp(-r * dt)
    sgn = 1 if kind == "call" else -1
    g = payoff_on or (lambda X, t: X)
    X = X0 * u ** np.arange(n, -1, -1) * d ** np.arange(0, n + 1)
    V = np.maximum(sgn * (g(X, T) - K), 0)
    for i in range(n - 1, -1, -1):
        X = X0 * u ** np.arange(i, -1, -1) * d ** np.arange(0, i + 1)
        V = disc * (p * V[:-1] + (1 - p) * V[1:])
        if american:
            V = np.maximum(V, sgn * (g(X, i * dt) - K))
    return V[0]

# ---- 1) 例 18.5:用期货期权平价由看涨求看跌 ----
c, K, F, r, T = 0.56, 8.50, 8.00, 0.10, 0.5
print(f"例18.5 p = {c + K*np.exp(-r*T) - F*np.exp(-r*T):.2f}")

# ---- 2) 一步二叉树:F=30 -> 33 或 28,K=29,r=6%,一个月 ----
u, d = 1.1, 28 / 30
p = (1 - d) / (u - d)
print(f"一步树 p={p:.4f},Delta={(4-0)/(33-28):.2f},期权价值={np.exp(-0.06/12)*(p*4):.3f}")

# ---- 3) 例 18.6、18.7:Black 模型 ----
print(f"例18.6 看跌={black76(20, 20, 4/12, 0.09, 0.25, 'put'):.2f}")
print(f"例18.7 现货黄金看涨(用期货价格)={black76(1240, 1200, 0.5, 0.05, 0.20):.2f}")

# ---- 4) 美式 vs 欧式期货期权(二叉树收敛到 Black)----
for n in (50, 200, 800):
    eu = tree(20, 20, 4/12, 0.09, 0.09, 0.25, n, "put", american=False)
    am = tree(20, 20, 4/12, 0.09, 0.09, 0.25, n, "put", american=True)
    print(f"n={n:3d} 欧式树={eu:.4f}  美式树={am:.4f}")

# ---- 5) 正向市场(期货 > 现货):美式期货期权 vs 美式现货期权 ----
S0, K, T, r, q, sig = 100.0, 100.0, 1.0, 0.08, 0.0, 0.25    # 期货与期权同时到期,F_t = S_t e^{(r-q)(T-t)}
fut = lambda S, t: S * np.exp((r - q) * (T - t))
for kind in ("call", "put"):
    on_spot = tree(S0, K, T, r, q, sig, 1000, kind)
    on_fut = tree(S0, K, T, r, q, sig, 1000, kind, payoff_on=fut)
    eu = tree(S0, K, T, r, q, sig, 1000, kind, american=False)
    print(f"{kind:4s}: 美式现货期权={on_spot:.4f}  美式期货期权={on_fut:.4f}  欧式(二者相同)={eu:.4f}")

# ---- 6) 期货式期权:价格 = 普通期权价值复利到到期日,与利率无关 ----
for r in (0.01, 0.05, 0.10):
    c = black76(1240, 1200, 0.5, r, 0.20)
    print(f"r={r:.2f}: 普通期权={c:.3f}  期货式期权价格 c*e^(rT)={c*np.exp(r*0.5):.3f}")

# ---- 7) 风险中性下期货价格是鞅:dF = sigma F dz,F_T = F0 exp(-sigma^2 T/2 + sigma sqrt(T) Z) ----
rng = np.random.default_rng(18)
F0, sig, T, r = 50.0, 0.3, 2.0, 0.05
FT = F0 * np.exp(-0.5 * sig**2 * T + sig * np.sqrt(T) * rng.standard_normal(1_000_000))
pay = np.exp(-r * T) * np.maximum(FT - 50, 0)
print(f"E[F_T]={FT.mean():.3f}(F0={F0}),MC 看涨={pay.mean():.3f}±{1.96*pay.std()/np.sqrt(pay.size):.3f},Black={black76(50,50,T,r,sig):.3f}")

关键输出:

例18.5 p = 1.04
一步树 p=0.4000,Delta=0.80,期权价值=1.592
例18.6 看跌=1.12
例18.7 现货黄金看涨(用期货价格)=88.37
n= 50 欧式树=1.1111  美式树=1.1185
n=200 欧式树=1.1152  美式树=1.1222
n=800 欧式树=1.1163  美式树=1.1231
call: 美式现货期权=13.8897  美式期货期权=14.2462  欧式(二者相同)=13.8897
put : 美式现货期权=7.0740  美式期货期权=6.3004  欧式(二者相同)=6.2013
r=0.01: 普通期权=90.159  期货式期权价格 c*e^(rT)=90.611
r=0.05: 普通期权=88.374  期货式期权价格 c*e^(rT)=90.611
r=0.10: 普通期权=86.192  期货式期权价格 c*e^(rT)=90.611
E[F_T]=49.995(F0=50.0),MC 看涨=7.604±0.029,Black=7.600

读输出要点:

  • 原书数字(1.04、1.592、1.12、88.37)全部复现;欧式树随步数增加收敛到 Black 价格 1.12,美式期货看跌比欧式贵约 0.007——平值、4 个月、利率 9% 时提前行权溢价很小但不为零。
  • 正向市场(\(r=8\%>q=0\),期货高于现货)中:美式期货看涨 14.25 > 美式现货看涨 13.89(后者等于欧式,因为不付息股票的美式看涨不提前行权);美式期货看跌 6.30 < 美式现货看跌 7.07。与 18.9 节的结论一致。
  • 期货式期权价格在利率 1%、5%、10% 下都是 90.611,而普通期权价格随利率下降。
  • 风险中性模拟中 \(E[F_T]\approx F_0\),蒙特卡洛价格与 Black 价格在误差范围内一致。

在回测商品或利率期货期权策略时,这些细节都很关键:用 Black-76 而不是 BSM(标的是期货价格,没有 \(S_0\) 和股息);期货价格模拟不加漂移;美式期货期权要考虑提前行权;合约乘数和报价单位(铜 25,000 磅、欧洲美元 1 基点 25 美元、国债期货期权 1/64)必须与交易所规则一致。


本章小结

期货期权行权时交割标的期货:看涨得到期货多头加"期货价格 − 执行价"的现金,看跌得到期货空头加"执行价 − 期货价格"的现金,有效收益为 \(\max(F-K,0)\) 或 \(\max(K-F,0)\);期权以标的期货交割月命名。风险中性世界中期货价格是鞅,相当于股息率为 \(r\) 的股票,于是平价为 \(c+Ke^{-rT}=p+F_0e^{-rT}\)、二叉树 \(p=(1-d)/(u-d)\)、PDE 没有一阶项,欧式期权由 Black 模型给出。期货与期权同时到期时,欧式期货期权等价于欧式现货期权,所以 Black 模型常用来为现货期权估值,无须估计标的收益。美式期货期权总有提前行权可能;正向市场中美式期货看涨比美式现货看涨贵、看跌便宜,反向市场相反。期货式期权价格与利率无关,期货上的美式期货式期权不会提前行权。

概念 公式 / 要点
行权收益 看涨 \(\max(F-K,0)\),看跌 \(\max(K-F,0)\)
平价 \(c+Ke^{-rT}=p+F_0e^{-rT}\)
美式不等式 \(F_0e^{-rT}-K\le C-P\le F_0-Ke^{-rT}\)
下界 \(c\ge\max[(F_0-K)e^{-rT},0]\),\(p\ge\max[(K-F_0)e^{-rT},0]\)
二叉树 \(p=\dfrac{1-d}{u-d}\),\(\Delta=\dfrac{f_u-f_d}{F_0u-F_0d}\)
风险中性过程 \(dF=\sigma F\,dz\),\(\hat E(F_T)=F_0\)
PDE \(f_t+\frac12\sigma^2F^2f_{FF}=rf\)
Black 模型 \(c=e^{-rT}[F_0N(d_1)-KN(d_2)]\),\(d_1=\dfrac{\ln(F_0/K)+\sigma^2T/2}{\sigma\sqrt T}\)
期货式期权 价格 \(F_0N(d_1)-KN(d_2)\),与 \(r\) 无关;平价 \(p+F_0=c+K\)

练习

基础

  1. 解释"日元看涨期权"与"日元期货看涨期权"的区别。 提示:前者行权得到日元,后者行权得到日元期货多头和现金差额(原书习题 18.1)。
  2. 为什么债券期货期权比债券期权交易活跃? 提示:期货流动性好、价格透明、易交割(原书习题 18.2)。
  3. "期货价格就像一只股息率为 \(q\) 的股票",\(q\) 等于多少?为什么? 提示:\(q=r\),风险中性期望漂移为零(原书习题 18.3)。
  4. 期货价格 19,4 个月后要么 22 要么 17,执行价 18 的欧式看涨期货期权,\(r=12\%\)。用一步树求价格。 提示:\(u=22/19\),\(d=17/19\),\(p=(1-d)/(u-d)=0.4\),\(c=e^{-0.04}\times0.4\times4=1.537\)(原书习题 18.4)。
  5. 期货价格 25,执行价 26,\(r=10\%\),\(\sigma=30\%\),\(T=1\),求欧式看涨与看跌期货期权的价格。 提示:\(d_1=0.0193\),\(d_2=-0.2807\),\(c\approx2.32\),\(p\approx3.23\);平价检验 \(c-p=(25-26)e^{-0.1}\)。

进阶

  1. 9 个月期欧式看涨期货期权价格 2,看跌 2(同执行价 30),\(r=10\%\),期货价格 30.5。是否存在套利? 提示:平价要求 \(c-p=(F_0-K)e^{-rT}=0.464\),实际为 0;买看涨、卖看跌、卖期货(原书习题 18.16 同类)。
  2. 证明美式期货期权的不等式 (18.2)。 提示:仿照第 11 章美式股票期权不等式的证明,组合中用期货代替股票(原书习题 18.19)。
  3. 用两步树(每步 3 个月,\(u=1.12\),\(d=0.92\))为执行价 60、期货价格 60、\(r=8\%\) 的 6 个月期欧式和美式看跌期货期权定价,并检验欧式结果满足平价。 提示:\(p=(1-0.92)/(1.12-0.92)=0.4\);美式在下行节点提前行权(原书习题 18.12、18.13 同类,可用 tree 函数的思路手算)。
  4. 用玉米期货期权的报价(多个执行价)反解隐含波动率,你预期会看到什么形状? 提示:多为波动率偏斜/微笑,不是一条水平线(原书习题 18.25,详见第 20 章)。
  5. 某投资者希望保证 3 个月后一笔 90 天投资的收益率不低于 6.5%。说明如何用欧洲美元期货期权实现,并计算所需执行价。 提示:利率下降对应期货价格上升,所以要买看涨期货期权;执行价 \(100-6.5=93.50\)(原书习题 18.21)。

原书推荐习题:18.12、18.13(两步树、平价与提前行权);18.16(平价违背的套利);18.19(美式期货期权平价不等式);18.25(真实报价的隐含波动率与偏斜);18.28(Black 模型与期货式期权);18.21(利率期货期权套保设计)。


原书对照

本章小节 原书章节 PDF 页码
18.1 期货期权的性质 18.1 Nature of Futures Options(含例 18.1–18.4) p.406–409
18.2 流行原因 18.2 Reasons for the Popularity of Futures Options p.409
18.3 现货期权与期货期权 18.3 European Spot and Futures Options p.409–410
18.4 平价 18.4 Put–Call Parity p.410–411
18.5 价格界限 18.5 Bounds for Futures Options p.411–412
18.6 二叉树 18.6 Valuation Using Binomial Trees p.412–414
18.7 风险中性漂移 18.7 Drift of a Futures Price in a Risk-Neutral World p.414–415
18.8 Black 模型 18.8 Black's Model for Valuing Futures Options p.415–417
18.9 美式期货期权 vs 美式现货期权 18.9 American Futures Options vs. American Spot Options p.417
18.10 期货式期权 18.10 Futures-Style Options p.417–418
小结与习题 Summary, Further Reading, Practice Questions p.418–421

延伸阅读:Black, F. (1976), "The Pricing of Commodity Contracts," Journal of Financial Economics.