3. CDS定价原理
CDS(信用违约互换)的定价,本质上是在风险中性测度下,把“保护买方未来可能获得的赔付”与“保护卖方定期收取的保费”两条现金流分别折现,并令二者现值相等。理解这一等式,需要同时掌握四个输入:违约概率、回收率、无风险利率,以及风险中性定价框架。本节以 Strata 的实现视角,把这四个要素串成一条可计算的定价链路。
一、核心原理:两条现金流与一个均衡点
CDS 合约中,保护买方定期支付保费(通常按季度,年化费率即 CDS spread),直到违约发生或合约到期;保护卖方在参考实体违约时,赔付“面值 × (1 − 回收率)”。因此定价的核心是:
- 保费腿(Premium Leg):每期保费 × 存活概率 × 折现因子,并考虑应计利息调整。
- 赔付腿(Protection Leg):每期违约概率 × (1 − 回收率) × 折现因子。
- 均衡条件:保费腿现值 = 赔付腿现值,解出的费率即为理论 CDS spread。
这里的关键是“风险中性”假设:我们并不使用真实世界的违约概率,而是使用从市场报价中反推出的风险中性违约概率。这样做的目的是让模型价格与市场可交易价格一致,而不是预测真实违约频率。
核心等式:PV(保费腿) = PV(赔付腿)。Strata 通过求解该等式得到公平费率,或给定费率计算现值。
二、方法流程:从市场数据到定价结果
在 Strata 中,CDS 定价通常遵循以下流程:
- 构建无风险利率曲线:使用 OIS 或国债曲线,得到各期限的折现因子。
- 构建信用曲线:从市场 CDS spread 报价出发,通过自举(bootstrapping)得到各期限的存活概率或违约强度。
- 设定回收率:通常假设为 40%,但需与市场惯例一致。
- 计算两条腿的现值:对每个付息日,用存活概率和折现因子加权。
- 求解或校验:令两条腿相等,得到公平费率;或给定费率计算 MTM。
Strata 提供了 IsdaCdsProductPricer 和 IsdaCdsTradePricer 等类,封装了标准 ISDA 模型。以下是一个典型的定价调用片段:
// 构建 CDS 交易
CdsTrade trade = CdsTrade.builder()
.template(template)
.buySell(BuySell.BUY)
.entityId(StandardId.of("OG", "XYZ"))
.startDate(LocalDate.of(2024, 1, 1))
.endDate(LocalDate.of(2029, 1, 1))
.notional(10_000_000)
.fixedRate(0.0125)
.build();
// 定价
CdsTradePricer pricer = IsdaCdsTradePricer.standard();
CurrencyAmount pv = pricer.presentValue(trade, ratesProvider, creditCurve);
System.out.println("PV = " + pv);
其中 ratesProvider 提供无风险折现,creditCurve 提供风险中性违约概率。两者缺一不可。
三、案例场景:一个 5 年期 CDS 的定价拆解
假设参考实体为某公司,5 年期 CDS 市场报价为 125bp,回收率 40%,无风险利率曲线平坦为 3%。我们按年付息简化演示:
| 年份 | 存活概率 | 违约概率 | 折现因子 | 保费腿现值 | 赔付腿现值 |
|---|---|---|---|---|---|
| 1 | 0.980 | 0.020 | 0.971 | 0.0119 | 0.0117 |
| 2 | 0.960 | 0.020 | 0.943 | 0.0113 | 0.0113 |
| 3 | 0.941 | 0.019 | 0.915 | 0.0108 | 0.0104 |
| 4 | 0.922 | 0.019 | 0.888 | 0.0102 | 0.0101 |
| 5 | 0.904 | 0.018 | 0.863 | 0.0098 | 0.0093 |
把保费腿和赔付腿分别加总,得到两条腿的现值。若给定费率 125bp,则保费腿现值约为 0.0540,赔付腿现值约为 0.0528,二者接近但不完全相等,差额即为 MTM。若要求公平费率,则调整费率使二者相等,得到约 122bp。这个例子说明:CDS 定价不是简单乘一个违约概率,而是逐期现金流折现的累加。
四、误区与复盘:定价中最容易踩的坑
误区一:把真实违约概率直接代入。CDS 定价使用的是风险中性违约概率,它包含了风险溢价,通常高于真实违约概率。直接用历史违约率会低估 spread。
误区二:忽略回收率与违约概率的耦合。回收率变化会同时影响赔付腿和违约概率的校准结果。ISDA 模型通常固定回收率,再反推违约强度,二者不能独立随意设定。
复盘建议:在 Strata 中调试定价时,先检查利率曲线和信用曲线的日期对齐,再检查付息日调整和应计利息计算。很多“价格不对”的问题,根源是曲线节点或日计数规则不一致,而不是模型本身。