量化交易中文教材

第 25 章 信用衍生品

对应原书:Hull《Options, Futures, and Other Derivatives》第 9 版(Global Edition)第 25 章 Credit Derivatives。

前置内容:本册第 7 章初步介绍过 CDS;第 8 章讲过由住房按揭构造的 ABS 与 ABS CDO;第 24 章给出了风险率、风险中性违约概率和单因子 Gaussian copula,本章直接使用这些工具。

学习目标

读完本章,你应当能够:

  1. 描述 CDS 的现金流:利差支付、信用事件、实物交割与拍卖现金结算、应计付款,理解 CDS 利差与债券利差的关系(CDS–债券基差)。
  2. 用"期望付款现值 = 期望赔付现值"为 CDS 定价,算出盈亏平衡利差、存量合约的盯市价值和二元 CDS 利差;会从 CDS 报价隐含风险率并 bootstrap 风险率期限结构;理解为何 CDS 价值对回收率不敏感。
  3. 理解信用指数(CDX NA IG、iTraxx Europe)与"固定票息 + 预付款"的报价机制。
  4. 了解 CDS 远期与期权、篮子 CDS、总收益互换和 CDO(现金与合成)的结构,以及标准分档的单档交易。
  5. 解释违约相关性如何决定第 \(k\) 次违约 CDS 与 CDO 各分档的价值,并能用单因子 Gaussian copula + 条件二项分布 + 高斯求积为合成 CDO 分档和第 \(k\) 次违约 CDS 定价。
  6. 区分复合相关与基础相关,理解"相关微笑/偏斜"的含义、非标准分档的估值方法,以及标准市场模型的主要替代方案。

读前导读

这一章在解决什么问题。 第 24 章回答"违约概率是多少",本章回答"信用风险怎么交易、怎么定价"。最基础的工具是 CDS:它就是一份针对某家公司违约的保险,保费按年付(利差),出险赔付 \(1-R\)。你在 CFA 固定收益里见过 CDS 的结构,也知道"CDS 利差 ≈ PD × LGD";本章把这个近似变成精确定价:保费腿是一个"会因违约而提前终止的年金",赔付腿是"违约概率加权的 LGD 现值",两者相等时的利差就是公允利差。读者熟悉的利率互换定价(固定腿现值 = 浮动腿现值)和年金现值,在这里几乎原样重现,只是每笔现金流要再乘一个存活概率。

本章后半部分转向多名产品:篮子 CDS 和 CDO 分档。它们的价值不仅取决于每家公司的 PD,更取决于违约会不会"一起发生",也就是违约相关性。可以用 CFA 里结构化产品的分档(ABS 的优先/次级、信用增级)来理解:权益档先承担损失,高级档最后承担损失。分档的损失本质上是"组合损失"的一段期权价差(\(\min(\max(\text{损失}-L,0),H-L)\)),所以和期权一样,价格对"分布形状"敏感,相关性在这里扮演了期权中波动率的角色。市场从分档报价反推的"隐含相关",与从期权价格反推的隐含波动率是同一种思路,相关微笑对应波动率微笑。

需要先想起来的数学。

  1. 年金与贴现求和。 风险年金 \(\sum_t e^{-\lambda t}e^{-rt}\) 就是用"无风险利率 + 风险率"贴现的年金,和 CFA 的年金现值公式是同一回事。例:\(r=5\%\)、\(\lambda=2\%\),1 年期付款的"有效贴现因子"为 \(e^{-0.07}=0.932\)。见 第 00 册第 04 章 级数与收敛(几何级数与年金)。
  2. 二项分布。 \(n\) 家公司独立、每家违约概率 \(p\) 时,恰好 \(k\) 家违约的概率为 \(\binom{n}{k}p^k(1-p)^{n-k}\)。例:\(n=3,p=0.1\),恰好 1 家违约的概率 \(=3\times0.1\times0.81=0.243\)。\(\frac{n!}{(n-k)!k!}\) 就是"从 \(n\) 家中选 \(k\) 家"的组合数。
  3. 条件期望与全概率公式("先条件、再积分")。 给定共同因子 \(F\) 先算条件结果,再按 \(F\) 的分布加权平均:\(E[X]=\int E[X\mid F]\,\phi(F)\,dF\),\(\phi\) 为标准正态密度。离散版本就是"按情景概率加权"。见 第 00 册第 07 章 概率中的分析工具(条件期望部分)和 第 00 册第 03 章 积分(密度与期望作为积分)。
  4. 数值积分。 无法手算的积分可以用"在若干节点取值、按权重加总"近似;高斯求积是挑选得最好的一组节点和权重。概念上和"用几个情景的概率加权估计期望"相同。
  5. 单因子 Gaussian copula 与式 (24.9)。 本章直接使用第 24 章的结论,如果忘了,先回看第 24 章 24.8.3 节。

怎么读这一章。 核心必读是 25.1.1、25.1.4(CDS 结构与基差)、25.2(CDS 估值的五步例子,务必跟着算一遍)、25.4(固定票息报价)、25.9(相关性的作用)和 25.10.1–25.10.2(CDO 估值框架)。25.1.3、25.5–25.7(CDS 期权、篮子、TRS)以概念为主,第一次可快速读过。25.10.3–25.10.5 的数值细节第一次可只看结构,需要写代码时再细读。25.10.6–25.10.7 和 25.11 是进阶内容,建议在理解第 20 章波动率微笑后再读。


25.0 信用衍生品市场

信用衍生品(credit derivative)是收益依赖于一家或多家公司(或国家)信用状况的合约。它让机构能像交易市场风险那样交易信用风险:过去银行一旦放出贷款,只能被动等待;现在可以主动买卖信用保护,管理整个信用组合。历史上,银行是最大的保护买方,保险公司是最大的保护卖方。

市场规模经历了大起大落:2000 年未平仓名义本金约 8,000 亿美元,2007 年信用危机时达到 50 万亿美元,危机后萎缩,2012 年 12 月约为 25 万亿美元。

信用衍生品分两类:

  • 单名(single-name)产品,最主要的是 CDS;
  • 多名(multi-name)产品,如 CDO:指定一个债务工具组合,通过复杂的规则把组合的现金流分配给不同类别的投资者。

本章依次讨论 CDS 及其估值、信用指数、篮子 CDS、总收益互换、CDO,最后把第 24 章的 Gaussian copula 用于 CDO 分档估值。


25.1 信用违约互换(CDS)

25.1.1 基本结构

信用违约互换(credit default swap, CDS)是针对某一特定公司违约风险的保险。该公司称为参考实体(reference entity),它的违约称为信用事件(credit event)。

  • 保护买方定期向保护卖方付款,直到合约到期或信用事件发生。付款通常按季后付(in arrears),也有按月、半年、一年或预付的。
  • 信用事件发生时,买方有权按面值把参考实体发行的债券卖给卖方。可卖出债券的总面值称为 CDS 的名义本金(notional principal)。
  • 结算方式有实物交割和现金结算两种。

例 2015 年 3 月 20 日签订一份 5 年期 CDS,名义本金 1 亿美元,买方每年支付 90 bp,按季后付(原书图 25.1)。

  • 无信用事件:买方从 2015 年 6 月 20 日起每季支付 \(0.00225\times10^8=225{,}000\) 美元,直到 2020 年 3 月 20 日(受日计数惯例影响,实际金额会略有出入,见第 6 章)。
  • 2018 年 5 月 20 日通知信用事件(第 4 年的第 2 个月):若实物交割,买方有权以 1 亿美元卖出面值 1 亿美元的参考实体债券;若现金结算(现在更常见),由 ISDA 组织拍卖,确定信用事件数日后最便宜可交割债券的中间价。若该价格为每 100 美元面值 35 美元,则赔付 6,500 万美元。
  • 应计付款:由于后付,信用事件发生后买方通常还要支付从上一个付款日到信用事件日的应计款(accrual payment)。本例为 2018 年 3 月 20 日至 5 月 20 日的费用,约 150,000 美元,此后不再付款。

25.1.2 CDS 利差与报价惯例

CDS 利差(CDS spread)是每年为购买保护所支付的金额占名义本金的百分比(上例为 90 bp)。若干大银行做市,例如报价 bid 250 / offer 260 bp,表示做市商愿意以每年 250 bp 买入保护,以每年 260 bp 卖出保护。

  • 5 年期最流行,1、2、3、7、10 年期也常见。
  • 合约通常在标准日期到期:3 月 20 日、6 月 20 日、9 月 20 日、12 月 20 日,所以实际期限与名义期限接近但不完全相同。例如 2015 年 11 月 15 日买入 5 年保护,合约可能到 2020 年 12 月 20 日到期,首次付款在 2015 年 12 月 20 日,覆盖 11 月 15 日至 12 月 20 日(若距第一个标准日不足 1 个月,首付推到第二个标准日)。
  • 信用事件通常定义为到期未付款、债务重组和破产。北美合约有时把重组排除在外,尤其是高收益债的情形。

25.1.3 谁承担信用风险,CDS 市场的特殊性

Business Snapshot 25.1 银行不愿把贷款留在资产负债表上:扣除监管资本要求后,贷款的回报不如其他资产。于是银行先通过 ABS(第 8.1 节),后来(1990 年代末、2000 年代初)通过信用衍生品,把信用风险转给他人。问题在于,最终承担风险的机构往往不是做信用审查的机构。2007 年开始的危机表明,这对金融体系未必是好事。

Business Snapshot 25.2 ISDA 于 1998–1999 年制定了 CDS 标准合约。CDS 与保险的关键区别是:保险保护的是买方拥有的资产,而 CDS 的买方不必拥有标的债券。2007 年 8 月起的信用动荡中,监管者担心系统性风险:一家机构违约可能令其 CDS 对手方巨亏,引发连锁违约。AIG 大量出售按揭 AAA 分档的保护,损失惨重后被美国政府救助。2007–2008 年许多信用衍生品停止交易,但 CDS 仍活跃(只是保护成本大幅上升),因为它的机制简单透明。一家公司的未平仓 CDS 常常超过其债务总额,因此必须现金结算:2008 年 9 月 Lehman 违约时,未平仓 CDS 约 4,000 亿美元,而债务只有约 1,550 亿美元,ISDA 拍卖确定向保护买方支付本金的 91.375%。

与利率、汇率、股指、商品等其他场外衍生品不同,CDS 存在信息不对称(asymmetric information):为公司提供咨询、贷款、承销的机构更了解它的信用状况。金融机构强调,买入保护的决定通常由风险经理作出,并不基于机构内其他部门的特殊信息。

25.1.4 CDS 与债券收益率

设投资者以面值买入一只收益率 7% 的 5 年期公司债,同时买入该公司 5 年期 CDS 保护,利差 200 bp。这个组合近似把公司债变成了无风险债:

  • 不违约时,每年净赚 \(7\%-2\%=5\%\);
  • 违约时,违约前每年赚 5%,违约后按 CDS 用债券换回面值,再以无风险利率投资。

所以 \(n\) 年期公司债相对无风险利率的利差应约等于 \(n\) 年期 CDS 利差。若前者明显更高,"买债 + 买保护"可以获得高于无风险利率的收益;若明显更低,"卖空债券 + 卖保护"可以以低于无风险利率的成本借款。二者之差称为

\[\text{CDS–债券基差(CDS–bond basis)}=\text{CDS 利差}-\text{债券收益率利差}\]

这里的债券利差以 LIBOR/swap 利率为无风险利率计算,通常取资产互换利差(第 24.4 节)。套利论证意味着基差应接近 0,但实际上它有时为正(如 2007 年以前),有时为负(如 2007–2009 年),符号也可能因参考实体而异。基差偏离反映了融资成本、卖空债券的难度、最便宜可交割期权等因素。

25.1.5 最便宜可交割债券

回收率定义为违约后债券价值占面值的百分比,因此 CDS 的赔付为 \(L(1-R)\),\(L\) 为名义本金。CDS 通常允许交付多只同等优先级的债券,但违约后它们的价格可能不同:索偿额是面值加应计利息,应计利息高的债券违约后价格较高;重组中某些持有人可能得到更好的待遇。于是买方拥有一个最便宜可交割债券期权(cheapest-to-deliver bond option)。在现金结算下,ISDA 拍卖确定的就是最便宜可交割债券的价值。


25.2 CDS 估值

25.2.1 一个完整的数值例子

CDS 的估值原理很简单:在风险中性世界里,保护买方期望付款的现值 = 期望赔付的现值,由此解出盈亏平衡利差。

设定:5 年期 CDS;参考实体的风险率在整个期间为每年 2%;违约只发生在每年的年中;CDS 每年年末付款一次;无风险利率 5%(连续复利);回收率 40%;名义本金 1 美元。

第一步:存活与违约概率(原书表 25.1)。存活到 \(t\) 的概率为 \(e^{-0.02t}\);某年内的违约概率 = 年初存活概率 − 年末存活概率。

年 1 2 3 4 5
年末存活概率 0.9802 0.9608 0.9418 0.9231 0.9048
年内违约概率 0.0198 0.0194 0.0190 0.0186 0.0183

例如第 3 年:\(0.9608-0.9418=0.0190\)。

第二步:期望付款现值(表 25.2)。设年利差为 \(s\)。第 \(t\) 年末付款发生的概率就是存活到 \(t\) 的概率,例如第 3 次付款的期望值为 \(0.9418s\),现值为 \(0.9418s\,e^{-0.05\times3}=0.8106s\)。

年 1 2 3 4 5
期望付款 0.9802$s$ 0.9608$s$ 0.9418$s$ 0.9231$s$ 0.9048$s$
贴现因子 0.9512 0.9048 0.8607 0.8187 0.7788
现值 0.9324$s$ 0.8694$s$ 0.8106$s$ 0.7558$s$ 0.7047$s$

合计 \(4.0728s\)。

第三步:期望赔付现值(表 25.3)。违约发生在 0.5、1.5、2.5、3.5、4.5 年。例如第 3 年中违约的概率为 0.0190,期望赔付为 \(0.0190\times(1-0.4)=0.0114\),现值为 \(0.0114e^{-0.05\times2.5}=0.0101\)。各年现值为 0.0116、0.0108、0.0101、0.0094、0.0088,合计 0.0506。

第四步:应计付款现值(表 25.4)。违约发生在年中时,买方还需支付半年的应计利差 \(0.5s\)。例如第 3 年:\(0.0190\times0.5s=0.0095s\),现值 \(0.0084s\)。合计 0.0422s。

第五步:令两边相等。付款腿总现值 \(4.0728s+0.0422s=4.1150s\),令其等于赔付现值 0.0506:

\[4.1150s=0.0506\quad\Longrightarrow\quad s=0.0123\]

即中间价 CDS 利差为 123 bp。(DerivaGem 的 CDS 工作表给出同样结果。)"违约只发生在付款区间中点"的假设通常效果很好,也可以放宽为更多的违约时点。

注意 \(4.1150\) 这个数:它是"每年支付 1 单位利差"的期望现值,称为风险年金(risky annuity)或 RPV01,原书在 25.4 节称之为 CDS 的"久期"。有了它,CDS 的估值、盯市和对冲都变得很简单。

一个有用的经验检查:\(s\approx\lambda(1-R)=2\%\times0.6=120\) bp,与精确值 123 bp 很接近。这正是第 24 章式 (24.2) 反过来用。

金融直觉:五步计算的骨架和利率互换定价一样:两条腿现值相等。保费腿像一个年金,但每笔付款都要乘以"那时公司还活着"的概率,所以比普通 5 年年金(\(\sum e^{-0.05t}=4.32\))小,得到 4.0728。赔付腿像一个按年加权的"保险金",每年的权重是该年的违约概率。 为什么精确值 123 bp 比近似 120 bp 略高?近似公式隐含"保费与赔付同时发生"。本例中赔付在年中支付,而正常保费在年末才付,赔付腿比对应的保费早半年贴现,相对放大约 \(e^{0.5\times0.05}\approx1.025\) 倍,\(120\times1.025\approx123\)。若改为按季付费,这个时间差缩小,精确值会更接近 120 bp。 RPV01 和债券里的"PVBP / DV01"思想相同:利差每变动 1 bp,存量 CDS 价值约变动 RPV01 × 1 bp × 名义本金。例:名义 1 亿美元、RPV01 = 4.115,利差上升 10 bp,保护买方获利约 \(4.115\times0.001\times10^8=41\) 万美元。

25.2.2 CDS 的盯市

CDS 像其他互换一样每日盯市(marking to market)。设上例的 CDS 早先以 150 bp 成交,现在的公允利差是 123 bp。买方付款的现值为 \(4.1150\times0.0150=0.0617\),赔付的现值为 0.0506,所以

\[\text{对卖方的价值}=0.0617-0.0506=0.0111\]

(乘以名义本金),对买方为 \(-0.0111\)。等价地,存量合约价值 \(=(\text{合约利差}-\text{当前利差})\times\text{RPV01}=(0.0150-0.0123)\times4.115\approx0.0111\)。

25.2.3 隐含违约概率

CDS 估值必须使用风险中性违约概率。它可以从债券价格或资产互换推出(第 24 章),也可以直接从 CDS 报价中隐含出来——这与期权市场的做法一样:用活跃期权的价格隐含出波动率,再用它为其他期权定价。

例如在上面的设定下,若一份新的 5 年期 CDS 中间价为 100 bp,反推的隐含风险率为每年 1.63%。有多个期限的报价时,可以像 bootstrap 零息曲线那样逐段求出分段常数的风险率期限结构(DerivaGem 提供这一功能;本章量化实战中有代码实现)。

25.2.4 二元 CDS

二元 CDS(binary CDS)的结构与普通 CDS 相同,但赔付是固定金额(如 1 美元),而不是 \(1-R\)。表 25.1、25.2、25.4 不变,表 25.3 换成表 25.5:期望赔付现值为 0.0193、0.0180、0.0168、0.0157、0.0146,合计 0.0844。由 \(4.1150s=0.0844\) 得 \(s=0.0205\),即 205 bp。

普通 CDS 与二元 CDS 的付款腿完全相同,赔付腿只差一个因子 \(1-R\),所以

\[\text{普通 CDS 利差}=(1-R)\times\text{二元 CDS 利差}\]

(\(0.6\times205\approx123\),原书习题 25.13。)

25.2.5 回收率有多重要

无论用 CDS 利差还是债券价格来估计违约概率,都需要假设回收率。但只要 (a) 估计风险中性违约概率和 (b) 为 CDS 估值时使用同一个回收率,CDS 的价值(或利差)对回收率就不敏感。原因是:隐含的违约概率约与 \(1/(1-R)\) 成正比,而 CDS 赔付与 \(1-R\) 成正比,两者相互抵消。

推导拆解:用近似公式看最清楚。从市场 CDS 报价 \(s_{\text{mkt}}\) 反推风险率:\(\lambda\approx s_{\text{mkt}}/(1-R)\)。再用这个 \(\lambda\) 给另一份同一参考实体的 CDS 定价:模型利差 \(\approx\lambda(1-R)=s_{\text{mkt}}\)。\((1-R)\) 先在分母、后在分子,相互抵消。 数值例:报价 120 bp。若假设 \(R=40\%\),\(\lambda=2\%\);若假设 \(R=20\%\),\(\lambda=1.5\%\)。两种假设下"PD × LGD"都是 1.2%,所以对普通 CDS 的定价几乎一样。但二元 CDS 只付 1,价值 \(\approx\lambda\),在两种假设下分别是 200 bp 和 150 bp,差别很大。 对照 CPA 的 ECL:PD 和 LGD 分开估计时,只要乘积不变,ECL 就不变;但若只用到 PD(例如判断"信用风险是否显著增加"而进入第二阶段),回收率假设就会影响结论。

二元 CDS 不适用这个论证,因为它的赔付与 \(R\) 无关:\(R\) 假设得越高,隐含违约概率越高,二元 CDS 就越贵。反过来,如果市场上同时有普通 CDS 和二元 CDS 的利差,就可以同时估计出回收率和违约概率(原书习题 25.25)。


25.3 信用指数

信用指数用于跟踪一篮子公司的 CDS 利差,2004 年各指数提供商完成整合。两个最重要的标准组合是:

  1. CDX NA IG:北美 125 家投资级公司;
  2. iTraxx Europe:欧洲 125 家投资级公司。

组合每年 3 月 20 日和 9 月 20 日更新(滚动出新的"系列"):剔除不再是投资级的公司,加入新的投资级公司。例如 2013 年 9 月 20 日定义了 iTraxx Europe 第 20 系列和 CDX NA IG 第 21 系列。

例 5 年期 CDX NA IG 报价 bid 65 / offer 66 bp,称为指数利差(index spread)。粗略地说,交易员可以按每家 66 bp 的价格买入全部 125 家公司的保护。若每家买 800,000 美元保护,年成本为 \(0.0066\times800{,}000\times125=660{,}000\) 美元;同理卖出保护每年收 650,000 美元。某家公司违约时,保护买方获得通常的 CDS 赔付,此后年付款减少 \(660{,}000/125=5{,}280\) 美元。

指数保护有 3、5、7、10 年期,到期日通常为 12 月 20 日和 6 月 20 日,因此"5 年期"合约的实际期限在 \(4\frac34\) 年到 \(5\frac14\) 年之间。

指数利差略低于成分利差的平均。例如两家公司的利差分别为 1000 bp 和 10 bp,买两家保护的成本略低于每家 505 bp:1000 bp 的那家更可能先违约,违约后就不再为它付费,所以它的利差在指数中的有效权重更小。(准确的权重是各自的风险年金 RPV01。)另外,CDX NA IG 的违约定义包括重组,而成分公司的单名 CDS 可能不包括(iTraxx Europe 没有这个问题)。指数利差与成分 CDS 理论值之间的差,称为指数基差(index basis),是一类常见的相对价值交易对象。


25.4 固定票息的使用

CDS 和 CDS 指数在实际交易中并不直接按报价利差付款,而是采用固定票息(fixed coupon)。对每个标的和期限,市场规定一个票息 \(c\) 和一个回收率,然后由报价利差 \(s\) 按以下步骤算出价格:

  1. 假设每年付款 4 次、后付;
  2. 从报价利差隐含出风险率(用 25.2 节的方法迭代搜索,使模型利差等于报价);
  3. 计算 CDS 付款的"久期" \(D\),即利差乘以 \(D\) 等于利差付款的现值(25.2 节例子中 \(D=4.1150\);原书此处误印为 4.1130。这里的"久期"与第 4 章的债券久期含义不同,实际上就是风险年金);
  4. 价格 \(P=100-100\times D\times(s-c)\)。

买入保护时,买方按剩余名义本金每 100 美元支付 \(100-P\)(若为负则买方收钱);之后每个付款日按票息乘以剩余名义本金付款。单名 CDS 的剩余名义本金在违约前为原值、违约后为 0;指数的剩余名义本金为"未违约公司数 × 每家名义本金"。违约赔付照常计算。

推导拆解:价格公式 \(P=100-100D(s-c)\) 就是 25.2.2 节盯市公式的另一种写法。按报价利差 \(s\) 买保护是"公允"的,价值为 0;现在实际只按 \(c\) 付保费,每年少付 \((s-c)\),少付部分的现值是 \(D(s-c)\)(每 100 名义本金乘以 100)。这个差额必须在成交时补给卖方,即买方预付 \(100-P=100D(s-c)\)。 \(s>c\) 时买方预付正数(保护比票息贵);\(s<c\) 时买方收钱(如例 25.1,\(s=0.345\%<c=0.406\%\),卖方向买方付 0.27%)。这与债券"票息低于市场收益率则折价、高于则溢价"的道理完全相同,只是 CDS 的买方处于"付票息"一侧,所以方向反过来:这里的 \(P\) 是从保护卖方(相当于持有信用债的一方)的角度写的价格。

好处是:工具像债券一样交易(报价 → 价格),而且无论何时成交,买方的季度付款都相同,便于合约标准化和轧差。

例 25.1 iTraxx Europe 报价 34 bp,票息 40 bp,合约恰好 5 年,两者都按 actual/360 计(CDS 市场惯例);换算成 actual/actual 分别为 0.345% 和 0.406%。收益率曲线平坦为 4%(actual/actual,连续复利),规定回收率 40%,每年付款 4 次。隐含风险率为 0.5717%,久期 4.447 年,价格为

\[P=100-100\times4.447\times(0.00345-0.00406)=100.27\]

若每家名义本金 100 万美元:成交时保护卖方向买方支付 \(1{,}000{,}000\times125\times0.0027\) 美元;之后买方按季后付,年率为 \(1{,}000{,}000\times0.00406\times n\)(\(n\) 为未违约公司数);某公司违约时照常赔付,买方按 0.406% 的年率对 100 万美元支付应计款。


25.5 CDS 远期与期权

CDS 远期(forward CDS)是在未来时刻 \(T\) 买入或卖出某参考实体特定 CDS 的义务。若参考实体在 \(T\) 之前违约,远期合约失效。例如,银行约定 1 年后以 280 bp 卖出某公司 5 年期保护;若该公司 1 年内违约,合约作废。

CDS 期权(credit default swap option)是在未来时刻 \(T\) 买入或卖出特定 CDS 的权利:

  • 以 280 bp 在 1 年后买入 5 年保护的权利是看涨期权:1 年后 5 年 CDS 利差高于 280 bp 时行权;
  • 以 280 bp 卖出保护的权利是看跌期权:利差低于 280 bp 时行权。

期权费预付。CDS 期权通常也在参考实体于到期前违约时失效。估值方法见 Hull & White (2003):以风险年金为计价单位,CDS 远期利差是鞅,于是可用 Black 型公式(计价单位变换见第 28 章)。


25.6 篮子 CDS

篮子 CDS(basket credit default swap)涉及多个参考实体:

  • 累加篮子(add-up basket)CDS:任何一个实体违约都赔付;
  • 首次违约(first-to-default)CDS:只在第一次违约时赔付;
  • 第二次违约(second-to-default)CDS:只在第二次违约时赔付;
  • 一般地,第 \(k\) 次违约(\(k\)th-to-default)CDS 只在第 \(k\) 次违约时赔付。

赔付的计算与普通 CDS 相同。相应违约发生并结算后,互换终止,双方不再付款。25.9 节会看到,第 \(k\) 次违约 CDS 的价值关键取决于违约相关性。


25.7 总收益互换

总收益互换(total return swap, TRS)交换一只债券(或任意资产组合)的总收益与 LIBOR 加利差。总收益包括票息、利息以及互换期内资产的损益。

例(原书图 25.2) 5 年期、名义本金 1 亿美元,以某公司债的总收益交换 LIBOR + 25 bp:

  • 付息日,总收益支付方(payer)支付投资 1 亿美元该债券所得的票息;接收方(receiver)支付 1 亿美元本金上的 LIBOR + 25 bp(LIBOR 在一个付息日设定、下一个付息日支付,与普通利率互换相同)。
  • 到期时按债券价值的变化结算:债券升值 10%,支付方付 1,000 万美元;贬值 15%,接收方付 1,500 万美元。
  • 债券违约时互换通常终止,接收方支付 1 亿美元超过债券市值的部分。

若在期末双方都加上名义本金,则支付方支付的是"投资 1 亿美元公司债"的现金流,接收方支付的是"投资 1 亿美元 LIBOR + 25 bp 债券"的现金流。若支付方持有该债券,TRS 把信用风险转给了接收方;若不持有,相当于做空该债券。

TRS 作为融资工具 接收方想融资 1 亿美元买入该债券,于是找支付方(通常是金融机构)做一笔 TRS,由支付方买入债券。对接收方而言,这等同于以 LIBOR + 25 bp 借钱买债。对支付方而言,互换期内保有债券所有权,比直接贷款给接收方并以债券作抵押承担的信用风险更小——接收方违约时,无需费力处置抵押品。TRS 与回购(repo,第 4.1 节)类似,都是在为证券融资时最小化信用风险的结构。

支付方收取的利差(这里是 25 bp)是对接收方违约风险的补偿:如果参考债券价格下跌时接收方恰好违约,支付方就会亏损。因此利差取决于接收方的信用质量、债券发行人的信用质量以及两者违约的相关性。TRS 的变体包括:期末实物交割(支付方以资产换取名义本金);价值变化定期支付而非期末一次支付。在量化实务中,股票 TRS 是对冲基金获得杠杆和空头敞口的常用方式。


25.8 担保债务凭证(CDO)

25.8.1 现金 CDO 与合成 CDO

第 8 章讨论过 ABS(原书图 8.1)。标的资产是债券的 ABS 称为 CDO(collateralized debt obligation,担保债务凭证)。对债券的利息和本金定义类似图 8.2 的瀑布(waterfall)规则:规则复杂,但保证越优先的分档越可能收到承诺的利息和本金。由债券组合构造的称为现金 CDO(cash CDO)。

一个重要创新是:持有公司债多头与卖出该公司 CDS 保护(CDS 空头)的风险相似,由此产生了合成 CDO(synthetic CDO)。发起人选定一个公司组合和期限(如 5 年),对每家公司卖出期限相同的 CDS 保护,合成 CDO 的本金等于各 CDS 名义本金之和。发起人的现金流入是 CDS 利差,流出是组合中公司违约时的赔付;把这些流入流出分配给各分档的规则比现金 CDO 简单。

25.8.2 分档与损失分配

三档示例:

  1. 权益档(equity tranche):承担 CDS 赔付,直到合成 CDO 本金的 5%,按未偿分档本金每年收 1000 bp;
  2. 夹层档(mezzanine tranche):承担 5% 以上至 20% 的赔付,每年收 100 bp;
  3. 高级档(senior tranche):承担 20% 以上的赔付,每年收 10 bp。

CDO 本金 1 亿美元时,三档本金分别为 500 万、1,500 万和 8,000 万美元。

  • 若 1 年后违约导致 CDS 赔付 200 万美元,由权益档承担,其本金降至 300 万美元,此后 1000 bp 按 300 万计。
  • 之后又有 400 万美元赔付:权益档累计需付 500 万,本金归零;剩下的 100 万由夹层档承担,其本金降至 1,400 万美元。

现金 CDO 的分档持有人需要初始投资(为标的债券融资);合成 CDO 的分档持有人原则上无需初始投资,只需同意现金流的计算规则。但实践中几乎总是要求他们把初始分档本金作为抵押品缴存,承担 CDS 赔付时从中扣除,抵押账户余额按 LIBOR 计息。

25.8.3 标准组合与单档交易

在合成 CDO 中,分档持有人向发起人卖出保护,发起人再向其他市场参与者卖出 CDS 保护。进一步的创新是:不实际构建 CDS 空头组合,直接交易某一个分档,称为单档交易(single-tranche trading)。双方分别是分档保护的买方和卖方,参考 CDS 组合只用来定义双方的现金流,并不实际创建。买方向卖方支付分档利差,卖方向买方支付参考组合损失中该分档应承担的部分。

市场用 CDX NA IG 和 iTraxx Europe 组合定义标准合成 CDO 分档,交易非常活跃:

  • iTraxx Europe 六档:0–3%、3–6%、6–9%、9–12%、12–22%、22–100%;
  • CDX NA IG 六档:0–3%、3–7%、7–10%、10–15%、15–30%、30–100%。

原书表 25.6 是 Creditex 提供的 5 年期 iTraxx Europe 中间价。除 0–3% 档外,报价是每年为分档保护支付的 bp(按随损失递减的剩余分档本金计);0–3%(权益档)的报价是除每年 500 bp 之外须预付的分档本金百分比。

日期 0–3% 3–6% 6–9% 9–12% 12–22% 指数
2007-01-31 10.34% 41.59 11.95 5.60 2.00 23
2008-01-31 30.98% 316.90 212.40 140.00 73.60 77
2009-01-30 64.28% 1185.63 606.69 315.63 97.13 165

两年间信用利差剧增:指数从 23 bp 升到 165 bp,各分档也大幅上升。原因一是市场评估的投资级公司违约概率上升;二是保护卖方普遍遭遇流动性问题,更加厌恶风险,要求更高的风险溢价。


25.9 相关性在篮子 CDS 与 CDO 中的作用

第 \(k\) 次违约 CDS 或 CDO 分档的保护成本关键取决于违约相关性。

例 100 个参考实体,每个在 5 年内违约的风险中性概率都是 2%。

  • 违约相关为 0:违约次数服从二项分布。5 年内至少 1 次违约的概率为 \(1-0.98^{100}=86.74\%\),至少 10 次违约的概率只有 0.0034%。因此首次违约 CDS 相当有价值,第 10 次违约 CDS 几乎一文不值。
  • 相关性上升:至少 1 次违约的概率下降,至少 10 次违约的概率上升。
  • 完全相关的极限:所有实体实质上是同一个,要么全部违约(概率 2%),要么都不违约(98%),两种概率都等于 2%。

合成 CDO 分档同理:

  • 相关低时,违约分散地发生,几乎每个情景都有少量违约,权益档很危险,高级档很安全;
  • 相关上升时,"要么几乎没有违约、要么大批违约",初级档的风险下降,高级档的风险上升;
  • 完全相关且回收率为 0 时,各档风险相同。

金融直觉:把分档看成组合损失 \(\ell\) 上的期权价差。0–3% 档承担 \(\min(\ell,3\%)\),3–6% 档承担 \(\min(\max(\ell-3\%,0),3\%)\),结构上就是"买入行权价 3% 的看涨、卖出行权价 6% 的看涨"。 违约相关性不改变组合的平均损失(每家 PD 不变,期望损失就不变),但改变损失分布的形状:相关越高,分布越"两极化",大部分情景几乎没有损失,少数情景损失巨大。这和提高标的的波动率、但保持均值不变是同一种效果。 于是:高级档相当于深度虚值期权,分布两极化(尾部变厚)让它更容易被击中,保护卖方更危险;权益档相当于把损失"封顶"在 3% 的头寸,分布两极化让更多情景落在"零损失"一侧,而大损失情景反正也只亏 3%,所以保护卖方更安全。这就是"权益档做多相关性"。 对照 CFA 的 ABS 分档:信用增级(次级档厚度)保护优先档的前提是违约分散发生;2007 年房贷违约高度同步,高级档损失远超按"历史违约率独立假设"所做的估计。

一句话:权益档做多相关性,高级档做空相关性(站在保护卖方的角度)。夹层档对相关性的敏感度不单调,这会在 25.10 节的隐含相关中造成麻烦。


25.10 合成 CDO 估值

25.10.1 一般框架

设分档的付款日为 \(\tau_1,\dots,\tau_m\),\(\tau_0=0\);\(E_j\) 为 \(\tau_j\) 时的期望分档本金(初始为 1);\(v(\tau)\) 为 \(\tau\) 时收到 1 美元的现值;分档利差 \(s\) 按剩余分档本金支付。

利差腿:期望利差付款的现值为 \(sA\),

\[A=\sum_{j=1}^m(\tau_j-\tau_{j-1})\,E_j\,v(\tau_j)\tag{25.1}\]

赔付腿:\(\tau_{j-1}\) 到 \(\tau_j\) 之间的期望损失为 \(E_{j-1}-E_j\),假设发生在区间中点,期望赔付的现值为

\[C=\sum_{j=1}^m(E_{j-1}-E_j)\,v(0.5\tau_{j-1}+0.5\tau_j)\tag{25.2}\]

应计付款:损失发生时需支付半个区间的应计利差,现值为 \(sB\),

\[B=\sum_{j=1}^m0.5(\tau_j-\tau_{j-1})(E_{j-1}-E_j)\,v(0.5\tau_{j-1}+0.5\tau_j)\tag{25.3}\]

对保护买方,分档的价值为 \(C-sA-sB\),盈亏平衡利差为

\[s=\frac{C}{A+B}\tag{25.4}\]

白话解释:三个式子都在把"期望分档本金"翻译成现金流。 式 (25.1):分档利差按剩余本金付,第 \(j\) 期付 \(s\times(\tau_j-\tau_{j-1})\times E_j\),贴现后加总。这和 CDS 的保费腿一样,只是把"存活概率"换成了"剩余本金比例"。单名 CDS 可以看作只有 0 和 1 两种剩余本金的特例。 式 (25.2):本金每减少一块,就是分档持有人赔出去的一块,所以第 \(j\) 期的期望赔付是 \(E_{j-1}-E_j\)。 式 (25.3):损失发生在区间中点,减少的那部分本金在当期只计了半期保费,所以应计款是 \(0.5(\tau_j-\tau_{j-1})(E_{j-1}-E_j)s\)。 例:某期区间 0.25 年,期初、期末期望本金 0.98、0.95,贴现因子 0.97,则该期利差腿贡献 \(0.25\times0.95\times0.97\,s=0.230s\),赔付腿贡献约 \(0.03\times0.97=0.029\)(中点贴现因子略大,这里取近似)。

这个框架与 25.2 节 CDS 估值完全平行:\(A+B\) 是分档的风险年金,\(C\) 是保护腿。关键结论是:只要知道各付款日的期望分档本金和贴现曲线,就能算出盈亏平衡利差。剩下的问题是怎样求 \(E_j\)——这就需要组合损失的分布,也就需要违约相关模型。

25.10.2 标准市场模型:单因子 Gaussian copula

标准市场模型用第 24 章的违约时间单因子 Gaussian copula,并假设组合是同质的:所有公司到 \(t\) 的违约概率都是 \(Q(t)\),任意两家公司的 copula 相关都是 \(\rho\)。给定共同因子 \(F\),

\[Q(t\mid F)=N\Big(\frac{N^{-1}[Q(t)]-\sqrt\rho\,F}{\sqrt{1-\rho}}\Big)\tag{25.5}\]

\(Q(t)\) 通常假设风险率 \(\lambda\) 恒定,且与指数利差一致(用 25.2 节方法搜索使模型利差等于指数利差的 \(\lambda\)):

\[Q(t)=1-e^{-\lambda t}\tag{25.6}\]

条件二项分布 给定 \(F\),各公司违约相互独立,所以到 \(t\) 恰有 \(k\) 次违约的条件概率服从二项分布:

\[P(k,t\mid F)=\frac{n!}{(n-k)!\,k!}\,Q(t\mid F)^k\,[1-Q(t\mid F)]^{n-k}\tag{25.7}\]

\(n\) 为参考实体数。

从违约次数到分档本金 分档覆盖组合损失的 \(L\) 到 \(H\) 部分:\(L\) 称为起赔点(attachment point),\(H\) 称为止赔点(detachment point)。每次违约造成的组合损失比例为 \((1-R)/n\)。定义

\[n_L=\frac{Ln}{1-R},\qquad n_H=\frac{Hn}{1-R}\]

记 \(m(x)\) 为大于 \(x\) 的最小整数。设初始分档本金为 1:违约次数 \(k<m(n_L)\) 时分档本金仍为 1;\(k\ge m(n_H)\) 时为 0;介于两者之间时为 \(\dfrac{H-k(1-R)/n}{H-L}\)。于是条件期望分档本金为

\[E_j(F)=\sum_{k=0}^{m(n_L)-1}P(k,\tau_j\mid F)+\sum_{k=m(n_L)}^{m(n_H)-1}P(k,\tau_j\mid F)\,\frac{H-k(1-R)/n}{H-L}\tag{25.8}\]

推导拆解:用例 25.2 的数字走一遍。\(n=125\),\(R=40\%\),每次违约损失组合本金的 \(0.6/125=0.48\%\)。 起赔点 3% 对应 \(n_L=0.03\times125/0.6=6.25\) 次违约,所以 6 次违约(累计损失 2.88%)还没碰到夹层档,第 7 次(3.36%)开始侵蚀,\(m(n_L)=7\)。止赔点 6% 对应 \(n_H=12.5\),第 13 次违约时损失 6.24% 已超过 6%,夹层档清零,\(m(n_H)=13\)。 介于两者之间,比如 \(k=10\) 次违约,损失 4.8%,夹层档剩余本金比例为 \((6\%-4.8\%)/(6\%-3\%)=0.4\)。 式 (25.8) 就是把三种情况按概率加权:\(k\le6\) 时权重乘 1,\(7\le k\le12\) 时乘剩余比例,\(k\ge13\) 时乘 0(这一项为 0,所以没写出来)。每个 \(P(k,\tau_j\mid F)\) 由式 (25.7) 的二项公式给出,前提是"给定 \(F\) 各公司独立"。 最后"对 \(F\) 积分"就是全概率公式:\(A=\int A(F)\phi(F)dF\),即把各种经济情景下的条件结果按情景概率平均。注意要对 \(A,B,C\) 分别积分后再求 \(C/(A+B)\),不能先对每个 \(F\) 求利差再平均,因为比值的期望不等于期望的比值。

把 \(E_j(F)\) 代入式 (25.1)–(25.3),得到条件值 \(A(F)\)、\(B(F)\)、\(C(F)\)(原书式 25.9–25.11)。再对标准正态的 \(F\) 积分,得到无条件的 \(A\)、\(B\)、\(C\),盈亏平衡利差为 \(C/(A+B)\)。权益档的报价是每年 500 bp 之外的预付款,盈亏平衡预付款为 \(C-0.05(A+B)\)。

25.10.3 高斯求积

对 \(F\) 的积分用高斯求积(Gaussian quadrature)计算:

\[\int_{-\infty}^{\infty}\frac{1}{\sqrt{2\pi}}e^{-F^2/2}g(F)\,dF\approx\sum_{k=1}^Mw_k\,g(F_k)\tag{25.12}\]

\(M\) 越大越精确。权重 \(w_k\) 和节点 \(F_k\) 由 Hermite 多项式的根算出(作者网站、Technical Note 21)。DerivaGem 中的"积分点数"是 \(M\) 的一半,取 20 通常已经足够。在 Python 中,numpy.polynomial.hermite_e.hermegauss(M) 直接给出对应"概率论 Hermite 多项式"的节点和权重,权重归一化后即为式 (25.12) 中的 \(w_k\)。

白话解释:式 (25.12) 左边是"\(g(F)\) 在 \(F\) 服从标准正态时的期望"。高斯求积的做法是:挑 \(M\) 个代表性的经济情景 \(F_k\),各配一个概率权重 \(w_k\)(权重之和为 1),用"情景加权平均"代替积分。它和压力测试里"好、中、坏三种情景按概率加权"是同一个思路,只是节点和权重经过数学上的最优选择:对任何次数不超过 \(2M-1\) 的多项式 \(g\),结果都完全精确。 从表 25.7 可以看到节点关于 0 对称(\(\pm0.2020\) 权重相同),越远离 0 的节点权重越小,这正是正态分布的形状。

整个计算的结构是:外层对 \(F\) 求积,内层在给定 \(F\) 时用二项分布算期望分档本金。这比蒙特卡洛模拟快几个数量级,而且没有模拟噪声。

25.10.4 例题:iTraxx 夹层档

例 25.2 为 iTraxx Europe 5 年期夹层档(3–6%)估值。copula 相关 0.15,回收率 40%:\(L=0.03\),\(H=0.06\),\(n=125\),\(n_L=6.25\),\(n_H=12.5\)。利率期限结构平坦为 3.5%,按季付款,指数 CDS 利差 50 bp,对应恒定风险率 0.83%(连续复利)。取 \(M=60\)。

原书表 25.7 摘录了几个节点上的计算:

\(k=1\) \(k=2\) \(k=3\) \(k=4\)
权重 \(w_k\) 0.1579 0.1579 0.1342 0.0969
因子值 \(F_k\) 0.2020 −0.2020 −0.6060 −1.0104
\(E_{19}(F_k)\) 0.9953 0.9687 0.8636 0.6134
\(E_{20}(F_k)\) 0.9936 0.9600 0.8364 0.5648
\(A(F_k)\) 4.5624 4.5345 4.4080 4.0361
\(B(F_k)\) 0.0007 0.0043 0.0178 0.0478
\(C(F_k)\) 0.0055 0.0346 0.1423 0.3823

(所有节点上 \(E_1(F_k)=1.0000\)。精读笔记抽取的表中因子值丢了负号,这里依据"\(F\) 越低、期望分档本金越小"的单调性还原。)

可以清楚地看到:\(F\) 越低(经济越差),条件违约概率越高,分档本金损耗越多,\(C(F)\) 越大。对 60 个节点积分得 \(A=4.2846\),\(B=0.0187\),\(C=0.1496\),盈亏平衡分档利差为

\[s=\frac{0.1496}{4.2846+0.0187}=0.0348\]

即 348 bp。

25.10.5 第 \(k\) 次违约 CDS 的估值

同样先条件于 \(F\)。第 \(k\) 次违约发生在 \((\tau_{j-1},\tau_j]\) 的条件概率,等于到 \(\tau_j\) 至少 \(k\) 次违约的条件概率减去到 \(\tau_{j-1}\) 至少 \(k\) 次违约的条件概率:

\[\sum_{q=k}^nP(q,\tau_j\mid F)-\sum_{q=k}^nP(q,\tau_{j-1}\mid F)\]

假设违约发生在区间中点,按 25.2 节方法算出条件付款、应计和赔付的现值,再对 \(F\) 积分。

例 25.3 10 只债券,风险率都是每年 2%;第三次违约 CDS,每年后付;copula 相关 0.3,回收率 40%,无风险利率 5%,\(M=60\)。每只债券到 1–5 年的无条件累计违约概率为 0.0198、0.0392、0.0582、0.0769、0.0952。

条件于 \(F=-1.0104\)(精读笔记中丢了负号),由式 (25.5) 得条件累计违约概率 0.0361、0.0746、0.1122、0.1484、0.1830。由二项分布,到各年末至少 3 次违约的条件概率为 0.0047、0.0335、0.0928、0.1757、0.2717,所以第三次违约发生在第 1–5 年的条件概率为 0.0047、0.0289、0.0593、0.0829、0.0960。在这个 \(F\) 下,赔付、常规付款、应计付款的现值分别为 0.1379、\(3.8443s\)、\(0.1149s\)。

对 60 个因子值积分后,无条件值为 0.0629、\(4.0580s\)、\(0.0524s\),盈亏平衡利差为

\[s=\frac{0.0629}{4.0580+0.0524}=0.0153\]

即 153 bp。

25.10.6 隐含相关

标准市场模型通常设 \(R=40\%\),风险率由指数利差确定,于是只剩 copula 相关 \(\rho\) 一个未知参数——就像 BSM 模型中只有波动率不可观测。市场因此从分档报价中隐含出相关,如同从期权价格隐含出波动率(第 20 章)。

设各分档为 \(\{\alpha_0,\alpha_1\},\{\alpha_1,\alpha_2\},\dots\),\(\alpha_0=0\)(iTraxx 为 0、0.03、0.06、0.09、0.12、0.22、1.00)。有两种隐含相关:

  • 复合相关(compound correlation,又称分档相关 tranche correlation):对每个分档 \(\{\alpha_{q-1},\alpha_q\}\),迭代搜索使模型利差等于市场报价的 \(\rho\)。
  • 基础相关(base correlation):对 \(q>1\),找使 \(\{0,\alpha_q\}\) 分档的定价与市场一致的 \(\rho\)。步骤为:
    1. 求各分档的复合相关;
    2. 用复合相关算出各分档存续期内期望损失的现值占初始分档本金的比例,即 \(C_q\);
    3. \(\{0,\alpha_q\}\) 档期望损失的现值占组合总本金的比例为 \(\sum_{p=1}^qC_p(\alpha_p-\alpha_{p-1})\);
    4. 除以 \(\alpha_q\),得到 \(\{0,\alpha_q\}\) 档的 \(C\) 值,再迭代求出与之一致的 \(\rho\)。

原书表 25.8(2007 年 1 月 31 日 iTraxx Europe,平坦利率 3%,\(R=40\%\),23 bp 指数利差对应风险率 0.382%):

分档 0–3% 3–6% 6–9% 9–12% 12–22%
复合相关 17.7% 7.8% 14.0% 18.2% 23.3%
分档 0–3% 0–6% 0–9% 0–12% 0–22%
基础相关 17.7% 28.4% 36.5% 43.2% 60.5%

复合相关随分档变高级先降后升,称为相关微笑(correlation smile);基础相关随止赔点单调递增,称为相关偏斜(correlation skew)。如果市场价格与单因子 Gaussian copula 一致,所有分档的隐含相关应当相同;明显的微笑和偏斜说明市场价格不符合这个模型——与 BSM 隐含波动率的微笑(第 20 章)说明市场不认同对数正态假设完全类似。

金融直觉:对照期权市场来记。BSM 中只有波动率不可观测,市场就用期权价格反推隐含波动率,并在不同行权价上看到微笑;标准 CDO 模型中只有相关不可观测,市场就用分档价格反推隐含相关,并在不同分档上看到微笑/偏斜。两者都不是"相关或波动率真的随行权价变化",而是"模型的分布假设与市场定价不符",隐含参数被当成一种报价语言使用。 基础相关偏斜(高级档隐含相关更高)说明:与 Gaussian copula 相比,市场给"大规模同时违约"这种极端情景定了更高的价格,也就是组合损失分布的右尾比模型更厚。这和股指期权的波动率偏斜(市场给暴跌定价更高)是同一类现象。

为什么基础相关比复合相关更受欢迎?原因之一是夹层档的利差对相关性不单调(25.9 节),复合相关可能有两个解或无解;而 \(\{0,\alpha_q\}\) 型的"基础分档"本质上都是权益型分档,其价值对相关单调,基础相关总是唯一的。

原书图 25.3 画出了 2007 年 1 月 31 日 0–X% 档期望损失的现值(占组合总本金)随 X 变化的曲线:从 0 开始上升,增速递减(凹形),在 X 较大时接近 1% 左右。

25.10.7 非标准分档的估值

标准组合的标准分档可以直接观察到市场价格,无需模型。但有时需要为非标准分档报价,例如 iTraxx 的 4–8% 档。

  • 旧方法:插值基础相关,得到 0–4% 档和 0–8% 档的基础相关,算出两者期望损失的现值(占组合本金),相减即为 4–8% 档的期望损失,再隐含出复合相关和盈亏平衡利差。
  • 更好的方法:直接对图 25.3 那样的"0–X% 档期望损失曲线"插值,取 0–8% 与 0–4% 之差。

无套利要求这条曲线随 X 递增且增速递减(凹)。插值基础相关再计算期望损失,常常违反这个条件(因为期望损失是基础相关的非线性函数);直接对期望损失插值则可以保证满足。这个教训有普遍意义:插值应在"满足无套利约束的量"上进行,而不是在模型参数上进行——这与期权市场中应在总方差而非隐含波动率上检查日历套利是同一个道理。


25.11 标准市场模型的替代

标准市场模型无法同时拟合所有分档,于是出现了许多替代模型:

  • 异质模型(heterogeneous model):标准模型是同质的(所有公司违约时间分布相同、两两相关相同)。放宽后各公司违约概率不同,\(P(k,t\mid F)\) 不能再用二项公式,需要数值方法(Andersen, Sidenius & Basu 2003;Hull & White 2004 的递推法)。
  • 其他 copula:Student \(t\) copula、Clayton copula、Archimedean copula、Marshall–Olkin copula 等。也可以让式 (24.7) 中的 \(F\) 和 \(Z_i\) 服从均值 0、标准差 1 的非正态分布,构造新的单因子 copula。Hull & White 发现,\(F\) 与 \(Z_i\) 都服从自由度为 4 的 \(t\) 分布时对市场拟合良好,称为双 \(t\) copula(double t copula)。也可以增加因子数,但需要对多个正态变量积分,速度慢很多。
  • 随机因子载荷(random factor loadings;Andersen & Sidenius 2004):令式 (25.5) 中的 \(\rho\) 是 \(F\) 的函数,通常 \(F\) 下降时 \(\rho\) 上升——违约率高的状态(\(F\) 低)违约相关也高。这一点有实证支持(Sevigny & Renault 2002;Das 等 2006;Hull, Predescu & White 2010;Ang & Chen 2002 发现股票组合也有非对称相关),而且对市场报价的拟合远好于标准模型。
  • 隐含 copula 模型(implied copula;Hull & White 2006、2010):最简单的版本假设 CDO 存续期内组合中所有公司适用某个平均风险率,这个平均风险率的概率分布由分档价格隐含得出。概念上类似第 20 章由期权价格隐含股价分布。
  • 动态模型:以上都是静态模型,本质上刻画的是 CDO 存续期内的平均违约环境,5 年、7 年、10 年 CDO 需要各自不同的模型。动态模型刻画组合损失随时间的演化,分为三类:(1) 结构模型:同时模拟多家公司的资产价格,触及障碍即违约,资产过程相关;需蒙特卡洛实现,校准困难。(2) 简约式模型:对风险率建模,为获得现实的相关程度需假设风险率有跳跃。(3) 自上而下模型(top down):直接对组合总损失建模,不考虑单个公司。

量化实战

本章内容在量化中的用途

  1. 信用曲线构建。从 CDS 期限结构 bootstrap 分段常数风险率,是信用定价库的第一步;风险年金(RPV01)用于盯市、对冲比例计算和固定票息下的预付款换算。实现中最容易出错的是细节:IMM 标准到期日、actual/360 日计数、应计付款、预付款的符号约定。
  2. 相对价值交易。CDS–债券基差交易(负基差时"买债 + 买保护")、指数与成分 CDS 之间的指数基差、不同期限的曲线交易,以及分档之间的相关性交易(如 delta 对冲的权益档多头),都建立在本章框架上。2005 年 5 月的"相关性危机"和 2007–2009 年分档报价的剧变,是模型风险的经典案例。
  3. 组合尾部风险的半解析计算。"条件独立 + 二项分布(或递推)+ 对共同因子求积"不只用于 CDO,任何"给定共同因子后事件独立"的组合问题(贷款组合损失、多策略同时回撤、多只债券同时降级)都可以用这一套方法快速、无噪声地算出损失分布。
  4. 信用信号。指数利差(CDX、iTraxx)是常用的宏观风险偏好因子;单名 CDS 利差的变化可作为股票的领先信息(25.1.3 节的信息不对称提示 CDS 市场可能先于股票反映坏消息)。
  5. 模型风险意识。隐含相关不是"真实相关",它把模型错设压缩成一个参数,相当于"把错误的数字放进错误的公式得到正确的价格"。插值基础相关可能产生套利价格,应对期望损失插值。

Python 示例:CDS 曲线、分档定价与隐含相关

代码分七步:(1) 写一个支持分段常数风险率的 CDS 定价引擎,复现 25.2 节的 123 bp、盯市价值和二元 CDS 的 205 bp,并验证"用同一 \(R\) 先隐含后估值时结果对 \(R\) 不敏感";(2) 从一条 CDS 利差期限结构 bootstrap 风险率;(3) 复现例 25.1 的固定票息价格;(4) 用高斯求积计算 25.9 节"100 个名字"的例子在不同相关下的违约次数概率;(5) 复现例 25.2 的 348 bp,并给出全部 iTraxx 分档在不同相关下的价格;(6) 复现例 25.3 的第三次违约 CDS(153 bp)以及首次、第二次违约 CDS;(7) 从 2007 年 1 月 31 日的分档报价反推复合相关与基础相关,复现原书表 25.8。

import numpy as np
from scipy.stats import norm, binom
from scipy.optimize import brentq

# ---------- 1) CDS 定价引擎:分段常数风险率,违约发生在付款区间中点 ----------
def cds_legs(knots, lams, T, r, R=0.4, freq=4, binary=False):
    """返回 (风险年金 D = 付款腿/利差 含应计, 违约腿现值)。knots/lams 定义分段常数风险率。"""
    dt = 1 / freq
    t = np.arange(dt, T + 1e-9, dt)
    H = lambda x: np.sum(np.diff(np.concatenate([[0], np.minimum(knots, x)])) * lams[:len(knots)], axis=0) \
        if np.isscalar(x) else np.array([H(xx) for xx in x])
    S = np.exp(-H(t)); S_prev = np.concatenate([[1.0], S[:-1]])
    pd, tm = S_prev - S, t - dt / 2
    annuity = np.sum(S * np.exp(-r * t)) * dt + np.sum(pd * np.exp(-r * tm)) * dt / 2
    protection = np.sum(pd * np.exp(-r * tm)) * (1.0 if binary else 1 - R)
    return annuity, protection

flat = lambda lam, T, r, **kw: cds_legs(np.array([T]), np.array([lam]), T, r, **kw)

# 原书 25.2 节:风险率 2%、年付、r=5%、R=40%
D, prot = flat(0.02, 5, 0.05, freq=1)
print(f"风险年金 D={D:.4f}  违约腿={prot:.4f}  盈亏平衡利差={prot/D*1e4:.0f} bp")
print(f"150bp 存量合约对卖方的价值 = {0.015*D - prot:.4f}(每 1 元名义本金)")
Db, protb = flat(0.02, 5, 0.05, freq=1, binary=True)
print(f"二元 CDS 利差 = {protb/Db*1e4:.0f} bp,(1-R)×二元利差 = {0.6*protb/Db*1e4:.0f} bp")
for R in (0.2, 0.4, 0.6):   # 用同一个 R 先隐含风险率、再估值:结果对 R 不敏感
    lam = brentq(lambda l: (lambda d, p: p / d)(*flat(l, 5, 0.05, freq=1, R=R)) - 0.01, 1e-6, 1)
    d, p = flat(lam, 5, 0.05, freq=1, R=R)
    db, pb = flat(lam, 5, 0.05, freq=1, binary=True)
    print(f"R={R}: 100bp 隐含风险率 {lam:.4%}, 150bp 合约对卖方价值 {0.015*d-p:.5f}, 二元 CDS 利差 {pb/db*1e4:.0f}bp")

# ---------- 2) 从 CDS 利差期限结构 bootstrap 风险率 ----------
r, R = 0.03, 0.4
tenors = np.array([1, 3, 5, 7, 10]); quotes = np.array([60, 90, 120, 135, 150]) / 1e4
lams = []
for i, (T, s) in enumerate(zip(tenors, quotes)):
    def err(x):
        L = np.array(lams + [x]); d, p = cds_legs(tenors[:i+1], L, T, r, R)
        return p / d - s
    lams.append(brentq(err, 1e-6, 2))
print("分段风险率:", " ".join(f"{a}-{b}y:{l:.3%}" for a, b, l in zip(np.r_[0, tenors[:-1]], tenors, lams)),
      "| s/(1-R) 近似:", " ".join(f"{s/(1-R):.2%}" for s in quotes))

# ---------- 3) 例 25.1:固定票息与预付款 ----------
s, c = 0.0034 * 365 / 360, 0.0040 * 365 / 360          # actual/360 换算为 actual/actual
lam = brentq(lambda l: (lambda d, p: p / d)(*flat(l, 5, 0.04)) - s, 1e-6, 1)
Dur = flat(lam, 5, 0.04)[0]
P = 100 - 100 * Dur * (s - c)
print(f"iTraxx 34bp/票息40bp: 风险率 {lam:.4%}, 久期 D={Dur:.3f}, 价格 P={P:.2f}, 买方预付 {100-P:.2f}/100")

# ---------- 4) 单因子 Gaussian copula 基础设施:高斯–埃尔米特求积 ----------
xg, wg = np.polynomial.hermite_e.hermegauss(60); wg = wg / wg.sum()   # 对标准正态 F 积分,式 (25.12)
def cond_pd(Q, rho):                         # 式 (25.5):每个 F_k、每个时点的条件违约概率
    QF = norm.cdf((norm.ppf(np.clip(Q, 1e-300, 1))[None, :] - np.sqrt(rho) * xg[:, None]) / np.sqrt(1 - rho))
    return np.clip(QF, 1e-14, 1 - 1e-14)

# 原书 25.9 节:100 个名字、5 年违约概率 2%
k = np.arange(101)
for rho in (0.0, 0.1, 0.3, 0.6, 0.9):
    pmf = wg @ binom.pmf(k[None, :], 100, cond_pd(np.array([0.02]), rho)[:, :1])
    print(f"rho={rho:.1f}: P(>=1 次违约)={pmf[1:].sum():.4f}  P(>=10 次违约)={pmf[10:].sum():.6f}")

# ---------- 5) 合成 CDO 分档:式 (25.1)-(25.4)、(25.8) ----------
def tranche_ABC(L, H, rho, lam, n=125, R=0.4, r=0.035, T=5, freq=4):
    dt = 1 / freq; tau = np.arange(0, T + 1e-9, dt)
    QF = cond_pd(1 - np.exp(-lam * tau), rho)                       # (M, 时点)
    kk = np.arange(n + 1)
    remaining = np.clip((H - kk * (1 - R) / n) / (H - L), 0, 1)     # 违约 k 次时剩余分档本金
    E = binom.pmf(kk[None, None, :], n, QF[:, :, None]) @ remaining # 条件期望分档本金 E_j(F)
    E[:, 0] = 1.0
    v, vm = np.exp(-r * tau[1:]), np.exp(-r * (tau[1:] - dt / 2))
    dE = E[:, :-1] - E[:, 1:]
    A = wg @ (E[:, 1:] * v * dt).sum(1)
    B = wg @ (0.5 * dt * dE * vm).sum(1)
    C = wg @ (dE * vm).sum(1)
    return A, B, C

lam50 = brentq(lambda l: (lambda d, p: p / d)(*flat(l, 5, 0.035)) - 0.005, 1e-6, 1)
A, B, C = tranche_ABC(0.03, 0.06, 0.15, lam50)
print(f"例 25.2: 指数 50bp -> 风险率 {lam50:.4%}; A={A:.4f} B={B:.4f} C={C:.4f} 夹层档利差 {C/(A+B)*1e4:.0f} bp")
att = [0, 0.03, 0.06, 0.09, 0.12, 0.22, 1.0]
for rho in (0.05, 0.15, 0.30, 0.60):
    out = []
    for L, H in zip(att[:-1], att[1:]):
        A, B, C = tranche_ABC(L, H, rho, lam50)
        out.append(f"{(C-0.05*(A+B))*100:6.2f}%" if L == 0 else f"{C/(A+B)*1e4:7.1f}")
    print(f"rho={rho:.2f}  0-3%预付 {out[0]} | 3-6 {out[1]} | 6-9 {out[2]} | 9-12 {out[3]} | 12-22 {out[4]} | 22-100 {out[5]} bp")

# ---------- 6) 例 25.3:第 k 次违约 CDS ----------
def kth_to_default(kth, n=10, lam=0.02, rho=0.3, R=0.4, r=0.05, T=5):
    t = np.arange(0, T + 1)
    QF = cond_pd(1 - np.exp(-lam * t), rho); QF[:, 0] = 0
    atleast = binom.sf(kth - 1, n, QF)                       # 到 t 时至少 kth 次违约的条件概率
    p_in = np.diff(atleast, axis=1); alive = 1 - atleast[:, 1:]
    v, vm = np.exp(-r * t[1:]), np.exp(-r * (t[1:] - 0.5))
    A = wg @ (alive * v).sum(1); B = wg @ (0.5 * p_in * vm).sum(1); C = wg @ ((1 - R) * p_in * vm).sum(1)
    return C / (A + B)
print("例 25.3: " + "  ".join(f"第{k}次违约 {kth_to_default(k)*1e4:.0f}bp" for k in (1, 2, 3)))

# ---------- 7) 隐含相关:复现原书表 25.8(2007-01-31 iTraxx) ----------
lam07, r07 = 0.00382, 0.03
quotes07 = [0.1034, 41.59e-4, 11.95e-4, 5.60e-4, 2.00e-4]      # 0-3% 为预付(另加 500bp),其余为 bp
def model_quote(q, rho):
    A, B, C = tranche_ABC(att[q], att[q+1], rho, lam07, r=r07)
    return C - 0.05 * (A + B) if q == 0 else C / (A + B)
comp = [brentq(lambda x: model_quote(q, x) - quotes07[q], 0.01, 0.6) for q in range(5)]
Cq = [tranche_ABC(att[q], att[q+1], comp[q], lam07, r=r07)[2] for q in range(5)]
EL0X = np.cumsum([Cq[q] * (att[q+1] - att[q]) for q in range(5)])      # 0~X% 档期望损失现值/总本金
base = [comp[0]] + [brentq(lambda x: tranche_ABC(0, att[q+1], x, lam07, r=r07)[2] - EL0X[q] / att[q+1], 0.01, 0.95)
                    for q in range(1, 5)]
print("复合相关:", " ".join(f"{a*100:.0f}-{b*100:.0f}%:{c:.1%}" for a, b, c in zip(att, att[1:], comp)))
print("基础相关:", " ".join(f"0-{b*100:.0f}%:{c:.1%}" for b, c in zip(att[1:], base)))
print("0-X% 期望损失现值(占组合本金):", " ".join(f"{b*100:.0f}%:{e:.3%}" for b, e in zip(att[1:], EL0X)))

关键输出:

风险年金 D=4.1150  违约腿=0.0506  盈亏平衡利差=123 bp
150bp 存量合约对卖方的价值 = 0.0111(每 1 元名义本金)
二元 CDS 利差 = 205 bp,(1-R)×二元利差 = 123 bp
R=0.2: 100bp 隐含风险率 1.2193%, 150bp 合约对卖方价值 0.02096, 二元 CDS 利差 125bp
R=0.4: 100bp 隐含风险率 1.6259%, 150bp 合约对卖方价值 0.02076, 二元 CDS 利差 167bp
R=0.6: 100bp 隐含风险率 2.4391%, 150bp 合约对卖方价值 0.02036, 二元 CDS 利差 250bp
分段风险率: 0-1y:0.996% 1-3y:1.761% 3-5y:2.842% 5-7y:3.000% 7-10y:3.274% | s/(1-R) 近似: 1.00% 1.50% 2.00% 2.25% 2.50%
iTraxx 34bp/票息40bp: 风险率 0.5717%, 久期 D=4.447, 价格 P=100.27, 买方预付 -0.27/100
rho=0.0: P(>=1 次违约)=0.8674  P(>=10 次违约)=0.000034
rho=0.1: P(>=1 次违约)=0.7293  P(>=10 次违约)=0.011334
rho=0.3: P(>=1 次违约)=0.5202  P(>=10 次违约)=0.044959
rho=0.6: P(>=1 次违约)=0.2833  P(>=10 次违约)=0.057170
rho=0.9: P(>=1 次违约)=0.0963  P(>=10 次违约)=0.050026
例 25.2: 指数 50bp -> 风险率 0.8297%; A=4.2846 B=0.0187 C=0.1496 夹层档利差 348 bp
rho=0.05  0-3%预付  47.74% | 3-6   253.6 | 6-9    22.7 | 9-12     1.6 | 12-22     0.0 | 22-100     0.0 bp
rho=0.15  0-3%预付  37.68% | 3-6   347.6 | 6-9    98.3 | 9-12    30.2 | 12-22     4.1 | 22-100     0.0 bp
rho=0.30  0-3%预付  25.98% | 3-6   373.8 | 6-9   169.0 | 9-12    86.0 | 12-22    26.4 | 22-100     0.5 bp
rho=0.60  0-3%预付   7.31% | 3-6   311.3 | 6-9   208.3 | 9-12   139.0 | 12-22    79.6 | 22-100     6.6 bp
例 25.3: 第1次违约 826bp  第2次违约 328bp  第3次违约 153bp
复合相关: 0-3%:17.7% 3-6%:7.8% 6-9%:14.0% 9-12%:18.2% 12-22%:23.3%
基础相关: 0-3%:17.7% 0-6%:28.4% 0-9%:36.5% 0-12%:43.3% 0-22%:60.6%
0-X% 期望损失现值(占组合本金): 3%:0.889% 6%:0.946% 9%:0.963% 12%:0.971% 22%:0.980%

读输出时注意几点:

  • 第 (1) 步完整复现了 25.2 节:RPV01 = 4.1150,利差 123 bp,150 bp 存量合约对卖方价值 0.0111,二元 CDS 205 bp,且 \(0.6\times205=123\)。回收率从 20% 变到 60%,隐含风险率从 1.22% 变到 2.44%,但存量 CDS 的价值几乎不变(0.0210 → 0.0204);二元 CDS 利差却从 125 bp 变到 250 bp——它对回收率高度敏感。
  • 第 (2) 步的分段风险率与 \(s/(1-R)\) 的平均值近似一致:例如 0–3 年的平均风险率 \((0.996\%+2\times1.761\%)/3\approx1.51\%\),接近 \(90/0.6=1.50\%\)。注意分段("远期")风险率比平均风险率更陡。
  • 第 (3) 步复现例 25.1:风险率 0.5717%,久期 4.447,价格 100.27。报价 34 bp 低于票息 40 bp,所以买方成交时收到 0.27%。
  • 第 (4) 步:零相关时恰好是 86.74% 和 0.0034%。相关上升使"至少 1 次违约"单调下降;"至少 10 次违约"先升后降——它在 \(\rho\approx0.6\) 附近达到约 5.7%,之后向完全相关时的极限 2% 回落。
  • 第 (5) 步:例 25.2 的 \(A,B,C\) 与原书完全一致,利差 348 bp。分档价格表直观地显示了 25.9 节的结论:相关从 0.05 升到 0.6,权益档预付款从 47.7% 降到 7.3%,高级档(22–100%)从 0 升到 6.6 bp;3–6% 夹层档先升后降,对相关不单调。
  • 第 (6) 步:第三次违约 CDS 153 bp 与原书一致;首次违约 826 bp,远高于单名 CDS 的约 120 bp 而小于 10 个单名之和——首次违约 CDS 的价值介于"最危险的单名"和"累加篮子"之间,相关越低越接近后者。
  • 第 (7) 步:从市场报价反推的复合相关和基础相关与原书表 25.8 一致(0–12%、0–22% 的基础相关差 0.1 个百分点,属舍入差异)。0–X% 档期望损失曲线递增且增速递减,满足无套利条件。

本章小结

信用衍生品让机构能够主动管理信用风险,把信用风险转移给他人或在组合中分散。最常见的是 CDS:一方向另一方购买针对参考实体违约的保险,赔付通常为参考实体债券的面值与违约后价值之差,现金结算时由 ISDA 拍卖确定。CDS 的估值令风险中性世界中的期望付款现值(含应计)等于期望赔付现值;风险年金 RPV01 是盯市和固定票息定价的核心;只要估计违约概率和估值使用同一回收率,CDS 价值对回收率不敏感,二元 CDS 例外。CDS 利差约等于债券对无风险利率的利差,差值为 CDS–债券基差。信用指数 CDX NA IG 与 iTraxx Europe 各含 125 家投资级公司,每半年滚动,实际交易用固定票息加预付款。CDS 远期是在未来进入 CDS 的义务,CDS 期权是权利,参考实体提前违约则两者失效;第 \(k\) 次违约 CDS 在组合第 \(k\) 次违约时赔付;TRS 把资产的总收益换成 LIBOR 加利差,常作为融资工具。CDO 用规则分配信用损失,从组合中创造出评级很高和很低的证券;合成 CDO 用 CDS 构造,标准分档以单档交易的形式活跃交易。第 \(k\) 次违约 CDS 与合成 CDO 分档的价值关键取决于违约相关:相关上升使权益档和首次违约保护变便宜,高级档和高次违约保护变贵。标准市场模型是违约时间单因子 Gaussian copula,计算上用条件二项分布加高斯求积;从市场报价隐含的复合相关呈微笑、基础相关呈偏斜,说明市场价格不符合该模型;非标准分档应对期望损失插值而非对基础相关插值;替代模型包括异质模型、双 \(t\) copula、随机因子载荷、隐含 copula 和动态模型。

概念 / 公式 内容
CDS 赔付 \(L(1-R)\);现金结算由 ISDA 拍卖确定最便宜可交割债券价值
CDS 定价 \(s=\dfrac{\text{期望赔付现值}}{\text{RPV01}}\),RPV01 = 存活加权的付款现值 + 应计
经验近似 \(s\approx\lambda(1-R)\)
盯市价值(对卖方) \((s_{\text{合约}}-s_{\text{当前}})\times\text{RPV01}\)
二元 CDS 普通 CDS 利差 \(=(1-R)\times\) 二元 CDS 利差
CDS–债券基差 CDS 利差 − 债券对 LIBOR/swap 利差
固定票息价格 \(P=100-100D(s-c)\),买方预付 \(100-P\)
分档估值 \(A=\sum\Delta\tau_jE_jv(\tau_j)\),\(C=\sum(E_{j-1}-E_j)v(\bar\tau_j)\),\(B=\sum0.5\Delta\tau_j(E_{j-1}-E_j)v(\bar\tau_j)\),\(s=C/(A+B)\)
条件违约概率 \(Q(t\mid F)=N\big(\frac{N^{-1}[Q(t)]-\sqrt\rho F}{\sqrt{1-\rho}}\big)\)
条件违约次数 \(P(k,t\mid F)=\binom nkQ(t\mid F)^k[1-Q(t\mid F)]^{n-k}\)
分档本金 \(k\) 次违约时 \(\mathrm{clip}\big(\frac{H-k(1-R)/n}{H-L},0,1\big)\)
高斯求积 \(\int\phi(F)g(F)dF\approx\sum w_kg(F_k)\)
隐含相关 复合相关(每档单独,呈微笑);基础相关(0–X% 档,呈偏斜)
非标准分档 对 0–X% 期望损失曲线插值(须递增、凹)

练习

基础题

  1. 某 5 年期 CDS 按年后付,参考实体风险率恒为每年 3%,无风险利率 4%(连续复利),回收率 40%,违约只发生在年中。求盈亏平衡 CDS 利差(参考原书习题 25.8)。 提示:付款现值 \(4.0728s\)(与正文相同,因为 \(\lambda+r\) 仍为 7%),应计 \(0.0633s\),赔付现值 0.0759,\(s=0.0759/4.1361\approx184\) bp。近似值 \(0.03\times0.6=180\) bp。

  2. 续上题,一份早先以 200 bp 成交的 CDS,现在对保护卖方值多少(每 1 美元名义本金)?二元 CDS 的利差是多少(参考原书习题 25.9、25.10)? 提示:\((0.0200-0.01836)\times4.136\approx0.0068\);二元 CDS 利差 \(=184/0.6\approx306\) bp。

  3. 5 年期 CDX NA IG 报价 80 bp,交易员对每家公司买入 100 万美元保护。每年成本是多少?一家公司违约后,交易员得到什么,年付款如何变化? 提示:\(0.008\times10^6\times125=100\) 万美元/年;获得该公司的 CDS 赔付 \(10^6(1-R)\),年付款减少 8,000 美元。

  4. 某单名 CDS 报价 150 bp,票息 100 bp,久期 \(D=4.3\)。求价格以及保护买方在成交时每 100 美元名义本金支付多少。 提示:\(P=100-100\times4.3\times0.005=97.85\),买方预付 2.15。

  5. 合成 CDO 本金 1 亿美元,分档为 0–5%、5–20%、20–100%。先后发生两笔 CDS 赔付 300 万和 600 万美元。求每笔赔付后各档的剩余本金。 提示:第一笔后权益档 200 万;第二笔中权益档承担 200 万归零,夹层档承担 400 万,剩余 1,100 万,高级档不变。

  6. 解释为什么首次违约 CDS 的价值随违约相关上升而下降,而第 10 次违约 CDS(在 100 个名字的篮子中)的价值一般随相关上升而上升(原书习题 25.5、25.11)。 提示:见 25.9 节;高相关时违约"成群"发生,至少一次违约的概率下降,大量违约的概率上升。

进阶题

  1. 证明:在同一组违约概率下,普通 CDS 利差 \(=(1-R)\times\) 二元 CDS 利差;并解释为什么普通 CDS 的价值对回收率不敏感而二元 CDS 敏感(原书习题 25.13、25.14)。 提示:两者付款腿相同,赔付腿只差因子 \(1-R\)。从普通 CDS 报价反推的风险率约与 \(1/(1-R)\) 成正比;普通 CDS 赔付 \(\propto(1-R)\times\lambda\approx\) 常数,二元 CDS 赔付 \(\propto\lambda\propto1/(1-R)\)。

  2. 125 个名字,每家 5 年违约概率 4%,copula 相关 0.2,回收率 40%。求 \(F=-1.5\) 时的条件违约概率,以及条件于此时 5 年内超过 10 次违约的概率(原书习题 25.21)。 提示:\(Q(5\mid F)=N\big((N^{-1}(0.04)+\sqrt{0.2}\times1.5)/\sqrt{0.8}\big)\approx11.4\%\);二项分布 \(P(k>10)\approx85\%\)。对比无条件下均值仅 5 次。

  3. 在例 25.2 的设定下(\(\rho=0.15\)),求 6–9% 和 9–12% 分档的盈亏平衡利差(原书习题 25.23、25.29)。 提示:用代码第 (5) 步,分别约为 98 bp 和 30 bp。

  4. 在例 25.3 的设定下,求首次违约和第二次违约 CDS 的利差,并解释为什么首次违约利差小于 10 个单名 CDS 利差之和(原书习题 25.28)。 提示:约 826 bp 和 328 bp。首次违约后合约终止,买方只获得一次赔付;相关性使违约集中,进一步降低首次违约的概率。

  5. 解释复合相关与基础相关的区别;为什么用插值基础相关为非标准分档定价可能产生套利(原书习题 25.22)。编程:用代码第 (7) 步的结果,分别用"插值基础相关"和"插值期望损失曲线"两种方法为 4–8% 分档定价,比较结果(可选做原书习题 25.31,用 2008 年 1 月 31 日的报价重复第 (7) 步)。 提示:期望损失是基础相关的非线性函数,在基础相关上做线性插值不能保证 0–X% 期望损失曲线保持递增和凹,可能导致某个窄分档的期望损失为负。

原书推荐习题:25.8、25.9、25.10(CDS 估值三件套:利差、盯市、二元 CDS);25.13、25.14、25.25(回收率在 CDS 定价中的作用);25.24(违约时点不在年中、半年付款);25.21(条件违约概率与条件二项分布);25.23、25.28(复现例 25.2、25.3 的分档与第 \(k\) 次违约 CDS 定价);25.27(CDS–债券套利);25.22、25.31(隐含相关)。其他概念题:25.1(普通 vs 二元 CDS)、25.3(结算方式)、25.4(现金与合成 CDO)、25.6、25.19(风险中性 vs 现实世界概率)、25.7、25.15、25.20(TRS)、25.16(CDS 远期与期权)、25.17(CDS 买方 ≈ 多无风险债 + 空公司债)、25.18(信息不对称)、25.26(相关上升对各档的影响)、25.30(由 CDS 期限结构 bootstrap 风险率)。


原书对照

本章小节 原书小节 PDF 页码 原书页码
25.0 信用衍生品市场 Chapter 25 引言 594 593
25.1 CDS 25.1 Credit Default Swaps 595–598 594–597
25.2 CDS 估值 25.2 Valuation of Credit Default Swaps 598–602 597–601
25.3 信用指数 25.3 Credit Indices 602 601
25.4 固定票息 25.4 The Use of Fixed Coupons 603 602
25.5 CDS 远期与期权 25.5 CDS Forwards and Options 604 603
25.6 篮子 CDS 25.6 Basket Credit Default Swaps 604 603
25.7 总收益互换 25.7 Total Return Swaps 604–605 603–604
25.8 CDO 25.8 Collateralized Debt Obligations 606–608 605–607
25.9 相关性的作用 25.9 Role of Correlation in a Basket CDS and CDO 608 607
25.10 合成 CDO 估值 25.10 Valuation of a Synthetic CDO 608–615 607–614
25.11 标准市场模型的替代 25.11 Alternatives to the Standard Market Model 615–617 614–616
小结与习题 Summary, Further Reading, Practice Questions 617–620 616–619

延伸阅读:Andersen & Sidenius (2004) 随机因子载荷与随机回收率;Andersen, Sidenius & Basu (2003) 异质组合的半解析算法;Das (2005) 信用衍生品教材;Hull & White (2004) 第 \(k\) 次违约 CDS 与 CDO 的估值,(2006) 隐含 copula,(2010) 动态模型;Laurent & Gregory (2005) 篮子与 CDO 的因子方法;Li (2000) 违约相关的 copula 方法;Schönbucher (2003) 信用衍生品定价模型;Tavakoli (1998) 信用衍生品实务。