信用标准评分卡模型开发及实现

一、信用风险评级模型的类型

信用风险计量体系包括主体评级模型和债项评级两部分。主体评级和债项评级均有一系列评级模型组成,其中主体评级模型可用“四张卡”来表示,分别是A卡、B卡、C卡和F卡;债项评级模型通常按照主体的融资用途,分为企业融资模型、现金流融资模型和项目融资模型等。
A卡,又称为申请者评级模型,主要应用于相关融资类业务中新用户的主体评级,适用于个人和机构融资主体。
B卡,又称为行为评级模型,主要应用于相关融资类业务中存量客户在续存期内的管理,如对客户可能出现的逾期、延期等行为进行预测,仅适用于个人融资主体。
C卡,又称为催收评级模型,主要应用于相关融资类业务中存量客户是否需要催收的预测管理,仅适用于个人融资主体。
F卡,又称为欺诈评级模型,主要应用于相关融资类业务中新客户可能存在的欺诈行为的预测管理,适用于个人和机构融资主体。
我们主要讨论主体评级模型的开发过程。

二、信用风险评级模型开发流程概述

典型的评级模型开发流程如图2.1所示。该流程中各个步骤的顺序可根据具体情况的不同进行适当调整,也可以根据需要重复某些步骤。
信用风险评级模型的主要开发流程如下:
(1) 数据获取,包括获取存量客户及潜在客户的数据。存量客户是指已经在证券公司开展相关融资类业务的客户,包括个人客户和机构客户;潜在客户是指未来拟在证券公司开展相关融资类业务的客户,主要包括机构客户,这也是解决证券业样本较少的常用方法,这些潜在机构客户包括上市公司、公开发行债券的发债主体、新三板上市公司、区域股权交易中心挂牌公司、非标融资机构等。
(2) EDA(探索性数据分析)与数据描述,该步骤主要是获取样本总体的大概情况,以便制定样本总体的数据预处理方法。描述样本总体情况的指标主要有缺失值情况、异常值情况、平均值、中位数、最大值、最小值、分布情况等。
(3) 数据预处理,主要工作包括数据清洗、缺失值处理、异常值处理,主要是为了将获取的原始数据转化为可用作模型开发的格式化数据。
(4) 变量选择,该步骤主要是通过统计学的方法,筛选出对违约状态影响最显著的指标。
(5) 模型开发,该步骤主要包括变量分段、变量的WOE(证据权重)变换和逻辑回归估算三部分。
(6) 主标尺与模型验证,该步骤主要是开发某类主体的主标尺并进行模型的验证与校准。
(7) 模型评估,该步骤主要是根据模型验证和主标尺设计的结果,评估模型的区分能力、预测能力、稳定性,并形成模型评估报告,得出模型是否可以使用的结论。
(8) 模型实施,即模型的部署和应用。
(9) 监测与报告,该步骤主要工作是定期检测模型的使用情况,并关注和定期检验模型的区分能力与预测能力的变化及模型稳定性的变化,在出现模型可能不能满足业务需求的情况时,反馈至模型开发团队,及时进行模型更新或重新开发。

这里写图片描述
图2.1 评级模型开发流程

三、基于Logistic回归的标准评分卡模型开发实现

3.1 明确要解决的问题

在开发信用风险评级模型(包括个人和机构)之前,首先要明确我们需要解决的问题。因为,个人信用风险评级模型包括申请者评级、行为评级、催收评级、欺诈评级等几类,开发每一类评级模型所需要的数据也是不同的,例如开发个人申请者评级模型需要的是个人客户申请融资类业务时提交的数据,开发个人行为评级模型需要的是存量个人客户的历史行为数据,这两部分数据及需要解决的问题,也存在较大的差异。因此,在开发信用风险评级模型之前,我们需要明确开发模型的类型。此处以开发个人客户的申请者评级模型为例,来详细讲述此类模型的开发过程。
开发申请者评分模型所需要的数据是个人客户申请融资类业务时所需的数据,包括反映个人还款意愿的定性数据,应用申请者评分模型的目的是预测该申请客户在未来一段时间发生违约的概率。
我们做预测模型的一个基本原理是用历史数据来预测未来,申请者评分模型需要解决的问题是未来一段时间(如12个月)融资人出现违约(如至少一次90天或90天以上逾期)的概率。在这个需求中,“未来一段时间”为表现时间窗口(performance window),“融资人出现至少一次90天或90天以上逾期”为观察时间窗口(sample window)。个人主体的违约跟个人行为习惯有很大的相关性,因此我们可以通过分析个人样本总体中客户的历史我违约频率来确定表现时间窗口和观察时间窗口。这两个窗口的确定对于我们要解决的问题,有着非常重要的影响,我们将放在第二步中结合具体的数据来分析,并讲述具体的确定方法。

3.2 数据描述和探索性数据分析

数据准备和数据预处理是整个信用风险模型开发过程中最重要也是最耗时的工作了。通常情况下,数据准备和数据预处理阶段消耗的时间占整个模型开发时间的80%以上,该阶段主要的工作包括数据获取、探索性数据分析、缺失值处理、数据校准、数据抽样、数据转换,还包括离散变量的降维、连续变量的优先分段等工作。
明确了要解决的问题后,接下来我们就要搜集相关的数据了。此处,我们以互联网上经常被用来研究信用风险评级模型的加州大学机器学习数据库中的german credit data为例,来详细讲述个人客户信用风险评级模型的开发方法。
German credit data 的数据来自”klaR”包

install.packages(“klaR”)
library(“klaR”)
data(GermanCredit)
View(GermanCredit)      #查看该数据集

该数据集包含了1000个样本,每个样本包括了21个变量(属性),其中包括1个违约状态变量“credit_risk”,剩余20个变量包括了所有的定量和定性指标,分别如表3.1所示。
这里写图片描述

接下来,我们需要检查数据的质量,主要包括缺失值情况、异常值情况及其他处理方法。缺失值和异常值处理的基本原则是处理前后的分布总体保持一致。

3.21 用户数据的缺失值处理:

http://blog.csdn.net/lll1528238733/article/details/76599626

3.22 用户数据的异常值处理:

http://blog.csdn.net/lll1528238733/article/details/76599792

需要特别说明的是,在实际的样本搜集和数据预处理中,我们应该首先对个人客户的违约做出定义,并根据对违约的定义对搜集的样本进行必要的校准。一般情况下,我们搜集的数据为非标准化的数据,如表3.2所示,该表中假设搜集的是前10个客户在两年内的历史违约情况。

这里写图片描述

在表3.2所示的数据集中,如果我们假设连续出现三个月逾期可被定义为违约,则客户6至客户9可被确认为违约。然而,为了明确违约的概念,我们还需要确定基准时间和观察时间窗口。如果当前时间是2016年7月末,则只有6和7两个客户为违约,其他客户均属于正常客户,如果当前时间是2016年9月末,则只有6、7、8三个客户为违约,客户9已经自愈,则再次变成正常客户。
结合上述分析,在明确评分卡要解决的实际问题时,还应该确定表现时间窗口和观察时间窗口,而这两个窗口的确定,需要根据我们搜集的数据来具体确定。他们的确定方法,分别如下:
在确定变现时间窗口的长度时,我们通常需要客户从开始开立融资类业务时到最近时间点(或至少两年以上的历史逾期情况)的逾期表现,用图形表示,如图3.7所示。
这里写图片描述

按照图3.7所示的表现时间窗口的定义方法,我们对样本总体进行统计分析,以逾期90天定义为违约,会得出表3.3所示的统计结果。
这里写图片描述

表3.3中8月最后一列数据3.48%表示,2.1日开立的所有账户中,8个月后出现逾期90天以上的账户占样本的比重为3.48%。我们通过这样统计方法,并绘制样本总体的违约状态变化曲线,即可得到如图3.8所示的曲线。从图3.8所示的曲线中我们可以看出,在账户开立第11个月到第13个月时,客户的违约状态达到稳定状态,曲线变得非常平稳。此时,我们可以确定评分卡的表现时间窗口为11个月到13个月,即我们将违约状态变得稳定的时间段确定为表现时间窗口。这种方法可使我们开发的评分卡模型的区分能力和预测能力准确性均达到最优稳定状态。

这里写图片描述

由图3.8的曲线可以看出,客户开立融资类业务的账户的起始阶段发生违约的频率是不断增多的,但随着时间的推移发生违约的客户的占比处于稳定状态。那么,我们在开发信用风险评分卡模型时,需要选择客户违约处于稳定状态的时间点来作为最优表现时间窗口,这样既可以最大限度地降低模型的不稳定性,也可以避免低估最终的违约样本的比率。例如,当我们选择表现时间窗口为6个月时,样本总体中的违约样本占比仅为3%左右,而实际违约样本占比约为4.5%。
上例中,观察时间窗口我们确定为90天,当然也可以是60天或30天,但当观察时间窗口确定为30天时,客户的违约状态将会更快地达到稳定状态。如果我们按照某个监管协议(如巴塞尔协议)的要求开发信用风险评分卡模型,则观察时间窗口也要按照监管协议的要求确定。除此之外,观察时间窗口的确定要根据样本总体和证券公司的风险偏好综合考虑确定。但在个人信用风险评级模型开发领域,大多数将逾期90天及以上定义为个人客户的违约状态。
以上讲的都是开发申请者评分卡模型时表现时间窗口的确定方法,在开发个人客户的行为评分卡和催收评分卡模型时,表现时间窗口的确定方法也算是类似的。但开发这两类模型时,表现时间窗口的长度却跟申请者评分模型有较大不同,如催收评分卡模型的表现时间窗口通常设定为2周,甚至更短的时间。因为实际业务开展过程中,通常客户逾期超过2周,就要启动催收程序了。
个人客户的信用风险评级模型开发进行至此时,我们已经得到了没有缺失值和异常值的样本总体,违约的定义确定了,表现时间窗口和观察时间窗口也确定了。接下来,我们将进入评分卡模型开发的第三步数据集准备阶段了。

3.3 数据集准备

在缺失值和处理完成后,我们就得到了可用作信用风险评级模型开发的样本总体。通常为了验证评级模型的区分能力和预测准确性,我们需要将样本总体分为样本集和测试集,这种分类方法被称为样本抽样。常用的样本抽样方法包括简单随机抽样、分层抽样和整群抽样三种。

数据集准备:
http://blog.csdn.net/lll1528238733/article/details/76599861

3.4 变量筛选

模型开发的前三步主要讲的是数据处理的方法,从第四步开始我们将逐步讲述模型开发的方法。在进行模型开发时,并非我们收集的每个指标都会用作模型开发,而是需要从收集的所有指标中筛选出对违约状态影响最大的指标,作为入模指标来开发模型。接下来,我们将分别介绍定量指标和定性指标的筛选方法。

3.41 定量指标的筛选方法

http://blog.csdn.net/lll1528238733/article/details/76600019

3.42 定性指标的筛选方法

http://blog.csdn.net/lll1528238733/article/details/76600147

这里写图片描述

3.5 WOE值计算

对入模的定量和定性指标,分别进行连续变量分段(对定量指标进行分段),以便于计算定量指标的WOE和对离散变量进行必要的降维。对连续变量的分段方法通常分为等距分段和最优分段两种方法。等距分段是指将连续变量分为等距离的若干区间,然后在分别计算每个区间的WOE值。最优分段是指根据变量的分布属性,并结合该变量对违约状态变量预测能力的变化,按照一定的规则将属性接近的数值聚在一起,形成距离不相等的若干区间,最终得到对违约状态变量预测能力最强的最优分段。
我们首先选择对连续变量进行最优分段,在连续变量的分布不满足最优分段的要求时,在考虑对连续变量进行等距分段。此处,我们讲述的连续变量最优分段算法是基于条件推理树(conditional inference trees, Ctree)的递归分割算法,其基本原理是根据自变量的连续分布与因变量的二元分布之间的关系,采用递归的回归分析方法,逐层递归满足给定的显著性水平,此时获取的分段结果(位于Ctree的叶节点上)即为连续变量的最优分段。其核心算法用函数ctree()表示。

评分卡模型开发-WOE值计算:
http://blog.csdn.net/lll1528238733/article/details/76600598

3.6 基于逻辑回归的标准评分卡实现

由逻辑回归的基本原理,我们将客户违约的概率表示为p,则正常的概率为1-p。因此,可以得到:
这里写图片描述
此时,客户违约的概率p可表示为:
这里写图片描述
评分卡设定的分值刻度可以通过将分值表示为比率对数的线性表达式来定义,即可表示为下式:
这里写图片描述
其中,A和B是常数。式中的负号可以使得违约概率越低,得分越高。通常情况下,这是分值的理想变动方向,即高分值代表低风险,低分值代表高风险。
逻辑回归模型计算比率如下所示:
这里写图片描述
其中,用建模参数拟合模型可以得到模型参数 β0β1βn
式中的常数A、B的值可以通过将两个已知或假设的分值带入计算得到。通常情况下,需要设定两个假设:
(1)给某个特定的比率设定特定的预期分值;
(2)确定比率翻番的分数(PDO)
根据以上的分析,我们首先假设比率为x的特定点的分值为P。则比率为2x的点的分值应该为P+PDO。代入式中,可以得到如下两个等式:
这里写图片描述
假设 设定评分卡刻度使得比率为{1:20}(违约正常比)时的分值为50分,PDO为10分,代入式中求得:B=14.43,A=6.78
则分值的计算公式可表示为:
这里写图片描述
评分卡刻度参数A和B确定以后,就可以计算比率和违约概率,以及对应的分值了。通常将常数A称为补偿,常数B称为刻度。
则评分卡的分值可表达为:
这里写图片描述
式中:变量 x1xn 是出现在最终模型中的自变量,即为入模指标。由于此时所有变量都用WOE转换进行了转换,可以将这些自变量中的每一个都写 (βiω

  • 85
    点赞
  • 410
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值