2. 因子库基础:因子定义、因子分类与构建流程
在量化风控体系中,因子是驱动模型预测能力的核心变量。一个稳定、可解释的因子库是告警阈值动态调整的前提。本章从因子定义出发,系统梳理因子分类体系与构建流程,为后续漂移检测与阈值调整奠定基础。
2.1 因子定义
因子(Factor)在量化风控中通常指:能够区分好、坏样本,且具有经济或行为解释性的数值型变量。一个合格的因子需满足以下条件:
- 区分度:在目标变量(如违约/非违约)上分布存在显著差异。
- 稳定性:随时间推移,其分布特征不发生剧烈偏移。
- 可解释性:背后有明确的业务或经济逻辑支撑。
- 可获取性:在决策时点能够及时、准确地计算。
实践提示: 在因子库构建初期,建议为每个因子建立“因子卡片”,记录其定义、计算逻辑、数据源、更新频率、历史分布统计量及业务含义。这有助于后续漂移监控时快速定位问题。
2.2 因子分类
根据数据来源与业务属性,因子通常分为三大类:基本面因子、技术面因子和另类因子。下表对比了三类因子的核心差异:
| 分类 | 数据来源 | 典型示例 | 更新频率 | 解释性 |
|---|---|---|---|---|
| 基本面因子 | 财务报表、征信报告、工商信息 | 资产负债率、营收增长率、逾期次数 | 月/季/年 | 高 |
| 技术面因子 | 交易流水、行为日志、借贷记录 | 近30天交易笔数、额度使用率、还款间隔 | 日/周 | 中 |
| 另类因子 | 社交、设备、位置、文本等非传统数据 | 设备指纹异常分、IP归属地风险、社交网络密度 | 实时/日 | 低~中 |
三类因子在风控模型中的角色互补:基本面因子提供长期信用画像,技术面因子捕捉近期行为变化,另类因子补充传统数据盲区。在因子库漂移监控中,不同类别的因子需设置差异化的告警阈值与监控频率。
2.3 因子库构建流程
因子库的构建是一个系统化工程,通常包含以下六个核心步骤。每一步的输出质量直接影响后续漂移监控的有效性。
- 业务理解与需求分析:明确风控场景(如信贷审批、交易反欺诈),定义目标变量与决策时点。
- 数据源梳理与接入:盘点内部数据(征信、交易、行为)与外部数据(工商、司法、社交),建立数据血缘图谱。
- 因子衍生与计算:基于原始字段,通过统计、时序、比率等方式衍生候选因子,形成因子池。
- 因子筛选与评估:使用IV值、PSI、相关性矩阵、缺失率等指标,筛选出高质量因子。
- 因子标准化与入库:统一因子命名、计算口径、更新频率,写入因子库并建立元数据管理。
- 因子监控与迭代:部署漂移监控模块,定期评估因子稳定性,根据业务变化迭代因子。
关键指标参考: 在因子筛选阶段,通常要求 IV > 0.02,PSI < 0.1(月度),缺失率 < 30%,两两相关性 < 0.7。这些阈值在后续动态调整中可作为初始基准。
2.4 因子库元数据管理
为支撑后续的漂移告警与阈值动态调整,因子库必须建立完善的元数据管理。建议至少包含以下字段:
| 元数据字段 | 说明 | 示例 |
|---|---|---|
| 因子ID | 全局唯一标识 | FACTOR_001234 |
| 因子名称 | 业务可读名称 | 近30天交易笔数 |
| 因子分类 | 基本面/技术面/另类 | 技术面 |
| 计算口径 | SQL或Python计算逻辑 | COUNT(txn_id) WHERE txn_date >= DATE_SUB(CURRENT_DATE, 30) |
| 数据源 | 原始表名与字段 | ods.txn_log.user_id, txn_id, txn_date |
| 更新频率 | 日/周/月/季 | 日 |
| 历史分布统计 | 均值、标准差、分位数 | mean=12.5, std=8.3, p5=2, p95=30 |
| 初始告警阈值 | PSI/KS/均值漂移阈值 | PSI < 0.1 |
常见陷阱: 因子库构建初期容易忽略“计算口径版本管理”。当业务逻辑调整(如交易笔数统计口径从“所有交易”改为“仅成功交易”),若未记录版本变更,漂移监控将产生大量误告警。建议为每个因子维护口径变更日志。
2.5 因子库与告警阈值调整的关联
因子库的构建质量直接决定了告警阈值动态调整的可行性:
- 因子分类决定了监控频率与阈值初始范围(技术面因子需更紧的阈值)。
- 因子元数据中的历史分布统计是阈值初始化的基础。
- 因子筛选阶段剔除的低质量因子,可减少无效告警。
- 监控迭代环节输出的漂移记录,是阈值动态调整的输入数据。