第 09 章 OIS 折现、信用调整与融资成本
对应原书:Hull《Options, Futures, and Other Derivatives》第 9 版(Global Edition)第 9 章 OIS Discounting, Credit Issues, and Funding Costs。
学习目标
读完本章,你应当能够:
- 说明为什么衍生品市场不用国债利率作为无风险利率,以及 LIBOR 为什么在 2007 年危机中失去了无风险代理的地位。
- 理解隔夜指数互换(OIS)的结构——以固定利率交换隔夜利率的几何平均,会算 OIS 结算金额,理解 LIBOR–OIS 利差为什么是银行间信用压力指标。
- 掌握多曲线框架:用 OIS 曲线折现,用"按市价互换价值为零"在 OIS 折现下反推远期 LIBOR,并能复现原书例 9.2、9.3。
- 理解"折现率不处理信用风险",会写出 \(f_{nd}-\text{CVA}+\text{DVA}-\text{CRA}\) 的价值分解,并能用 \(\text{CVA}=\sum q_iv_i\) 做简单计算。
- 理解融资成本争论的核心论点:投资的估值不应取决于其融资方式;知道 FVA 是什么、为何有争议。
读前导读
这一章在解决什么问题。 你在 CFA 里给债券和互换估值时,默认"折现率 = 无风险利率",而且这条曲线只有一条。本章要拆掉这个默认:2008 年以后,"预测浮动现金流用的曲线"和"折现用的曲线"分开了,前者是 LIBOR(今天是各期限的信用敏感利率),后者是 OIS(今天是 SOFR 等)。第二件事是把交易对手的违约风险从折现率里剥出来,单独记成 CVA/DVA——这和你在 CFA 信用分析里学的 \(\text{EL}=\text{PD}\times\text{LGD}\times\text{EAD}\) 是同一个思路,只是把时间切成了若干段再加总。第三件事是 FVA 之争,其实就是公司金融里"项目折现率应反映项目风险,而不是公司的平均资本成本(WACC)"这一老结论在衍生品上的翻版。
需要先想起来的数学。
- 连乘符号 \(\prod\) 与复利。 \(\prod_{j=1}^{n}a_j=a_1a_2\cdots a_n\),和 \(\sum\) 是一对。每天按 \((1+r_j\delta_j/360)\) 滚动,\(n\) 天后本息就是这些因子的乘积。例:两天分别是 3% 和 3.6%,各 1 天,增长因子 \(=(1+0.03/360)(1+0.036/360)\approx1.0001833\)。见 第 00 册第 04 章 级数与收敛 中 e 与复利的部分。
- 折现因子与自举(bootstrapping)。 折现因子 \(P(T)\) 是"\(T\) 年后 1 元今天值多少",和 CFA 里的 spot rate 一一对应:\(P(T)=(1+R_T)^{-T}\)。自举就是从短到长,每次用已经求出的 \(P\) 解出下一个未知的 \(P\)。
- 随机变量的正部期望 \(E[\max(V,0)]\)。 对正态 \(V\sim N(\mu,s^2)\) 有闭式:\(\mu\Phi(\mu/s)+s\varphi(\mu/s)\),\(\varphi\) 是标准正态密度。它就是"标的服从正态、行权价为 0 的看涨期权"的价值,你在 Black–Scholes 里会再见到类似结构。见 第 00 册第 07 章 概率中的分析工具。
- 违约强度(hazard rate)\(\lambda\)。 每单位时间的条件违约概率;若 \(\lambda\) 为常数,活到 \(t\) 的概率是 \(e^{-\lambda t}\)。信用利差 \(s\) 约等于 \(\lambda(1-R)\),\(R\) 为回收率,这就是 CFA 里"利差 ≈ PD × LGD"的连续时间版本。
怎么读这一章。 核心必读是 9.2.2(OIS 的几何平均)、9.3.2(例 9.2、9.3,建议手算)、9.5(CVA/DVA 的定义和净额结算)。9.1 和 9.2.3–9.2.4 是背景,快速读。9.6 的思想实验值得细读,它是对"门槛利率"的一个漂亮反驳。量化实战的第 (3)、(4) 步第一次可以只看输出和解读。
9.0 本章要解决的三个问题
2007 年危机之后,衍生品估值中有三个问题变得重要:
- 无风险折现率选哪个? 几乎所有衍生品估值都要把期望现金流按无风险利率折现。危机前大家用 LIBOR/swap 曲线(第 7 章正是这样做的),危机后在许多情形下改用了别的代理。
- 信用风险怎么处理? 交易所和中央清算的产品已经很好地处理了信用风险,那么双边清算的场外衍生品,估值时如何考虑双方的违约可能?(本章给出定义,计算细节见原书第 24 章。)
- 融资成本要不要计入? 是否应该做"融资价值调整(FVA)",至今仍有争议。
这一章篇幅不长,却是现代利率衍生品定价和交易对手风险管理的入口。
9.1 无风险利率
9.1.1 无风险利率在估值中的角色
标准的衍生品估值思路是:构建一个无风险组合,论证在无套利的世界里它只能赚取无风险利率(如本册第 4 章 4.6 节对 FRA、第 5 章 5.7 节对远期的估值)。互换是 FRA 或远期的组合(第 7 章),所以同样依赖无风险折现率。问题在于:现实中哪个利率才算"无风险"?
9.1.2 为什么不用国债利率
美国政府几乎不会违约(它可以"印钞"偿还美元债务),但衍生品交易者认为国债利率被人为压低了(Business Snapshot 9.1),原因有三:
- 金融机构因各种监管要求必须持有国债,这部分需求推高国债价格、压低收益率;
- 持有国债所需的银行资本远少于持有其他风险极低的工具;
- 美国国债利息免征州税,税收待遇优惠。
("可以印钞"这个论证不适用于欧元区国家:意大利、西班牙等无法控制欧洲央行。)
9.1.3 LIBOR 的问题
危机前,市场用 LIBOR 和 LIBOR-for-fixed 互换利率作为无风险利率,理由是 AA 级银行一年内违约的概率很小。危机期间,银行之间不愿相互借款,LIBOR 飙升。第 8 章介绍的 TED 利差(3 个月 LIBOR − 3 个月国债利率)正常时低于 50bp,2007 年 10 月到 2009 年 5 月间很少低于 100bp,2008 年 10 月峰值超过 450bp。一个含有这么多银行信用风险的利率,显然不再适合充当"无风险"利率。
9.1.4 危机后的实践
大多数银行改为:
- 对有抵押交易,用隔夜指数互换(OIS)利率折现;
- 对无抵押交易,仍用 LIBOR 甚至更高的利率折现。
背后的理念是:折现率应当反映银行的平均融资成本,而不是真正的无风险利率。无抵押衍生品的融资成本至少和 LIBOR 一样高;有抵押衍生品由抵押品融资,而 OIS 利率近似反映这类融资的成本。9.4 节会说明 Hull 不同意这种"融资成本"论证。
9.2 OIS 利率
9.2.1 联邦基金利率与隔夜指数
联邦基金利率(fed funds rate)是美国金融机构之间隔夜无担保借款的利率,交易通常由经纪人撮合;按交易规模加权的平均值称为有效联邦基金利率(effective federal funds rate)。英国的对应指标是 SONIA(sterling overnight index average),欧元区是 EONIA(euro overnight index average)。中央银行会监控隔夜利率,并可能入市干预。
9.2.2 隔夜指数互换
隔夜指数互换(overnight indexed swap, OIS):在一段时期(如 1 个月或 3 个月)内,以一个固定利率交换该期间内隔夜利率的几何平均。
为什么是几何平均?设一家银行每天在隔夜市场借入资金,并把利息滚入本金继续借(每日复利)。一段时间后它支付的实际利率,正是各日隔夜利率按复利累积的结果:
其中 \(r_j\) 为第 \(j\) 个营业日的隔夜利率,\(\delta_j\) 为它适用的天数,\(D\) 为期间总天数。每天滚动借出资金的情况与此对称。所以 OIS 能把一段时间的隔夜滚动借贷换成固定利率借贷,这个固定利率就称为 OIS 利率。若几何平均低于固定利率,期末由固定方向浮动方支付差额;反之由浮动方向固定方支付。
推导拆解:公式分三层读。 第一层,\(1+r_j\delta_j/360\) 是第 \(j\) 段的单利增长因子(美元货币市场按 actual/360 计息)。周五的利率适用到下周一,\(\delta_j=3\)。 第二层,\(\prod_j(\cdot)\) 把各段连乘,得到整个期间 1 元本金滚动后的本息。减 1 得到期间总收益率。 第三层,乘以 \(360/D\) 把它换算回年化单利,好和固定利率 \(K\) 直接比较。 为什么是"几何"而不是"算术"?算术平均相当于每天只对原始本金计息、利息不滚入本金;而真实的隔夜滚动借贷,昨天的利息今天也要付息。所以几何平均总是略高于算术平均,差额是"利息的利息",即本章量化实战里那约 1bp 的来源。
例 9.1:一笔 3 个月期美国 OIS,名义本金 1 亿美元,OIS 利率 3%;期间有效联邦基金利率的几何平均为 2.8%。固定利率支付方向浮动利率支付方支付
(忽略计息天数)。
OIS 的期限通常较短(3 个月或更短),但 5–10 年的交易也日益常见。期限超过 1 年的 OIS 通常划分为若干 3 个月的子期间,每个子期间末交换一次。正如互换利率是"持续刷新"的 LIBOR(第 7 章 7.4.1 节),OIS 利率是"持续刷新"的隔夜利率。
9.2.3 LIBOR–OIS 利差
设银行 A 做三件事:(1) 在隔夜市场借入 1 亿美元,连续 3 个月每晚滚动;(2) 以 3 个月 LIBOR 把这笔钱借给银行 B;(3) 用 OIS 把隔夜借款成本换成 3 个月 OIS 固定利率。只要 A 的信用一直被隔夜市场接受,A 就收 3 个月 LIBOR、付 3 个月 OIS。
看起来两者应该相等,但实际上 OIS 通常更低。原因是两边承担的信用风险不同:A 承担 B 在 3 个月贷款上违约的风险,需要补偿;而 A 的隔夜贷款人可以在 A 信用一出问题时随时停止放贷,承担的风险小得多。
3 个月 LIBOR 超出 3 个月 OIS 的部分称为 3 个月 LIBOR–OIS 利差,是常用的金融市场压力指标(原书图 9.1,2002 年 1 月—2013 年 5 月):正常时约 10bp;2008 年 10 月达到历史最高的 364bp;一年后恢复正常;2011 年 12 月底因对希腊等欧洲国家经济的担忧升至约 50bp。
9.2.4 OIS 为什么是无风险利率的好代理
OIS 利率并非完全无风险,但它包含的两类风险都很小:
- 金融机构之间隔夜贷款违约的风险——任何信用问题的迹象都会使一家机构被排除出隔夜市场;
- OIS 互换本身的违约风险——对 OIS 利率的违约调整通常很小,有抵押时更小。
9.2.5 构建 OIS 零息曲线
方法与第 7 章 7.4.2 节的 LIBOR/swap 曲线自举相同。关键前提是被自举的利率与用于折现的利率是同一个,这样 OIS 利率才定义一组平价债券:
- 1 个月 OIS 利率就是 1 个月零息利率,3 个月同理;
- 有定期结算的 OIS,其利率定义一只平价债券。例如 5 年 OIS 利率 3.5%、按季结算(每季度以 \(0.25\times3.5\%=0.875\%\) 交换该季隔夜利率的几何平均),就假定每季付 3.5% 年息的 5 年期债券按面值出售。
延伸长端:OIS 的流动性期限不如 LIBOR 互换长,常用两种办法:
- 假设长端 OIS 与 LIBOR/swap 利率的利差,等于最长可靠 OIS 期限处的利差。例:5 年以上没有可靠数据,5 年 OIS 为 4.7%、5 年互换利率为 4.9%,则假设 5 年以上所有期限的 OIS 都比 LIBOR/swap 低 20bp。
- 利用 3 个月 LIBOR 交换平均联邦基金利率的基差互换,美国最长可到 30 年。例如 30 年 LIBOR 互换利率为 5%,而 LIBOR 与"联邦基金平均 + 20bp"交换,则可近似认为 30 年 OIS 为 4.8%。不过这类基差互换用的是隔夜利率的算术平均而非几何平均,严格说需要凸性调整(参见 Takada 2011)。
现状补充:美元 LIBOR 已停止报价,美元衍生品的基准浮动利率改为 SOFR(Secured Overnight Financing Rate,以国债回购交易为基础的担保隔夜利率)。SOFR 互换本身就是一种 OIS:浮动端是 SOFR 的每日复利。英镑改用 SONIA,欧元改用 €STR(取代 EONIA)。于是"OIS 折现"与"按基准利率预测现金流"在很大程度上重新合一,本章的几何平均、持续刷新、平价自举等概念直接适用;而银行信用风险溢价则体现在 SOFR 与各种信用敏感利率之间的利差上。
9.3 用 OIS 折现为互换和 FRA 估值
9.3.1 一般思路
有了 OIS 零息曲线,许多衍生品就可以用 OIS 利率作为无风险折现率来估值。例如远期合约用本册第 5 章的式 (5.4),\(r\) 取期限 \(T\) 的 OIS 零息利率(远期价格 \(F_0\) 通常由市场远期价格插值得到)。
对 LIBOR 互换和 FRA 则多一步:先要求出与 OIS 折现一致的远期 LIBOR。原理是:
- LIBOR-for-fixed 互换可以"假设远期 LIBOR 实现"来估值(第 7 章 FRA 法);
- 按当前中间价互换利率成交的新互换价值为零;
- 用这一条件就能反推出远期 LIBOR。
由于折现因子不同,OIS 折现与 LIBOR 折现推出的远期 LIBOR 也不同。
9.3.2 例题:远期 LIBOR 的变化
例 9.2(LIBOR 折现):1 年 LIBOR 为 5%,2 年互换利率为 6%(年付,均为年复利)。用 LIBOR 折现时,6% 票息的债券是平价债券:
1 年后起 1 年期的远期 LIBOR 为
校验:收固定方第 1 年的交换为 \(+1\)(收 6、付 5),第 2 年为 \(6-100F\);令 \(\frac{1}{1.05}+\frac{6-100F}{1.06030^2}=0\),同样得到 \(F=7.0707\%\)。
例 9.3(OIS 折现):LIBOR 与互换利率同上,但 1 年、2 年 OIS 零息利率为 4.5%、5.5%(年复利,比 LIBOR 低约 50bp)。新互换价值为零:
从 LIBOR 折现切换到 OIS 折现,远期 LIBOR 从 7.0707% 变为 7.0651%,变化略多于半个基点。数值虽小,交易员绝不会忽视。影响大小取决于零息曲线的陡峭程度和远期利率的期限:曲线越陡、期限越长,差异越大。
注意这里的逻辑:远期 LIBOR 不再是由某一条零息曲线"算出来"的,而是由"市场互换利率 + 折现曲线"联合校准出来的。
推导拆解:例 9.3 的式子是怎么解出 \(F\) 的。 第一步,写出收固定方两期的净现金流:第 1 年 \(6-5=+1\)(第 1 期 LIBOR 已知为 5%),第 2 年 \(6-100F\)(假设远期实现)。 第二步,用 OIS 折现因子 \(1/1.045\) 和 \(1/1.055^2\) 折现并令总和为零(新成交互换价值为零)。 第三步,移项:\(\frac{6-100F}{1.055^2}=-\frac{1}{1.045}=-0.95694\),乘以 \(1.055^2=1.113025\) 得 \(6-100F=-1.06510\),所以 \(F=7.0651\%\)。 为什么折现曲线变了 \(F\) 也变?第 1 年的 \(+1\) 是确定的正值,第 2 年的现金流必须用负值把它抵消。由 \(P(1)\cdot1+P(2)(6-100F)=0\) 得 \(6-100F=-P(1)/P(2)\),而两期折现因子之比 \(P(1)/P(2)\) 由折现曲线的斜率决定。OIS 曲线下这个比值是 \(1.055^2/1.045=1.0651\),LIBOR 曲线下是 \(1.06030^2/1.05=1.0707\),于是第 2 年要抵消的金额不同,\(F\) 也就不同。曲线越陡、期数越多,这种差异累积得越大。
9.3.3 多曲线框架
把上面的思路推广,就是现代利率衍生品定价的标准架构——多曲线框架(multi-curve framework):
- 用 OIS 构建折现曲线;
- 用一系列每 3 个月交换的互换构造 3 个月远期 LIBOR 曲线(作为期间起点的函数),用每 6 个月交换的互换构造 6 个月远期曲线,等等;中间点插值;1 个月对 6 个月 LIBOR 等基差互换提供额外信息;
- 为一笔互换估值时:从对应期限的远期 LIBOR 曲线取远期利率,假设其实现来计算现金流,再用 OIS 零息利率折现。
为什么需要多条远期曲线?因为 3 个月 LIBOR 和 6 个月 LIBOR 包含的银行信用风险不同(期限越长风险越大),危机后两者之差不再可以忽略,同一条曲线无法同时为它们定价。
9.4 OIS 还是 LIBOR:哪个正确?
多数交易商对有抵押的衍生品(有本册第 2 章 2.5 节所述的抵押协议)用 OIS 折现,对无抵押的衍生品用 LIBOR 折现,理由是融资成本:有抵押衍生品由抵押品融资,抵押品通常支付联邦基金利率(与 OIS 相连);无抵押衍生品的融资成本更高。LCH.Clearnet(2013 年清算的利率互换名义本金超过 350 万亿美元,以初始与变动保证金作抵押)也已跟随交易商改用 OIS 折现。
Hull 的观点不同。他认为基于融资成本的论证有问题:金融学中一个长期确立的原则是,投资的估值不应取决于它的融资方式,重要的是它的风险和期望现金流。在构建了无风险组合的情形下,就应使用无风险利率的最佳代理来折现;OIS 零息曲线是最接近无风险的曲线,因此无论是否有抵押,都应使用 OIS 折现(参见 Hull & White 2013 "LIBOR vs. OIS")。无抵押带来的信用风险,应当通过下一节的 CVA/DVA 单独处理,而不是塞进折现率里。
9.5 信用风险:CVA 与 DVA
9.5.1 无违约价值
折现率不是用来处理信用风险的。 前面的估值(无论用 OIS 还是 LIBOR 折现)计算的都是"假设双方都不违约"的价值,称为无违约价值(no-default value),记为 \(f_{nd}\)。信用风险通过单独的计算加以处理。
9.5.2 净额结算与提前终止
银行与某一交易对手之间的双边衍生品组合,几乎都受净额结算(netting)协议约束:一旦违约,所有未平仓衍生品被视为一个整体。一方破产、未按要求提交抵押品或有其他不履约行为时,另一方可以宣布违约事件(event of default),导致整个组合提前终止(early termination)。在无抵押的情形下:
- 若终止时组合对银行价值为正,银行成为该金额的无担保债权人,可能无法全额收回;
- 若对银行价值为负,银行向对手(或其清算人)支付结算款,银行没有损失。
这就是第 7 章 \(\max(V,0)\) 敞口在组合层面的推广:净额结算后,敞口是 \(\max(\sum_k V_k,0)\) 而不是 \(\sum_k\max(V_k,0)\),前者通常小得多。所以 CVA、DVA 必须按"净额结算集"计算,而不是逐笔计算(原书习题 9.11)。
白话解释:为什么 \(\max(\sum_kV_k,0)\le\sum_k\max(V_k,0)\) 总成立?右边把每笔正值都算作敞口、把负值一律当 0;左边让负值先抵掉正值,再看剩下是否为正。正负能相互抵消,左边就小。这和会计上的"抵销权(right of set-off)"是一回事:有抵销权时,资产负债表上列示净额,信用风险也按净额算。用期权语言说,"一篮子期权的价值 ≤ 各期权价值之和"——净额结算把多个看涨期权换成了一个篮子期权,对手违约时银行"持有的期权"变便宜了。
9.5.3 CVA
**信用价值调整(credit value adjustment, CVA)**是银行对"交易对手违约给自己造成的期望成本"的现值估计。设与该对手的交易最长期限为 \(T\) 年,把 \([0,T]\) 分成 \(N\) 个区间,对每个区间计算:
- \(q_i\):该区间内因对手违约而提前终止的概率;
- \(v_i\):若在区间中点提前终止,衍生品组合的期望损失的现值。
则
公式看似简单,难点在 \(v_i\):它要求知道未来每个时点组合价值的分布(以计算 \(\max(V,0)\) 的期望),通常要用蒙特卡洛模拟(原书第 24 章)。考虑对手违约后,组合对银行的价值为 \(f_{nd}-\text{CVA}\)。
金融直觉:把 \(\text{CVA}=\sum q_iv_i\) 对照 CFA 的 \(\text{EL}=\text{PD}\times\text{LGD}\times\text{EAD}\)。\(q_i\) 就是"在第 \(i\) 段时间里违约"的 PD;\(v_i\) 把 LGD、EAD 和折现揉在一起:\(v_i\approx(1-R)\times E[\max(V(t_i),0)]\times P(t_i)\),其中 \(E[\max(V,0)]\) 叫期望正敞口(expected exposure, EE)。和贷款不同的是,衍生品的 EAD 不是固定本金,而是随利率、汇率等市场变量浮动的未来价值的正部,所以要用模拟求它的分布。分段求和是因为"什么时候违约"会影响"违约时欠我多少"。
9.5.4 DVA
银行自己也可能违约,从而给对手造成损失;这在会计上对银行是等额相反的"收益"。**借方价值调整(debit value adjustment 或 debt value adjustment, DVA)**是银行从自身违约中获得的期望收益的现值:
\(q_i^*\) 为银行在第 \(i\) 个区间违约的概率,\(v_i^*\) 为银行在区间中点违约时其收益(即对手损失)的现值。综合起来,组合对银行的价值为
DVA 有一个违反直觉的后果:银行自身信用恶化时,\(q_i^*\) 上升,DVA 增大,报告的利润反而增加(原书习题 9.7)。这在危机期间曾引起很大争议。
9.5.5 抵押品与 CRA
当协议要求提交抵押品时,计算更复杂:
- 抵押品影响 CVA、DVA 的计算:需要计算提前终止时双方已提供的抵押品。通常假设违约方在提前终止前若干天(称为风险期,margin period of risk)就停止提交抵押品、停止返还超额抵押品。
- 现金抵押品的利息可能影响估值。抵押品可以是现金或可流通证券(可接受的证券及其折扣率 haircut 在抵押协议中规定)。现金抵押品通常付息:若利息等于无风险利率,无需调整;否则要估计"实际支付的净利息超出按无风险利率支付的净利息"的期望现值,它可正可负,称为抵押利率调整(collateral rate adjustment, CRA)。
银行通常视 OIS 为有抵押交易的无风险利率;若隔夜现金抵押余额按有效联邦基金利率付息(常见情形),CRA 为零。这也从另一个角度解释了为什么"有抵押就用 OIS 折现"在实务中能自洽。
9.6 融资成本
9.6.1 一个思想实验
设无风险利率为 5%,银行的平均融资成本为 7%。现在有一个无风险项目,回报率 6%。银行应不应该做?
应该做。 项目现金流无风险,合适的折现率是 5%,按 5% 折现项目净现值为正。不能因为银行的融资成本是 7%,就只做回报超过 7% 的项目。银行全部项目的平均回报应当超过 7%,否则会亏损,但这并不意味着每个项目都要超过 7%。
关键在于增量融资成本:银行承接无风险项目后,它整体的风险下降,融资成本也会下降,因此这个无风险项目的增量融资成本是 5% 而不是 7%。极端例子:一家银行完全靠无风险项目把规模翻倍,它的融资成本会变成 6%(旧项目 7% 与新项目 5% 的平均),新项目的增量融资成本恰好是 5%。
反过来,如果公司把平均融资成本作为所有项目的门槛利率,低风险项目会显得没有吸引力,高风险项目会显得有吸引力,公司会逐渐偏向高风险项目——这正是错误使用"统一资金成本"的危害。
金融直觉:这就是 CFA 公司金融里"不要用公司 WACC 给风险不同的项目折现"的结论,背后是 Modigliani–Miller 的思想:资产的价值由资产本身的现金流和风险决定,与右边的负债结构无关。在资本预算中,正确的做法是用项目自己的 beta 定折现率;这里,无风险的衍生品对冲组合就用无风险利率折现。银行的 7% 融资成本里包含了银行整体资产的风险溢价,把它强加给无风险项目,就是把别人的风险算到这个项目头上。
9.6.2 FVA
认为融资成本与估值相关的银行,会对无抵押衍生品做融资价值调整(funding value adjustment, FVA),目的是把衍生品价值调整为"以银行平均融资成本作为'无风险'折现率"时的价值。例:银行平均融资成本 3.8%,银行使用的无风险折现率 3%,FVA 体现的是折现率提高 80bp 的影响。
(原书脚注的细节:利率在衍生品估值中有两个作用——定义折现率,以及定义风险中性世界里标的资产的增长率。FVA 只提高前者,因为用于对冲的标的资产头寸可以通过回购融资,成本接近无风险利率,而衍生品头寸本身不能做回购。)
9.6.3 FVA 的争议
Hull 的立场:
- 融资成本不应影响投资估值,风险才重要。CVA、DVA 应当做,但很多 FVA 之争源于把 FVA 和 DVA 混为一谈(银行自身的违约风险既体现在 DVA 中,也体现在其高融资成本中,两者同时计入有重复计算之嫌)。
- FVA 会扭曲报价:高融资成本的银行做 FVA 时,对产生资金的衍生品(如卖出期权、先收权利金)报价更有竞争力;低融资成本的银行做 FVA 时,对需要资金的衍生品报价更有竞争力。这会给终端用户制造套利:从高融资成本交易商那里买期权,再卖给低融资成本交易商。
- 会计上,每日逐日盯市(marking-to-market)须按**退出价格(exit price)**估值——即银行当前与市场上其他参与者做对冲交易的价格、出清市场的价格。退出价格不应依赖持有方自身的融资成本。
交易员可以用任何方法决定交易价格,但这与公允价值会计之间的冲突,使 FVA 成为会计、风险分析和交易部门之间分歧的来源。(实务补充:尽管有理论争议,多家大型银行自 2012 年前后开始在财报中计入 FVA,例如摩根大通在 2013 年第四季度确认了约 15 亿美元的 FVA 损失;CVA、DVA、FVA 以及资本和保证金相关的调整如今被统称为 XVA。)
量化实战
本章内容在量化系统中的落点:
- 曲线引擎的架构。现代利率定价库都把"折现曲线"和"预测曲线"分开:用 OIS(SOFR/SONIA/€STR)曲线折现,用对应期限的预测曲线计算浮动现金流。校准时先自举折现曲线,再在固定折现曲线的前提下,让每个市场互换按中间价的价值为零,逐个求出远期利率。做利率策略回测时,如果用单曲线近似,长端互换和远期价差会有系统性偏差。
- 压力指标。LIBOR–OIS(以及其后继者,如 FRA–OIS、商业票据与 OIS 之差)、TED 利差刻画银行间信用与流动性压力,可作为跨资产风险状态因子:利差扩大往往伴随风险资产波动上升和相关性上升。
- 交易对手风险与 XVA。CVA = \(\sum q_iv_i\) 中,\(q_i\) 来自 CDS 利差隐含的违约强度,\(v_i\) 来自未来敞口的模拟。对做市和场外衍生品业务,XVA 直接进入报价和每日损益;对量化团队来说,它是一个大规模蒙特卡洛 + 组合聚合的系统工程。
- 门槛利率与策略选择。9.6.1 节的论证同样适用于对冲基金和自营团队:用统一资金成本作为所有策略的门槛,会系统性地偏好高风险策略;合理的做法是按风险调整后的增量成本评估每个策略。
下面的代码分四步:(1) 模拟一段隔夜利率,计算 OIS 浮动端的几何平均和结算金额;(2) 复现例 9.2、9.3;(3) 在一组模拟的互换与 OIS 报价上,分别用单曲线和多曲线框架反推远期 LIBOR,并为一笔存量互换估值;(4) 用一个粗略的正态敞口模型和 CDS 隐含违约概率,计算 CVA 与 DVA。第 (4) 步的敞口模型只为演示公式的用法,真实系统应当用利率期限结构模型模拟。
import numpy as np
from scipy.optimize import brentq
rng = np.random.default_rng(1)
# ---------- 1) OIS 浮动端:隔夜利率的几何平均(复利) ----------
days = 91
on = 0.028 + np.cumsum(rng.normal(0, 0.0004, days)) # 模拟每日隔夜利率(actual/360)
growth = np.prod(1 + on / 360) # 每日滚动借贷的本息增长
geo = (growth - 1) * 360 / days # 期间复利对应的年化利率
ari = on.mean()
N, K = 1e8, 0.030
print(f"几何平均 {geo:.4%} 算术平均 {ari:.4%} 差 {1e4*(geo-ari):.2f}bp")
print(f"OIS 结算:固定方净付 {N*(K-geo)*days/360:,.0f} 美元")
# ---------- 2) 例 9.2 / 9.3:LIBOR 折现 vs OIS 折现下的远期 LIBOR ----------
R2 = (106 / (100 - 6 / 1.05)) ** 0.5 - 1
F_libor = (1 + R2) ** 2 / 1.05 - 1
F_ois = brentq(lambda F: 1 / 1.045 + (6 - 100 * F) / 1.055**2, 0, 0.2)
print(f"2 年 LIBOR 零息 {R2:.3%};远期 LIBOR:LIBOR 折现 {F_libor:.4%},OIS 折现 {F_ois:.4%}")
# ---------- 3) 多期限:先自举 OIS 折现曲线,再反推远期 LIBOR ----------
T = np.arange(1, 11)
swap = 0.02 + 0.03 * (1 - np.exp(-T / 4)) # 模拟 LIBOR 互换利率(年付)
ois_par = swap - 0.0025 # 设 OIS 平价利率低 25bp
def boot_par(par): # 平价利率 → 折现因子
d = []
for c in par:
d.append((1 - c * sum(d)) / (1 + c))
return np.array(d)
P_ois, P_lib = boot_par(ois_par), boot_par(swap)
def fwd_libor(P_disc): # 让每个期限的平价互换价值为零
F = []
for n in range(len(T)):
known = sum(P_disc[i] * F[i] for i in range(n))
F.append((swap[n] * P_disc[:n + 1].sum() - known) / P_disc[n])
return np.array(F)
F1, F2 = fwd_libor(P_lib), fwd_libor(P_ois)
for n in [0, 1, 4, 9]:
print(f"{T[n]-1:>2}→{T[n]:>2} 年 远期 LIBOR 单曲线 {F1[n]:.4%} OIS 折现 {F2[n]:.4%} 差 {1e4*(F2[n]-F1[n]):+.2f}bp")
# 一笔"收固定 5%、付 LIBOR"的 10 年期存量互换,两种框架下的价值(名义本金 1 亿)
K_old = 0.050
v_single = 1e8 * ((K_old - F1) * P_lib).sum()
v_multi = 1e8 * ((K_old - F2) * P_ois).sum()
print(f"存量互换价值:单曲线 {v_single:,.0f} 多曲线 {v_multi:,.0f}")
# ---------- 4) CVA / DVA:按区间求和 sum q_i v_i ----------
# 粗略的正态敞口模型:V(t) ~ N(mu(t), s(t)^2)
# mu(t):今天的价值按剩余期限线性摊销;s(t):利率年波动 1%,乘以剩余年金(约等于剩余年数)
from scipy.stats import norm
grid = np.linspace(0, 10, 41)
mid = (grid[:-1] + grid[1:]) / 2
mu = v_multi * (1 - mid / 10)
s = 1e8 * 0.01 * np.sqrt(mid) * (10 - mid)
EE = mu * norm.cdf(mu / s) + s * norm.pdf(mu / s) # E[max(V,0)]
NEE = -mu * norm.cdf(-mu / s) + s * norm.pdf(mu / s) # E[max(-V,0)]
disc = np.interp(mid, np.r_[0, T], np.r_[1, P_ois])
def default_prob(spread, R=0.4): # 由 CDS 利差估计违约强度
lam = spread / (1 - R)
return np.exp(-lam * grid[:-1]) - np.exp(-lam * grid[1:])
q_cp, q_bank, R = default_prob(0.0200), default_prob(0.0100), 0.4
CVA = (q_cp * (1 - R) * EE * disc).sum()
DVA = (q_bank * (1 - R) * NEE * disc).sum()
print(f"最大 EE {EE.max():,.0f}(t={mid[EE.argmax()]:.2f} 年) 最大 NEE {NEE.max():,.0f}")
print(f"f_nd {v_multi:,.0f} CVA {CVA:,.0f} DVA {DVA:,.0f} 调整后 {v_multi - CVA + DVA:,.0f}")
推导拆解:代码里有三个公式没有在正文出现,这里补上来历。 其一,
boot_par中 \(d_n=\frac{1-c\sum_{i<n}d_i}{1+c}\):平价债券条件是 \(c\sum_{i\le n}d_i+d_n=1\)(票息现值 + 本金现值 = 面值 1),把未知的 \(d_n\) 单独移到一边就得到它。 其二,EE中 \(E[\max(V,0)]=\mu\Phi(\mu/s)+s\varphi(\mu/s)\):设 \(V=\mu+sZ\),\(V>0\) 等价于 \(Z>-\mu/s\)。于是 \(E[V\cdot1_{V>0}]=\mu P(Z>-\mu/s)+sE[Z\cdot1_{Z>-\mu/s}]\)。第一项用对称性 \(P(Z>-x)=\Phi(x)\);第二项用标准正态的性质 \(\int_a^\infty z\varphi(z)dz=\varphi(a)\)(因为 \(\varphi'(z)=-z\varphi(z)\)),再用 \(\varphi\) 是偶函数得 \(\varphi(-\mu/s)=\varphi(\mu/s)\)。NEE同理,对 \(-V\) 做一遍。 其三,default_prob中 \(\lambda=s/(1-R)\):CDS 买方每年付利差 \(s\),换取违约时获赔 \(1-R\);公平定价要求"每年付出的保费 ≈ 每年的期望赔付",即 \(s\approx\lambda(1-R)\)。区间 \([t_{i-1},t_i]\) 内的违约概率是"活到 \(t_{i-1}\) 减去活到 \(t_i\)":\(e^{-\lambda t_{i-1}}-e^{-\lambda t_i}\)。
关键输出:
几何平均 2.7352% 算术平均 2.7259% 差 0.93bp
OIS 结算:固定方净付 66,941 美元
2 年 LIBOR 零息 6.030%;远期 LIBOR:LIBOR 折现 7.0707%,OIS 折现 7.0651%
0→ 1 年 远期 LIBOR 单曲线 2.6636% OIS 折现 2.6636% 差 +0.00bp
1→ 2 年 远期 LIBOR 单曲线 3.7164% OIS 折现 3.7151% 差 -0.13bp
4→ 5 年 远期 LIBOR 单曲线 5.2405% OIS 折现 5.2337% 差 -0.68bp
9→10 年 远期 LIBOR 单曲线 5.5793% OIS 折现 5.5686% 差 -1.07bp
存量互换价值:单曲线 1,959,957 多曲线 1,984,477
最大 EE 5,561,187(t=3.12 年) 最大 NEE 4,235,944
f_nd 1,984,477 CVA 588,141 DVA 229,391 调整后 1,625,726
解读:
- 几何 vs 算术平均:复利使几何平均略高于算术平均(这里约 1bp),这正是 9.2.5 节提到"算术平均基差互换需要凸性调整"的原因。实际 SOFR 系统必须按营业日逐日复利,周末和节假日的利率要按跨越的天数计息。
- 多曲线的影响:第 1 年的远期就是 1 年 LIBOR 本身,不受折现曲线影响;越往后,OIS 折现推出的远期 LIBOR 越低,10 年处约低 1bp,与例 9.3 的方向一致。存量互换的价值在两种框架下相差约 2.5 万美元(约 1.2%),对一个大型互换账簿来说就是可观的损益。
- CVA 与 DVA:这笔互换对银行价值为正,且对手的 CDS 利差(2%)高于银行自身(1%),所以 CVA 远大于 DVA;预期正敞口在约 3 年处最大,与第 7 章代码 B 的"驼峰"形状一致。调整后的价值约为无违约价值的 82%——信用调整完全不是可以忽略的小项。
本章小结
危机使场外衍生品受到更严格的监管,也促使市场重新审视估值做法。危机前,LIBOR 被视为无风险利率的合理代理,这让 LIBOR-for-fixed 互换的估值非常方便;危机后,至少对有抵押交易,市场已改用 OIS 利率。OIS 利率是交换隔夜利率(如联邦基金利率)几何平均的固定利率,它是"持续刷新"的隔夜利率,不完全无风险,但远比 LIBOR 接近;LIBOR–OIS 利差是银行间信用压力的指标。改用 OIS 折现会改变远期 LIBOR 的估计:远期 LIBOR 必须使所有按中间价新成交的互换价值为零,由此形成"OIS 折现 + 分期限远期曲线"的多曲线框架。折现率不处理信用风险,信用风险通过 CVA(对手违约,降低价值)和 DVA(自身违约,提高价值)单独调整,计算在净额结算组合层面进行;现金抵押品利息不等于无风险利率时还需 CRA。金融理论表明融资方式不应影响估值,但部分银行仍做 FVA,它可能造成套利,并与按退出价格计量的公允价值会计冲突。
| 概念 / 公式 | 内容 |
|---|---|
| 国债利率偏低的原因 | 监管需求、资本优惠、税收优惠 |
| OIS 浮动端 | 隔夜利率几何平均:\(\big[\prod_j(1+r_j\delta_j/360)-1\big]\cdot360/D\) |
| OIS 结算 | 固定方净付 \(N\tau(K-\bar r_{\text{geo}})\) |
| LIBOR–OIS 利差 | 正常约 10bp,2008 年 10 月 364bp |
| 远期 LIBOR 校准 | 在 OIS 折现下令按市价互换价值为零,如 \(\frac{1}{1.045}+\frac{6-100F}{1.055^2}=0\) |
| 多曲线框架 | OIS 折现曲线 + 1M/3M/6M 各自的远期曲线 |
| 价值分解 | \(f_{nd}-\text{CVA}+\text{DVA}-\text{CRA}\) |
| CVA / DVA | \(\sum q_iv_i\) / \(\sum q_i^*v_i^*\),按净额结算集计算 |
| 融资成本原则 | 估值不取决于融资方式;增量融资成本 ≠ 平均融资成本 |
| FVA | 以平均融资成本替代无风险折现率的调整,有争议 |
练习
基础题
-
一笔 3 个月 OIS,名义本金 5,000 万美元,OIS 利率 2.0%,期间隔夜利率的几何平均为 2.3%。谁向谁支付多少? 提示:几何平均高于固定利率,浮动方向固定方支付 \(0.25\times0.003\times5\times10^7=37{,}500\) 美元。
-
解释为什么 3 个月 LIBOR 通常高于 3 个月 OIS 利率,以及 LIBOR–OIS 利差为什么能衡量金融市场压力。 提示:见 9.2.3 节;3 个月定期贷款承担对手 3 个月的信用风险,隔夜贷款人可随时撤出。利差扩大说明银行间信用担忧加剧。
-
给出衍生品交易者不使用国债利率作为无风险利率的三个理由。 提示:监管要求的持有需求、较低的资本要求、免征州税。
-
5 年 OIS 利率 3.1%,5 年 LIBOR 互换利率 3.4%,5 年以上没有可靠的 OIS 报价;10 年互换利率为 3.9%。用"利差不变"假设估计 10 年 OIS 利率。 提示:利差 30bp,10 年 OIS 约 3.6%。
-
银行与某对手有两笔无抵押互换,当前价值分别为 +800 万和 −500 万美元。在有净额结算和没有净额结算两种情况下,若对手立即违约(回收率为 0),银行的损失分别是多少? 提示:有净额结算时损失 \(\max(800-500,0)=300\) 万;没有时损失 \(\max(800,0)=800\) 万,而 −500 万那笔仍须照付。
进阶题
-
1 年 LIBOR 为 4%,2 年互换利率为 4.5%(年付、年复利)。(a) 用 LIBOR 折现求 2 年 LIBOR 零息利率和 1→2 年远期 LIBOR;(b) 若 1 年、2 年 OIS 零息利率为 3.7%、4.1%,求 OIS 折现下的远期 LIBOR(参考原书习题 9.3、9.4)。 提示:(a) \(\frac{4.5}{1.04}+\frac{104.5}{(1+R)^2}=100\),\(R=4.5113\%\),\(F=1.045113^2/1.04-1=5.0251\%\);(b) \(\frac{0.5}{1.037}+\frac{4.5-100F}{1.041^2}=0\),\(F=5.0225\%\),低约 0.26bp。
-
银行与某对手的交易分为两个区间:第 1 个区间对手违约概率 1%,期望损失现值 200 万美元;第 2 个区间违约概率 1.5%,期望损失现值 120 万美元。求 CVA。若银行自身违约的 \(q^*\) 为 0.5%、0.8%,\(v^*\) 为 50 万、90 万美元,求 DVA 和调整后价值(设 \(f_{nd}=1{,}000\) 万美元)。 提示:CVA \(=0.01\times200+0.015\times120=3.8\) 万;DVA \(=0.005\times50+0.008\times90=0.97\) 万;价值 \(=1000-3.8+0.97=997.17\) 万美元。
-
某银行的平均融资成本为 6%,无风险利率为 4%。它新增一批无风险项目,规模等于现有资产的 25%,且新增资金按 4% 融资。新的平均融资成本是多少?这说明了 FVA 争论中的什么论点(参考原书习题 9.9)? 提示:\((6\%\times1+4\%\times0.25)/1.25=5.6\%\)。无风险项目的增量融资成本是 4% 而不是 6%,所以不应以平均融资成本为这些项目估值。
-
解释为什么一家银行的信用评级下降可能导致它报告的利润增加。你认为这在经济上合理吗?(原书习题 9.7) 提示:DVA 随自身违约概率上升而增大;但银行无法真正"变现"自身违约的收益(除非违约),所以经济上存在争议,这也是监管资本计算中剔除 DVA 收益的原因之一。
-
在代码第 (3) 步中,把
ois_par = swap - 0.0025改为swap - 0.0050,并把互换利率曲线变得更陡(例如0.01 + 0.05 * (1 - np.exp(-T / 4))),观察 10 年远期 LIBOR 在两种框架下的差异如何变化,并解释。 提示:OIS–LIBOR 利差越大、曲线越陡,两种折现因子的相对差异越大,校准出的远期 LIBOR 差异也越大(与原书习题 9.14 用 DerivaGem 探究的问题相同)。
原书推荐习题:9.3、9.4(对比 LIBOR 与 OIS 折现下的远期 LIBOR);9.12(完整的多期限自举,两版);9.13(OIS 折现下求远期 LIBOR 并为 3 年期互换估值);9.7(DVA 悖论);9.9(增量融资成本);9.11(净额结算对 CVA/DVA 的意义)。
原书对照
| 本章小节 | 原书小节 | PDF 页码 | 原书页码 |
|---|---|---|---|
| 9.1 无风险利率 | 9.1 The Risk-Free Rate | 223–225 | 222–224 |
| 9.2 OIS 利率 | 9.2 The OIS Rate | 225–228 | 224–227 |
| 9.3 用 OIS 折现为互换和 FRA 估值 | 9.3 Valuing Swaps and FRAs with OIS Discounting | 228–229 | 227–228 |
| 9.4 OIS 还是 LIBOR | 9.4 OIS vs. LIBOR: Which Is Correct? | 229–230 | 228–229 |
| 9.5 信用风险:CVA 与 DVA | 9.5 Credit Risk: CVA and DVA | 230–232 | 229–231 |
| 9.6 融资成本 | 9.6 Funding Costs | 231–233 | 230–232 |
| 小结与习题 | Summary, Further Reading, Practice Questions | 233–235 | 232–234 |
延伸阅读:Demiralp 等 (2004) 隔夜同业市场;Filipović & Trolle (2013) 同业风险的期限结构;Hull & White (2012) "The FVA Debate"、(2013) "LIBOR vs. OIS: The Derivatives Discounting Dilemma"、(2013) OIS 折现与利率衍生品定价;Smith (2013) 用 OIS 折现为利率互换估值;Takada (2011) 联邦基金基差互换的凸性调整。