1. 坏账率基础概念
1.1 坏账率定义
坏账率(Bad Debt Rate, BDR)是量化风控策略中最核心的损失度量指标之一,用于衡量在特定时间窗口内,因借款人违约导致无法收回的本金及利息占整体放款金额的比例。在量化策略回测中,坏账率直接反映策略的风险暴露水平,是哨兵告警系统必须监控的首要指标。
核心认知:坏账率不是静态数字,而是随账龄(Vintage)推移动态演变的累积损失率。回测中通常使用“最终坏账率”或“12期滚动坏账率”作为告警基准。
1.2 计算公式
坏账率的标准计算公式分为两种口径:
| 口径类型 | 公式 | 适用场景 |
|---|---|---|
| 金额口径 | 坏账率 = (逾期90天以上未还本金 + 核销金额) / 当期放款总额 × 100% | 资金方损益评估、拨备计提 |
| 笔数口径 | 坏账率 = 坏账笔数 / 放款总笔数 × 100% | 策略效果对比、客群质量分析 |
在量化回测中,推荐使用金额口径作为哨兵告警的主指标,因为其与资金损失直接挂钩。具体计算时需注意:
- 逾期天数阈值(通常为M3+,即逾期90天以上)需在策略文档中明确定义
- 核销金额包含已催回部分后的净损失
- 分母“当期放款总额”应与分子保持相同账龄窗口
# 坏账率计算示例(Python伪代码)
def calculate_bad_debt_rate(loan_book, overdue_days=90):
"""
计算金额口径坏账率
:param loan_book: DataFrame,包含放款金额、逾期天数、核销金额
:param overdue_days: 逾期阈值
:return: 坏账率(百分比)
"""
total_principal = loan_book['loan_amount'].sum()
bad_debt = loan_book[
(loan_book['overdue_days'] >= overdue_days) |
(loan_book['write_off_flag'] == 1)
]['loan_amount'].sum()
return round(bad_debt / total_principal * 100, 2)
1.3 在量化策略中的重要性
坏账率在量化策略中扮演三重角色:
- 策略有效性标尺:任何量化策略的最终目标都是在风险可控前提下最大化收益,坏账率是衡量风险端最直接的指标。策略A的通过率比策略B高10%,但坏账率高出3个百分点,则策略A可能不具备实际部署价值。
- 哨兵告警核心维度:在回测与实时监控中,坏账率一旦突破预设阈值,系统应立即触发告警,暂停策略或自动调参。没有坏账率监控的量化策略如同没有仪表盘的飞机。
- 策略迭代优化锚点:坏账率与通过率、收益率构成“不可能三角”。调优阈值时,坏账率是必须锁定的约束条件——例如“在坏账率不超过5%的前提下最大化通过率”。
量化策略铁律:坏账率每上升1个百分点,通常需要通过率提升5-8个百分点才能弥补损失。回测中必须建立坏账率与收益率的联动分析模型。
1.4 坏账率与其他风险指标的对比
在量化策略中,坏账率常与以下指标配合使用,形成完整的风险监控体系:
| 指标名称 | 定义 | 与坏账率的关系 | 告警优先级 |
|---|---|---|---|
| 逾期率(Delinquency Rate) | 当前处于逾期状态(如M1/M2)的贷款占比 | 坏账率的先行指标,逾期率上升通常预示坏账率将在1-3个月后攀升 | 高(提前预警) |
| 迁徙率(Flow Rate) | 从低逾期阶段向高逾期阶段转化的比例 | 坏账率的驱动因子,迁徙率恶化直接导致坏账率上升 | 中(过程监控) |
| 回收率(Recovery Rate) | 坏账发生后通过催收回收的金额比例 | 坏账率的修正因子,回收率越高,最终净坏账率越低 | 低(事后评估) |
| Vintage坏账率 | 按放款月份分组的最终坏账率 | 坏账率的精细化版本,用于识别策略调整的真实效果 | 高(策略评估) |
重要提醒:在设置哨兵告警阈值时,不能仅依赖坏账率单一指标。建议采用“逾期率 + 迁徙率 + 坏账率”三级联动告警机制:逾期率触发黄色预警,迁徙率触发橙色预警,坏账率触发红色预警并自动暂停策略。
1.5 坏账率的时间窗口与账龄效应
坏账率具有显著的时间滞后性和账龄累积性。一笔贷款从发放到被确认为坏账,通常需要经历3-6个月的账龄窗口。因此,在量化策略回测中必须明确:
- 观察窗口:至少覆盖12个月的账龄,确保大部分坏账已被识别
- 滚动计算:使用滚动12个月(Rolling 12M)坏账率作为告警基准,消除季节性波动
- 截断处理:对于账龄不足的放款,使用“预期坏账率”替代实际坏账率,避免低估风险
1.6 坏账率在哨兵告警中的阈值设定原则
基于以上概念,在《量化策略回测坏账率哨兵告警阈值调优指南》中,坏账率阈值的设定需遵循以下原则:
- 绝对阈值:根据监管要求或资金方风险偏好设定硬性上限(如坏账率不得超过8%)
- 相对阈值:基于历史回测坏账率的均值+2倍标准差,捕捉异常波动
- 动态阈值:结合宏观经济指标(如GDP增速、失业率)进行周期性调整
- 分层阈值:按客群、产品、渠道分别设定差异化阈值,避免一刀切
实战建议:首次部署哨兵告警系统时,建议将坏账率阈值设定为回测均值的1.5倍。运行3个月后,根据实际数据分布重新校准至均值+2倍标准差,平衡告警灵敏度与误报率。