- name
- credit-analysis
- description
- 固收与信用分析:信用债评级、利差分析、违约风险评估、城投债研究、可转债定价与策略。
- category
- analysis
# Credit Analysis Skill — 固收与信用分析
## 适用场景
当用户提出以下类型问题时,优先调用本 skill:
- 债券定价、YTM 计算、久期/凸性分析
- 企业信用评级、违约概率估算
- 信用利差分析与交易策略
- 城投债、ABS/MBS 信用评估
- 利率风险管理(DV01、关键利率久期)
- 中国固收市场结构分析
---
## 一、信用分析框架
### 1.1 信用评级体系
#### 主体评级 vs 债项评级
| 类型 | 定义 | 评级对象 |
|------|------|----------|
| **主体评级(Issuer Rating)** | 发行人整体偿债能力 | 企业、政府、金融机构 |
| **债项评级(Issue Rating)** | 特定债券的信用质量 | 具体债券,考虑抵押品、优先级、契约条款 |
债项评级可高于或低于主体评级(取决于担保结构)。
#### 标准普尔 / 穆迪 / 中国评级对照
| S&P | Moody's | 中国评级 | 含义 |
|-----|---------|----------|------|
| AAA | Aaa | AAA | 最高信用质量,极低违约风险 |
| AA+/AA/AA- | Aa1/Aa2/Aa3 | AA+/AA/AA- | 高质量,极低违约风险 |
| A+/A/A- | A1/A2/A3 | A+/A/A- | 较高信用质量 |
| BBB+/BBB/BBB- | Baa1/Baa2/Baa3 | BBB+/BBB/BBB- | 投资级下限(IG/HY分水岭) |
| BB+及以下 | Ba1及以下 | BB+及以下 | 高收益/投机级 |
| D | D | D | 违约 |
> **中国特点**:国内评级虚高,AA级在国内约等同于国际BBB-,需结合评级展望(正面/稳定/负面)综合判断。
---
### 1.2 Altman Z-Score 模型
用于预测企业财务困境,原始模型适用于上市制造业:
```
Z = 1.2×X1 + 1.4×X2 + 3.3×X3 + 0.6×X4 + 1.0×X5
```
| 变量 | 计算公式 | 含义 |
|------|----------|------|
| X1 | 营运资本 / 总资产 | 流动性 |
| X2 | 留存收益 / 总资产 | 盈利积累 |
| X3 | EBIT / 总资产 | 盈利能力 |
| X4 | 股权市值 / 总负债账面值 | 财务杠杆 |
| X5 | 销售收入 / 总资产 | 资产效率 |
**判断区间**:
- Z > 2.99:安全区(低违约风险)
- 1.81 < Z < 2.99:灰色区(需深入分析)
- Z < 1.81:危险区(高违约风险)
**改进版本**:
- Z'(私有企业):X4改用股权账面值,临界值2.90/1.23
- Z''(非制造业/新兴市场):去掉X5,临界值2.60/1.10
**局限性**:
- 基于历史数据,滞后性强
- 不适用金融类企业(杠杆定义不同)
- 中国市场需重新标定参数
---
### 1.3 Merton 结构化模型
将公司股权视为对公司资产的看涨期权(执行价格=债务面值):
**核心假设**:
- 公司资产价值 V 遵循几何布朗运动:`dV = μV dt + σ_V V dW`
- 债务为零息债,面值 D,到期日 T
- 违约仅在 T 时刻发生(欧式违约设定)
**股权定价(BS公式)**:
```
E = V·N(d1) - D·e^(-rT)·N(d2)
d1 = [ln(V/D) + (r + σ_V²/2)T] / (σ_V·√T)
d2 = d1 - σ_V·√T
```
**违约概率(风险中性)**:
```
PD = N(-d2)
```
**距违约距离(DD, Distance to Default)**:
```
DD = [ln(V/D) + (μ - σ_V²/2)T] / (σ_V·√T)
```
**信用利差估算**:
```
信用利差 ≈ -ln[N(d2) + (V/D·e^(rT))·N(-d1)] / T
```
**参数估算方法**(联立方程组):
1. E = V·N(d1) - D·e^(-rT)·N(d2)
2. σ_E·E = N(d1)·σ_V·V
---
### 1.4 KMV 模型(预期违约频率 EDF)
KMV 是 Merton 模型的商业化实现,由穆迪收购:
**步骤**:
1. 用股价和股权波动率反推资产价值 V 和资产波动率 σ_V
2. 计算违约触发点(Default Point):`DP = 短期债务 + 0.5×长期债务`
3. 计算距违约距离:`DD = (V - DP) / (V × σ_V)`
4. 通过历史违约数据库将 DD 映射为 EDF(非正态映射)
**与 Merton 的区别**:
- 违约触发点不是全部债务,而是短期+半长期
- DD→EDF 映射基于实证数据库,非正态分布假设
- EDF 是真实世界概率,而非风险中性概率
**EDF 参考区间**(约):
- EDF < 0.1%:投资级
- 0.1%–1%:BBB-BB 级
- 1%–5%:B 级
- EDF > 5%:CCC 及以下
---
### 1.5 信用评分卡方法论
适用于零售信贷/ABS 底层资产分析:
**建模流程**:
1. **数据准备**:收集历史贷款数据,定义违约标签(如逾期90天+)
2. **特征工程**:WOE(Weight of Evidence)编码
3. **特征选择**:IV值(Information Value)筛选,IV>0.02保留
4. **模型训练**:Logistic Regression(主流)、XGBoost
5. **评分转换**:`Score = A - B×ln(odds)`,通常基准分600,PDO=20
**WOE 和 IV 计算**:
```python
WOE_i = ln(好样本比例_i / 坏样本比例_i)
IV_i = (好样本比例_i - 坏样本比例_i) × WOE_i
总IV = Σ IV_i
```
**IV 参考标准**:
- IV < 0.02:无预测力
- 0.02–0.1:弱预测力
- 0.1–0.3:中等预测力
- IV > 0.3:强预测力
---
## 二、固收产品分析
### 2.1 国债与政府债
#### 收益率曲线分析
**即期利率曲线(Zero Curve)**:各期限无风险零息债收益率,通过 Bootstrap 方法从附息债提取。
**远期利率曲线(Forward Curve)**:
```
f(T1, T2) = [(1+r2)^T2 / (1+r1)^T1]^(1/(T2-T1)) - 1
```
**期限利差**:
- 10Y-2Y:经济周期预判指标,负值通常预示衰退
- 10Y-1Y:流动性偏好衡量指标
- 30Y-10Y:超长端供需判断
**收益率曲线形态**:
| 形态 | 特征 | 经济含义 |
|------|------|----------|
| 正斜率(Normal) | 长端>短端 | 经济扩张预期 |
| 平坦(Flat) | 各期限相近 | 经济转折点 |
| 倒挂(Inverted) | 短端>长端 | 衰退信号 |
| 驼峰(Humped) | 中端最高 | 流动性分层 |
#### 中国国债收益率曲线特点
- 基准曲线:中国国债(CGBs)+ 国开债(Policy Bank Bonds)
- 关键点位:1Y/3Y/5Y/7Y/10Y/30Y
- 10Y国债为核心基准利率
---
### 2.2 企业债分析
#### 核心指标
**票面利率(Coupon Rate)**:发行时约定,按面值计息。
**到期收益率 YTM(Yield to Maturity)**:
使 债券现值 = 市场价格的内部收益率:
```
P = Σ [C/(1+y)^t] + F/(1+y)^n
```
其中 C=票息,F=面值,y=YTM,n=期数。
**当期收益率(Current Yield)**:`CY = 年票息 / 市场价格`(忽略本金损益)
**修正久期(Modified Duration)**:
```
MD = -dP/P ÷ dy = Macaulay Duration / (1+y/m)
```
含义:利率每变化1%,债券价格变化约MD%(反向)。
**凸性(Convexity)**:
```
CX = [Σ t(t+1)·CF_t/(1+y)^(t+2)] / P
价格变化修正:ΔP/P ≈ -MD·Δy + 0.5·CX·(Δy)²
```
#### 债券价格公式(实现)
定价函数是仓库里的实测代码,直接 import,**不要在会话里重新手写**:
```python
from src.quantlib.fixedincome import bond_price
bond_price(face=100, coupon_rate=0.05, ytm=0.04, n_periods=5, freq=1)
# -> 104.4518... 5年期、票息5%、YTM=4%、年付
```
两个约定在这里是**显式参数**,不是隐含假设:
- `compounding`:`"discrete"`(默认,每年 `freq` 次离散复利,即上面 `P = Σ C/(1+y/m)^t` 的形式)或 `"continuous"`。
- 日算基准:`bond_price` 按整数付息期贴现,因此返回的是**付息日**的价格(净价,应计为 0)。
非付息日结算要另加应计利息才是全价(脏价):
```python
import datetime as dt
from src.quantlib.fixedincome import accrued_interest
accrued = accrued_interest(
face=100, coupon_rate=0.05, freq=2,
last_coupon=dt.date(2024, 1, 15),
settlement=dt.date(2024, 4, 15),
next_coupon=dt.date(2024, 7, 15),
day_count="30/360", # ACT/365F(默认) | ACT/360 | ACT/ACT | 30/360 | 30E/360
) # -> 1.25
dirty_price = bond_price(100, 0.05, 0.04, 10, 2) + accrued
```
---
### 2.3 可转债(纯债部分)
> 可转债的转股期权部分详见 `convertible-bond` skill,本节聚焦纯债价值。
**纯债价值(Bond Floor)**:
```
纯债价值 = Σ [票息/(1+r_straight)^t] + 面值/(1+r_straight)^n
```
其中 r_straight 为同评级同期限直债收益率。
**转股溢价率与纯债溢价率**:
- 转股溢价率 = (可转债价格 - 转股价值) / 转股价值
- 纯债溢价率 = (可转债价格 - 纯债价值) / 纯债价值
**下修条款信用含义**:
下修转股价可能导致摊薄,需评估公司意愿(强赎冲动 vs 回售压力)。
---
### 2.4 ABS/MBS 分析
#### 底层资产分析框架
**资产质量指标**:
- 加权平均票息(WAC)
- 加权平均剩余期限(WAM)
- 加权平均贷款价值比(LTV)
- 历史逾期率(DPD 30/60/90+)
- 累计违约率(CDR,Cumulative Default Rate)
**早偿率模型**:
- CPR(Conditional Prepayment Rate):年化早偿率
- SMM(Single Monthly Mortality):月早偿率
```
CPR = 1 - (1 - SMM)^12
SMM = 1 - (1 - CPR)^(1/12)
```
- PSA 模型:标准早偿假设(PSA100 = 前30个月线性增至6%/年,之后6%/年恒定)
**分层结构(Tranche)分析**:
- 优先级(Senior):最先受偿,评级最高
- 夹层(Mezzanine):次级受偿
- 劣后级(Equity/Junior):首先吸收损失,超额利差归属
**关键风险指标**:
```
增信倍数 = (底层资产池规模 - 优先级规模) / 优先级规模
超额利差 = 底层资产池利率 - 优先级融资成本 - 服务费
```
---
### 2.5 城投债信用分析
城投债(LGFV,地方政府融资平台债)是中国固收市场特有品种。
#### 分析框架
**四维评估模型**:
| 维度 | 核心指标 | 权重 |
|------|----------|------|
| 区域财政实力 | 一般公共预算收入、GDP规模、财政自给率 | 40% |
| 平台层级 | 省级>市级>区县级,级别越高隐性支持越强 | 25% |
| 平台地位 | 是否唯一城投、资产注入力度、业务多元化 | 20% |
| 债务结构 | 有息负债规模、短期债务占比、再融资压力 | 15% |
**隐性债务风险信号**:
- 城投货币资金/短期债务 < 0.5(流动性紧张)
- EBITDA利息覆盖率 < 1(依赖外部融资付息)
- 非标融资占比>30%(再融资风险高)
- 区县级城投、弱区域(负债率>100%)
**城投估值溢价结构**(参考):
```
城投利率 ≈ 同期国债 + 流动性溢价(30-50bp) + 区域溢价(0-200bp) + 平台溢价(0-100bp)
```
**政策风险**:2023年城投化债政策后分化加剧,关注:
- 一揽子化债进度
- 平台转型(城投转企业)
- 区域名单管理政策
---
## 三、利率风险管理
### 3.1 久期体系
#### Macaulay Duration(麦考利久期)
时间加权现金流现值之和,单位为"年":
```
D_mac = Σ [t × CF_t/(1+y)^t] / P
```
#### Modified Duration(修正久期)
利率敏感性度量:
```
D_mod = D_mac / (1 + y/m)
ΔP ≈ -D_mod × P × Δy
```
#### Effective Duration(有效久期)
适用于含权债券(可赎回债、MBS等):
```
D_eff = (P_down - P_up) / (2 × P_0 × Δy)
```
其中 P_down/P_up 为利率下移/上移Δy后的价格。
#### Dollar Duration(久期金额)
```
Dollar Duration = D_mod × P × 面值
```
---
### 3.2 凸性(Convexity)
衡量久期对利率的敏感性(二阶效应):
```
C = Σ [t(t+1) × CF_t/(1+y)^(t+2)] / P
价格精确估算:
ΔP/P ≈ -D_mod·Δy + 0.5·C·(Δy)²
```
**凸性的价值**:正凸性使债券在利率下行时涨幅大于预期(利率上行时跌幅小于预期),因此正凸性债券比负凸性债券(如可赎回债、MBS)更受青睐。
---
### 3.3 DV01(基点价值)
利率变动1基点(0.01%)导致的价格变化:
```
DV01 = D_mod × P × 0.0001
```
组合层面:`Portfolio DV01 = Σ (DV01_i × 持仓量_i)`
**用途**:利率对冲比率计算
```
对冲比率 = DV01_被对冲头寸 / DV01_对冲工具
```
---
### 3.4 关键利率久期(Key Rate Duration, KRD)
衡量收益率曲线各关键期限平行移动1bp对价格的影响:
- 常用关键点:1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 20Y, 30Y
- `KRD_i = -ΔP/(P × Δy_i)`(仅第i个关键利率变动1bp)
- `Σ KRD_i ≈ D_mod`(各关键利率久期之和约等于修正久期)
**应用**:
- 识别组合对特定期限利率的暴露
- 精确对冲非平行移动风险(扭曲/蝶式)
---
### 3.5 免疫策略
**久期匹配(Duration Matching)**:
使资产组合久期 = 负债久期,对利率平行移动免疫。
条件:`Σ (w_i × D_i) = D_liability`
**现金流匹配(Cash Flow Matching)**:
直接匹配每期现金流,彻底消除再投资风险,但灵活性差、成本高。
**条件免疫(Contingent Immunization)**:
当组合价值超过安全底线时主动管理,跌至底线时切换为被动免疫。
**再平衡频率**:
- 久期随时间漂移,需定期(季度/月度)再平衡
- 利率大幅变动(>50bp)后立即再平衡
---
## 四、信用利差分析
### 4.1 信用利差的构成
```
信用利差(Credit Spread)= 违约风险溢价 + 流动性溢价 + 税收溢价(部分市场)
```
| 组成部分 | 影响因素 | 量化方式 |
|----------|----------|----------|
| 违约风险溢价 | 评级、行业、财务状况、宏观周期 | CDS报价、模型测算 |
| 流动性溢价 | 发行规模、剩余期限、市场深度 | 买卖价差、换手率 |
| 税收溢价 | 国债免税优惠(部分国家/投资者) | 利率差异分析 |
Auf GitHub ansehen