3. PSI 计算详解:分箱方法与最终得分

PSI(Population Stability Index,群体稳定性指标)的核心思想是衡量两个分布之间的差异。在量化因子分析中,我们通常比较因子在当前期(实际分布)与基准期(预期分布)的占比变化。计算 PSI 的关键步骤包括:分箱、计算各箱占比、代入公式。本章将逐一拆解这些环节。

3.1 分箱方法:等距、等频与自定义

分箱是将连续型因子值划分为若干个离散区间(桶)的过程。分箱方式直接影响 PSI 的敏感度和稳定性。常用的三种分箱方法如下:

分箱方法 原理 适用场景 注意事项
等距分箱 将因子值范围均匀划分为 N 个宽度相同的区间 因子值分布均匀,无极端异常值 若数据分布极不均匀,部分箱可能为空或样本极少
等频分箱 使每个箱包含大致相同数量的样本 因子值分布偏态严重,或希望各箱样本量均衡 分箱边界可能随数据分布变化,需固定基准期边界
自定义分箱 根据业务逻辑或因子特性手动设定边界 因子有明确业务含义(如市盈率分正负、分位数) 需保证基准期与当前期使用完全相同的边界
关键原则:无论采用哪种分箱方法,基准期(Expected)与当前期(Actual)必须使用完全相同的分箱边界。否则 PSI 将失去可比性。

3.2 各分箱占比计算

确定分箱边界后,分别统计基准期和当前期落在每个箱内的样本数量,并计算占比(百分比)。

计算步骤:

  1. 确定边界:基于基准期数据,选定分箱方法,得到 K 个箱的边界值 [b0, b1, b2, ..., bK]。
  2. 统计基准期占比:统计基准期样本落入各箱的数量 n_i^E,计算占比 p_i^E = n_i^E / N_E。
  3. 统计当前期占比:使用相同的边界,统计当前期样本落入各箱的数量 n_i^A,计算占比 p_i^A = n_i^A / N_A。
  4. 处理零占比:若某箱在基准期或当前期占比为 0,通常进行微调(如加极小值 ε = 0.0001),避免公式计算中出现除以零或取对数无穷大。
示例:某因子等频分 5 箱,基准期 1000 个样本,每箱 200 个,占比均为 20%。当前期 1200 个样本,若分布不变,每箱约 240 个,占比仍为 20%。若分布偏移,各箱占比将发生变化。

3.3 PSI 最终得分公式

PSI 的计算公式基于信息论中的 KL 散度(Kullback-Leibler divergence)的对称化形式。对于 K 个分箱,PSI 定义为:

PSI = Σ_{i=1}^{K} (p_i^A - p_i^E) * ln(p_i^A / p_i^E)

其中:

  • p_i^A:当前期(Actual)在第 i 个箱中的占比。
  • p_i^E:基准期(Expected)在第 i 个箱中的占比。
  • ln:自然对数。
  • Σ:对所有非空箱求和。

公式解读:

  • (p_i^A - p_i^E) 衡量占比的绝对变化幅度。
  • ln(p_i^A / p_i^E) 衡量占比的相对变化比率,对偏离进行非线性放大。
  • 两者相乘后求和,综合了所有箱的偏移信息。
避坑提示:当 p_i^E = 0 或 p_i^A = 0 时,ln(0) 或除以零无定义。务必在计算前对零占比进行平滑处理(如加极小值 0.0001),或合并空箱。

3.4 PSI 计算流程总览

下图展示了从原始因子数据到 PSI 最终得分的完整计算链路:

PSI 计算流程总览 PSI 计算流程总览 原始因子数据 分箱处理(等距/等频/自定义) 基准期占比 p_i^E 当前期占比 p_i^A PSI = Σ (p_i^A - p_i^E) * ln(p_i^A / p_i^E) PSI 得分输出

3.5 完整计算示例

假设某因子等频分 3 箱,基准期 1000 个样本,当前期 1200 个样本。各箱数据如下:

箱号 基准期样本数 基准期占比 p_i^E 当前期样本数 当前期占比 p_i^A p_i^A - p_i^E ln(p_i^A / p_i^E) 单箱贡献
1 333 0.333 300 0.250 -0.083 -0.287 0.0238
2 334 0.334 400 0.333 -0.001 -0.003 0.0000
3 333 0.333 500 0.417 0.084 0.225 0.0189
PSI 总分 0.0427

计算结果显示 PSI = 0.0427,小于 0.1,表明因子分布在该期间内保持稳定,未发生显著漂移。

行业经验阈值:
  • PSI < 0.1:因子分布稳定,无需调整。
  • 0.1 ≤ PSI < 0.25:轻度漂移,需关注并排查原因。
  • PSI ≥ 0.25:显著漂移,因子可能失效,需重新评估或重构。