2. 信用风险基础:违约概率(PD)、违约损失率(LGD)、违约风险敞口(EAD)的概念、预期损失与非预期损失的计算公式
信用风险是金融风控的核心,也是额度模型与评分卡建模的底层逻辑。本章将系统梳理信用风险的四大核心参数:违约概率(PD)、违约损失率(LGD)、违约风险敞口(EAD),以及由此衍生的预期损失(EL)与非预期损失(UL)。理解这些概念是构建量化风控模型的第一步。
2.1 信用风险三大核心参数
巴塞尔协议将信用风险计量框架定义为三个核心输入变量,通常被称为“风险三要素”:
| 参数 | 英文全称 | 定义 | 取值范围 | 典型建模方法 |
|---|---|---|---|---|
| PD | Probability of Default | 借款人在未来一定时期内(通常为1年)发生违约的概率 | 0% ~ 100% | 逻辑回归、XGBoost、评分卡 |
| LGD | Loss Given Default | 违约发生时,无法收回的损失占风险敞口的比例 | 0% ~ 100% | 回收率回归、决策树、Beta回归 |
| EAD | Exposure at Default | 违约发生时,债权人面临的风险敞口金额 | ≥ 0 | 额度使用率模型、CCF转换系数 |
关键理解: 三个参数相乘,即可得到一笔贷款或一个资产组合的预期损失。这是风险定价、拨备计提和资本计量的基础。
2.1.1 违约概率(PD)
PD 是风控模型中最核心的输出变量。在评分卡体系中,信用评分与 PD 之间存在单调映射关系:评分越高,PD 越低。PD 的估计通常基于历史违约样本,通过逻辑回归或机器学习模型实现。
2.1.2 违约损失率(LGD)
LGD 反映了违约后的实际损失程度。例如,一笔抵押贷款的 LGD 通常低于信用贷款,因为有抵押物可以回收部分损失。LGD 的建模需要关注回收率数据,通常采用分池法或回归法。
2.1.3 违约风险敞口(EAD)
对于固定额度贷款(如房贷),EAD 通常等于当前余额;对于循环额度产品(如信用卡),EAD 需要考虑额度使用率(Utilization)的上升趋势,常用信用转换系数(CCF)来估计违约时的实际敞口。
2.2 预期损失(EL)与非预期损失(UL)
预期损失是银行可以预见的、通过定价和拨备覆盖的损失;非预期损失则是超出预期的、需要由经济资本覆盖的损失。
2.2.1 预期损失计算公式
预期损失是三个核心参数的乘积:
EL = PD × LGD × EAD
其中:
- PD:违约概率(小数形式,如 0.02 表示 2%)
- LGD:违约损失率(小数形式,如 0.45 表示 45%)
- EAD:违约风险敞口(金额单位,如 100,000 元)
计算示例: 某笔贷款 PD=2%,LGD=45%,EAD=500,000 元,则 EL = 0.02 × 0.45 × 500,000 = 4,500 元。这意味着该笔贷款在统计意义上预期会损失 4,500 元。
2.2.2 非预期损失计算公式
非预期损失通常基于损失分布的标准差或分位数计算。在单笔资产层面,UL 的简化公式为:
UL = EAD × √(PD × (1-PD) × LGD² + PD × σ²(LGD))
其中 σ²(LGD) 是 LGD 的方差。当 LGD 被视为固定值时,公式可简化为:
UL = EAD × LGD × √(PD × (1-PD))
在组合层面,非预期损失还需要考虑资产之间的违约相关性,通常使用信用风险模型(如 CreditMetrics、CreditRisk+)进行蒙特卡洛模拟。
2.3 预期损失与非预期损失的关系
下图展示了信用风险损失分布的核心结构:
重要区分: 预期损失(EL)是可预测的平均损失,银行通过贷款定价和拨备来吸收;非预期损失(UL)是超出平均水平的潜在损失,需要由经济资本来缓冲。在额度模型中,UL 的大小直接影响资本占用和风险定价。
2.4 组合层面的损失计算
在资产组合层面,预期损失具有可加性,而非预期损失需要考虑相关性:
| 指标 | 单笔资产 | 资产组合 |
|---|---|---|
| 预期损失(EL) | ELi = PDi × LGDi × EADi | EL组合 = Σ ELi |
| 非预期损失(UL) | ULi = EADi × LGDi × √(PDi × (1-PDi)) | UL组合 = √(Σ Σ ρij × ULi × ULj) |
其中 ρij 是资产 i 与资产 j 之间的违约相关系数。组合分散化可以降低非预期损失。
2.5 在 Python 中实现 EL 与 UL 计算
以下代码演示了单笔资产与简单组合的 EL/UL 计算:
import numpy as np
import pandas as pd
# ========== 单笔资产计算 ==========
def calc_single_el_ul(pd, lgd, ead):
"""计算单笔资产的预期损失与非预期损失"""
el = pd * lgd * ead
ul = ead * lgd * np.sqrt(pd * (1 - pd))
return el, ul
# 示例:一笔贷款
pd = 0.02 # 2%
lgd = 0.45 # 45%
ead = 500000 # 50万元
el, ul = calc_single_el_ul(pd, lgd, ead)
print(f"预期损失(EL): {el:,.2f} 元")
print(f"非预期损失(UL): {ul:,.2f} 元")
# ========== 组合计算(假设独立) ==========
loans = pd.DataFrame({
'pd': [0.01, 0.03, 0.02, 0.015, 0.025],
'lgd': [0.40, 0.50, 0.45, 0.35, 0.55],
'ead': [200000, 300000, 500000, 400000, 350000]
})
# 计算每笔的 EL 和 UL
loans['el'] = loans['pd'] * loans['lgd'] * loans['ead']
loans['ul'] = loans['ead'] * loans['lgd'] * np.sqrt(loans['pd'] * (1 - loans['pd']))
# 组合 EL(可加)
portfolio_el = loans['el'].sum()
# 组合 UL(假设完全独立,相关系数为0)
portfolio_ul = np.sqrt((loans['ul'] ** 2).sum())
print(f"\n组合预期损失(EL): {portfolio_el:,.2f} 元")
print(f"组合非预期损失(UL,独立假设): {portfolio_ul:,.2f} 元")
建模启示: 在额度模型中,PD 是评分卡的核心输出,LGD 和 EAD 则用于精细化风险定价。通过 EL 和 UL 的计算,可以量化每笔贷款的风险成本,从而制定差异化的额度策略。
2.6 核心概念总结
本章的核心知识点可归纳为以下结构: