1. 课程导入
欢迎进入《CDX与iTraxx指数CDS定价实战》。在正式进入定价模型、曲线构建与交易策略之前,本章先解决三个基础问题:CDX与iTraxx到底是什么、它们在全球信用市场中处于什么位置、以及本课程将如何带你从零走到可实战定价。只有把这三个问题厘清,后续的模型推导与参数校准才不会变成"公式堆砌"。
一、核心定义:指数CDS不是单一合约,而是一篮子信用风险的标准化切片
CDS(Credit Default Swap,信用违约互换)本质是一份信用保险合约:保护买方定期支付保费(Spread),保护卖方在参考实体发生违约或信用事件时赔付损失。而指数CDS把这一逻辑复制到一篮子参考实体上,形成可交易、可清算、标准化的信用组合产品。
目前全球流动性最强的两大指数体系是:
- CDX系列:由Markit(现S&P Global)与CDS IndexCo推出,主要覆盖北美与新兴市场。核心品种包括CDX.NA.IG(北美投资级,125个参考实体)、CDX.NA.HY(北美高收益,100个参考实体)以及CDX.EM等。
- iTraxx系列:由Markit与IIC推出,主要覆盖欧洲与亚洲。核心品种包括iTraxx Europe(欧洲投资级,125个参考实体)、iTraxx Crossover(欧洲高收益/交叉级,75个参考实体)以及iTraxx Asia等。
两者在合约结构上高度相似:等权重、固定到期日(通常为5年、7年、10年)、标准化信用事件定义、滚动发行(每半年推出新系列,如CDX.NA.IG Series 40、iTraxx Europe Series 40)。这种标准化正是它们能够集中清算、电子交易、成为信用市场"基准利率"的前提。
二、市场地位:信用市场的"标普500"与定价锚
如果把股票市场的标普500视为风险偏好的风向标,那么CDX.NA.IG与iTraxx Europe就是信用市场的对应物。它们的市场地位体现在四个层面:
| 维度 | CDX.NA.IG | iTraxx Europe | 实战含义 |
|---|---|---|---|
| 参考实体数量 | 125 | 125 | 分散度足够,单名违约影响有限 |
| 主要期限 | 5Y、7Y、10Y | 5Y、7Y、10Y | 5Y为最活跃定价基准 |
| 清算方式 | 中央清算为主 | 中央清算为主 | 降低对手方风险,提升流动性 |
| 典型日成交 | 数十亿美元名义 | 数十亿欧元名义 | 可承载机构级对冲与方向性交易 |
| 核心用途 | 北美信用风险对冲、宏观信用表达 | 欧洲信用风险对冲、跨市场套利 | 定价模型必须能复现市场报价 |
从参与者结构看,指数CDS市场由做市商、对冲基金、银行自营、资产管理机构与保险公司共同构成。做市商提供双边报价,对冲基金进行方向性与相对价值交易,银行用于信用组合对冲,资产管理机构则用于表达信用久期与行业观点。这种多元参与使得指数CDS的报价连续、买卖价差窄,成为信用衍生品定价的"锚"。
三、方法流程:从市场报价到理论价格的完整链路
本课程的核心目标,是让你能够独立完成"给定市场报价,计算指数CDS理论价格,并判断报价是否偏离"的完整流程。这条链路可以拆解为五个步骤:
- 数据准备:获取指数CDS的期限结构报价(1Y、3Y、5Y、7Y、10Y)、无风险利率曲线、以及各参考实体的单名CDS报价。
- 曲线构建:从单名CDS报价中剥离出各参考实体的违约概率期限结构(Hazard Rate Curve),常用Bootstrap方法。
- 相关性建模:指数CDS的价格不仅取决于单名违约概率,还取决于参考实体之间的违约相关性。常用Gaussian Copula、Student-t Copula或因子模型。
- 指数定价:将单名曲线与相关性结构输入定价引擎,计算指数CDS的理论Spread与保护买方/卖方的现金流现值。
- 偏差分析与交易决策:比较理论价格与市场报价,识别套利机会或对冲成本,形成交易信号。
在实操中,这一流程通常通过Python或C++定价库实现。以下是一个简化的曲线构建伪代码示例,帮助你建立直观感受:
# 伪代码:从单名CDS报价构建Hazard Rate曲线
def bootstrap_hazard_curve(cds_spreads, recovery_rate, discount_curve):
hazard_rates = []
for i, spread in enumerate(cds_spreads):
# 根据当前期限的CDS报价,反推该期限的违约强度
# 保护买方现值 = 保护卖方现值
hazard = solve_hazard_rate(
spread=spread,
recovery=recovery_rate,
discount=discount_curve,
previous_hazards=hazard_rates
)
hazard_rates.append(hazard)
return hazard_rates
# 指数定价:将单名曲线与相关性矩阵结合
def price_index_cds(hazard_curves, correlation_matrix, notional):
# 使用Copula模拟联合违约时间
joint_default_times = simulate_copula(
hazard_curves, correlation_matrix
)
# 计算指数层面的预期损失与保费现金流
expected_loss = compute_expected_loss(joint_default_times, notional)
premium_leg = compute_premium_leg(joint_default_times, notional)
fair_spread = expected_loss / premium_leg
return fair_spread
四、案例与场景:一次典型的指数CDS定价实战
假设某对冲基金交易员观察到:CDX.NA.IG 5Y的市场报价为85bp,而根据内部模型(基于单名CDS曲线与历史相关性)计算的理论价格为92bp。这意味着市场报价低于理论价格,指数保护买方"便宜",保护卖方"贵"。交易员可能选择买入保护(支付85bp保费),等待市场向理论价格收敛后平仓获利。
但这一决策并非无风险。如果实际违约相关性高于模型假设,联合违约概率上升,理论价格可能进一步走高,买入保护反而亏损。因此,定价实战的关键不在于"算出一个数",而在于理解模型假设与市场现实之间的差距,并据此管理风险。
五、课程整体框架与学习目标
本课程共30章,按照"基础—建模—定价—实战"四阶段递进:
- 基础阶段(第1-6章):CDX与iTraxx合约细则、市场惯例、报价解读、信用事件定义。
- 建模阶段(第7-14章):单名CDS曲线构建、Hazard Rate模型、Copula相关性建模、因子模型。
- 定价阶段(第15-22章):指数CDS定价引擎实现、数值方法、校准与回测、希腊字母计算。
- 实战阶段(第23-30章):交易策略、对冲组合构建、风险监控、压力测试与案例分析。
完成本课程后,你将能够:独立读取CDX与iTraxx市场报价;从单名CDS数据构建违约概率曲线;使用Copula模型对指数CDS进行定价;识别市场报价中的套利机会;并能够用Python实现完整的定价与回测流程。