3. CDS定价原理

CDS(信用违约互换)的定价,本质上是在风险中性测度下,把“保护买方未来可能获得的赔付”与“保护卖方定期收取的保费”两条现金流分别折现,并令二者现值相等。理解这一等式,需要同时掌握四个输入:违约概率、回收率、无风险利率,以及风险中性定价框架。本节以 Strata 的实现视角,把这四个要素串成一条可计算的定价链路。

一、核心原理:两条现金流与一个均衡点

CDS 合约中,保护买方定期支付保费(通常按季度,年化费率即 CDS spread),直到违约发生或合约到期;保护卖方在参考实体违约时,赔付“面值 × (1 − 回收率)”。因此定价的核心是:

  • 保费腿(Premium Leg):每期保费 × 存活概率 × 折现因子,并考虑应计利息调整。
  • 赔付腿(Protection Leg):每期违约概率 × (1 − 回收率) × 折现因子。
  • 均衡条件:保费腿现值 = 赔付腿现值,解出的费率即为理论 CDS spread。

这里的关键是“风险中性”假设:我们并不使用真实世界的违约概率,而是使用从市场报价中反推出的风险中性违约概率。这样做的目的是让模型价格与市场可交易价格一致,而不是预测真实违约频率。

核心等式:PV(保费腿) = PV(赔付腿)。Strata 通过求解该等式得到公平费率,或给定费率计算现值。

二、方法流程:从市场数据到定价结果

在 Strata 中,CDS 定价通常遵循以下流程:

  1. 构建无风险利率曲线:使用 OIS 或国债曲线,得到各期限的折现因子。
  2. 构建信用曲线:从市场 CDS spread 报价出发,通过自举(bootstrapping)得到各期限的存活概率或违约强度。
  3. 设定回收率:通常假设为 40%,但需与市场惯例一致。
  4. 计算两条腿的现值:对每个付息日,用存活概率和折现因子加权。
  5. 求解或校验:令两条腿相等,得到公平费率;或给定费率计算 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 定价:两条现金流的折现与均衡 保费腿 Premium Leg 每期保费 × 存活概率 × 折现因子 考虑应计利息调整 PV = Σ (spread × Δt × S(t) × D(t)) 赔付腿 Protection Leg 每期违约概率 × (1 − 回收率) × 折现因子 PV = Σ ((1 − R) × (S(t-1) − S(t)) × D(t)) 回收率通常假设 40% = 四个核心输入 违约概率 风险中性测度 回收率 通常 40% 无风险利率 折现因子来源 风险中性定价 市场报价反推

四、误区与复盘:定价中最容易踩的坑

误区一:把真实违约概率直接代入。CDS 定价使用的是风险中性违约概率,它包含了风险溢价,通常高于真实违约概率。直接用历史违约率会低估 spread。

误区二:忽略回收率与违约概率的耦合。回收率变化会同时影响赔付腿和违约概率的校准结果。ISDA 模型通常固定回收率,再反推违约强度,二者不能独立随意设定。

复盘建议:在 Strata 中调试定价时,先检查利率曲线和信用曲线的日期对齐,再检查付息日调整和应计利息计算。很多“价格不对”的问题,根源是曲线节点或日计数规则不一致,而不是模型本身。