一、信用风险:到底在管什么?
信用风险,说白了就是借钱的人不还钱了。
你想想看,银行放了一笔贷款出去,最怕什么?最怕借款人到期不还。这个「不还」的可能性,就是我们常说的违约概率(PD)。
我个人习惯把信用风险拆成三个维度来看:
- 违约概率(PD):借款人会不会违约?可能性多大?
- 违约损失率(LGD):一旦违约,我能拿回多少?损失多大?
- 违约风险敞口(EAD):违约时,我到底有多少钱暴露在外面?
这三个东西组合起来,就是银行最常用的预期损失公式:
预期损失(EL) = PD × LGD × EAD
嗯,这里要注意:PD 是这三个里面最难算的。为什么?因为违约是个小概率事件,数据少、信号弱。我在项目中遇到过很多次,明明模型跑出来挺好,一上线就翻车——原因往往是 PD 估计偏了。
核心观点:PD 模型不是算「会不会违约」,而是算「违约的可能性有多大」。这个概率值,才是风险定价、资本计量的基础。
二、PD 模型在巴塞尔协议中的地位
巴塞尔协议,搞风控的人应该都不陌生。它就像银行业的「交通规则」——告诉你资本金该留多少,怎么算才合规。
巴塞尔协议从第一版到第三版,对 PD 模型的态度越来越「较真」。
| 版本 | 对 PD 模型的要求 | 我的感受 |
|---|---|---|
| 巴塞尔 I | 基本不管 PD,统一用标准法 | 简单粗暴,但不够精细 |
| 巴塞尔 II | 引入内部评级法(IRB),银行可以自己算 PD | 这是 PD 模型真正「起飞」的时候 |
| 巴塞尔 III | 对 PD 模型验证、数据质量、回测要求更严 | 说白了,就是怕你乱调参数 |
我个人觉得,巴塞尔协议对 PD 模型最大的贡献,是逼着银行把「拍脑袋」变成了「用数据说话」。以前很多银行放贷靠客户经理的经验,现在不行了——你得有模型、有验证、有文档。
避坑指南:我曾经见过一家银行,为了满足巴塞尔合规要求,硬凑了一个 PD 模型。结果监管一检查,发现数据回溯期不够,模型被直接打回。所以,数据质量永远是第一位的。
三、模型开发全生命周期:从想法到落地
PD 模型不是写个代码就完事的。它有一套完整的生命周期,我把它总结成六个阶段:
- 需求定义:你要解决什么问题?是零售贷款还是对公?是申请评分还是行为评分?
- 数据准备:收集历史数据、清洗、特征工程。这一步最耗时,也最容易出问题。
- 模型开发:选算法、训练、调参。逻辑回归、决策树、XGBoost 都行,但监管更偏爱可解释性强的模型。
- 模型验证:用独立数据集测试,看区分度、校准度、稳定性。这一步不能自己骗自己。
- 模型部署:把模型嵌入到业务流程中,比如信贷审批系统。
- 监控与迭代:模型上线后要持续监控,发现 drift 就及时调整。
下面这张图,是我自己画的一个 PD 模型开发全生命周期流程图,你可以对照着看:
你看,这个流程不是线性的。模型部署之后,监控发现效果变差了,就得回到数据准备甚至需求定义阶段重新来。我见过最惨的一个项目,模型上线三个月就失效了,原因是客户群体变了,但模型没跟上。
警告:很多团队在模型开发阶段花了大把时间,却忽略了验证和监控。结果模型一上线就「见光死」。记住:开发只占 20% 的工作量,验证和监控才是大头。
四、PD 模型的核心输出:不只是概率
PD 模型最终输出的是一个 0 到 1 之间的概率值。但实际业务中,我们很少直接用这个原始概率。
我个人习惯把 PD 输出做两件事:
- 分档:把连续的概率映射到等级上,比如 AAA、AA、A、BBB... 这样业务人员更容易理解。
- 校准:确保模型预测的 PD 和实际违约率一致。比如模型说某批客户 PD=2%,那这批客户实际违约率应该在 2% 左右。
举个例子:
# 假设模型输出了一批客户的 PD
raw_pd = [0.01, 0.03, 0.08, 0.15, 0.25]
# 分档规则(简单示例)
def assign_rating(pd):
if pd < 0.02: return 'AAA'
elif pd < 0.05: return 'AA'
elif pd < 0.10: return 'A'
elif pd < 0.20: return 'BBB'
else: return 'BB'
ratings = [assign_rating(p) for p in raw_pd]
print(ratings) # ['AAA', 'AA', 'A', 'BBB', 'BB']
这段代码很简单,但实际项目中分档要复杂得多。我记得有一次,我们分档后回测发现 BBB 档的实际违约率比模型预测高了 30%。后来一查,是数据里混入了大量「僵尸企业」——它们还没违约,但已经快不行了。
关键提醒:PD 模型不是「算完就完」的东西。它需要持续校准、持续验证。你想想看,经济周期一变,客户行为一变,模型可能就不准了。
五、总结:PD 模型到底值不值得做?
说实话,PD 模型开发很累。数据清洗能让你崩溃,模型验证能让你怀疑人生。但它的价值也是实打实的——没有 PD 模型,银行就像在黑暗中开车,全凭感觉。
我个人觉得,做 PD 模型最重要的不是算法多牛,而是:
- 数据要干净:垃圾进,垃圾出。
- 验证要严格:别自己骗自己。
- 监控要持续:模型上线只是开始。
嗯,这一章就聊到这里。PD 模型的世界很大,后面我们会一步步深入进去。