python信用评分卡建模(附代码,博主录制)

https://mp.weixin.qq.com/s/KefG_8krBBaFl0LCi2L2WA转载

一、Vintage

Vintage源于葡萄酒酿造,葡萄酒的品质会因葡萄生长的年份不同、气候不同而不同。Vintage分析是指评估不同年份的葡萄酒的品质随着窖藏时间的推移而发生的变化,并且窖藏一定年份后,葡萄酒的品质会趋于稳定。如下图,2000年的葡萄酒品质最好,窖藏5年左右,葡萄酒品质会趋于稳定。

借鉴葡萄酒Vintage分析,信用分析领域不仅可以用它来评估客户好坏充分暴露所需的时间,即成熟期,还可以用它分析不同时期风控策略的差异等。

一个客户的好坏,需要经过若干个还款周期后才能充分暴露,如果表现期较短,有可能将一个不是很坏的客户定义为坏,也有可能将一个很坏的客户定义为好。比如一个客户在开始的几个周期内发生了逾期后将逾期还清,并且后面的周期不再发生逾期,若表现期较短会将此客户定义为坏;又比如一个客户刚开始一直正常还款,但到后面发生了比较严重的逾期,若表现期较短会将此客户定义为好。另外,可以通过比较不同时间的贷款在相同周期的逾期表现,来分析不同时间的风控策略的差异、宏观形势的变化等。

下图为2017年4月至2018年12月放款的M4+(即逾期91天以上)的Vintage图和Vintage数据表,此图统计的逾期用的是月末的逾期状态(有些时候也可以使用历史逾期状态,一个客户只要发生过M4+逾期,未来每个月都将该客户记为M4+逾期客户),计算逾期率使用金额(也可使用笔数)。从图中可以看出,不同月份放款的M4+在经过9个周期(9个月)后趋于稳定,也就是说成熟期是在9个周期。

从图中还可以看出,资产质量不断提升,2017年4月至6月的逾期率相对较高,从2017年7月开始逾期率发生较大程度的下降,有可能因为前几个月不断优化风控策略所致。

二、滚动率

前面说的Vintage可以用于分析客户表现的趋势、稳定的时间等,对于客户好坏程度的定义没有涉及,而通过滚动率分析可以对客户好坏程度进行定义。滚动率分析就是从某个观察点之前的一段时间(称为观察期)的最坏的状态向观察点之后的一段时间(称为表现期)的最坏状态的发展变化情况,如下图。

在观察点2018年6月30日,取1万个客户,统计该1万个客户从观察期到表现期的最大逾期的变化情况,如下表。

从该表可以看出:

1、正常的客户,在未来6个月里,有96%会保持正常状态;

2、逾期1期的客户,未来有81%会回到正常状态,即从良率为81%,有7%会恶化;

3、逾期2期的客户,从良率为23%,有39%会恶化;

4、逾期3期的客户,从良率为14%,有61%会恶化;

5、逾期4期及以上的客户,从良率仅为4%,有82%会继续此状态。

在对坏客户进行定义时,应将坏客户定义得尽可能坏,以与好客户尽可能的区分开来,因此可以将逾期4期及以上的定义为坏,而逾期2期和3期定义为中度坏,逾期1期为轻度坏。当然,在开发模型或规则时,还要结合样本量,如果M1占比较高,可以将M1划为好客户,M4+为坏客户,M2和M3为灰度客户,从样本中剔除;如果M1占比很低,也可以将M1和M2、M3一起归为灰度客户,从样本中剔除。

三、Y变量的定义

Y变量即为客户好坏标签变量,前面的Vintage分析和滚动率分析中已经说过一些,这里做个总结。Y变量要结合滚动率分析和Vintage分析来定义,滚动率分析用于对客户好坏程度进行定义,Vintage分析用于设置合适的表现期。定义Y变量可以分为以下几步:

1、进行滚动率分析,定义坏客户,如上面所说的M4+为坏客户;

2、然后统计出M4+的Vintage数据表及Vintage图,找出成熟期;

3、表现期大于成熟期的样本可以用于建模,表现期小于成熟期的样本无法准确定义Y变量,暂时舍弃。

当然,在实际应用中,根据业务需要,Y变量的定义可以灵活变通。比如在业务刚开展不久,表现期较短,此时无法根据上述方法定义Y变量,可以暂将逾期大于10天、15天或30天的客户定义为坏等等,然后随着时间的推移不断修正Y变量及模型。

四、迁移率

迁移率分析和滚动率分析比较像,都是分析客户从某个状态变为其他状态的发展变化情况,所不同的是,滚动率侧重于分析客户逾期程度的变化,所以在做滚动率分析时需要设置相对较长的观察期和变现期;而迁移率侧重于分析客户状态的发展变化路径,如M0~M1,M1~M2,M2~M3等。

先统计2018年6月至2018年12月各逾期状态的资产分布情况,如下表。表中的回收率是指,假设每月末将M7的资产以10%的价格卖掉,即收回M7资产的10%。

下面计算月度迁移率,比如,2018年7月底,M0~M1的迁移率为41110122/171325636=24%,以此类推,得到如下表的迁移率。这里迁移率的计算是以月为时间颗粒度,当前也可以精细到以天为颗粒度计算迁移率,然后计算平均值得出月度迁移率,但更细的颗粒度要求资产规模更大,如果资产规模较小会产生较大的误差。值得注意的是,表中M3~M4的迁移率较高,应该是逾期超过90天,过了黄金催收期,所以逾期恶化程度较高,但M4~M5的迁移率突然降低了不少,有可能是委外催收起到了一定效果所致。

下面根据迁移路径计算各逾期状态的损失率,M0变为M7的比例定义为损失率等于16.06%*29.27%*42.28%*81.71%*52.75%*82.51%*86.05%=0.61%,因为M7将以10%的价格收回,所以净损失率等于0.61%*90%=0.55%,以此类推,得到各逾期状态资产的损失率,如下表。

前面讲到定义Y变量时,根据滚动率分析定义好坏的程度,其实这里也可以根据迁移率得出的损失率来分析好坏的程度,并且还可以结合损失率与收益率,这里不再赘述。

下面根据资产损失率计算2018年12月的资产预计损失,计算方法为2018年12月M0~M6各资产乘以对应的净损失率,然后求和,即等于367162809*0.55%+47230430*3.41%+14848678*11.64%+6011499*27.54%+4614038*33.70%+2326454*63.89%+1586471*77.44%=11273470。所以2018年12月拨备金额为11273470,占总资产的比例为11273470/443823814=2.54%,即拨备率为2.54%。

(注:文中数据非真实数据,而是为了说明问题而生成的数据)

python风控建模实战lendingClub(博主录制,catboost,lightgbm建模,2K超清分辨率)

https://study.163.com/course/courseMain.htm?courseId=1005988013&share=2&shareId=400000000398149

微信扫二维码,免费学习更多python资源

Vintage、滚动率、迁移率的应用的更多相关文章

  1. 信用评分卡 (part 2of 7)

    python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...

  2. 信用评分卡Credit Scorecards (1-7)

      欢迎关注博主主页,学习python视频资源,还有大量免费python经典文章 python风控评分卡建模和风控常识 https://study.163.com/course/introductio ...

  3. 3分钟学会sessionStorage用法(h5页面返回滚动到上次浏览器位置)

    前言: 因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的 ...

  4. h5页面使用sessionStorage滚动到上次浏览器位置《原创》

    前言: 因最近移动端开发过程中遇到一个运营提出的所谓技术难点需求,对于原生APP来说轻而易举,毕竟自己的APP用户操作指哪打哪,但是H5该怎么做?H5就实现不了么?对于一个爱研究攻克这些前端棘手问题的 ...

  5. 115道Java经典面试题(面中率最高、最全)

    115道Java经典面试题(面中率最高.最全) Java是一个支持并发.基于类和面向对象的计算机编程语言.下面列出了面向对象软件开发的优点: 代码开发模块化,更易维护和修改. 代码复用. 增强代码的可 ...

  6. 使用css实现炫酷的横屏滚动效果

    炫酷的横屏滚动效果css实现 DEMO: https://codepen.io/kobako/pen/BxVLLm 我们对滚动条都不陌生.平时浏览的网页,进度条通常是垂直方向的,内容从上往下排列.但是 ...

  7. Android自动滚动 轮播循环的ViewPager

    主要介绍如何实现ViewPager自动播放,循环滚动的效果及使用.顺便解决ViewPager嵌套(ViewPager inside ViewPager)影响触摸滑动及ViewPager滑动速度设置问题 ...

  8. 鼠标滚轮滚动慢/拖动Office出现滞后问题处理

    一.说明 我对外设一直不是很了解,买的鼠标今天到了,使用时遇到了两个问题在这里记一下. 二.滚轮滚动慢处理 问题描述:在网页中滚动滚轮每次只能上下移动一点点,感觉很难受. 问题原因:此问题是滚轮滚动一 ...

  9. 【前端性能】高性能滚动 scroll 及页面渲染优化

    最近在研究页面渲染及web动画的性能问题,以及拜读<CSS SECRET>(CSS揭秘)这本大作. 本文主要想谈谈页面优化之滚动优化. 主要内容包括了为何需要优化滚动事件,滚动与页面渲染的 ...

随机推荐

  1. Java开发环境之ActiveMQ

    查看更多Java开发环境配置,请点击<Java开发环境配置大全> 柒章:ActiveMQ安装教程 1)去官网下载ActiveMQ安装包 http://activemq.apache.org ...

  2. GDI显示图像时设定窗口大小为图像大小

    先前已经能基于GDI显示png图像,但是窗口大小和图像尺寸并不一致.注意到opencv中的imshow的窗口和图像尺寸一致,这里进行设置. 原理 CreateWindow阶段并不能确定窗口大小,但是在 ...

  3. 存储型XSS靶场作业

    首先进入靶场:http://59.63.200.79:8082/index.php xss平台使用:xss8c 发现CMS版本号,搜索是否此版本号存在可利用漏洞: 找到存储型xss漏洞,在xss平台生 ...

  4. 用IntelliJ IDEA学习Spring--创建一个简单的项目

    这段时间想学习一下Spring,其实之前学过Spring,只是有些忘记了.而且之前学的时候是适用eclipse学习的,现在好像对IntelliJ这个工具使用挺多的,现在就学习一下这个工具的用法,顺便复 ...

  5. Map遍历效率比较

    1.由来 上次博客提到了Map的四种遍历方法,其中有的只是获取了key值或者是value值,但我们应该在什么时刻选择什么样的遍历方式呢,必须通过实践的比较才能看到效率. 也看了很多文章,大家建议使用e ...

  6. py3+requests+json+xlwt,爬取拉勾招聘信息

    在拉勾搜索职位时,通过谷歌F12抓取请求信息 发现请求是一个post请求,参数为: 返回的是json数据 有了上面的基础,我们就可以构造请求了 然后对获取到的响应反序列化,这样就获取到了json格式的 ...

  7. maven 使用dependencyManagement统一管理依赖版本

    今日思语:人生方方长长,努力把她磨成方圆,所以 加油咯~ 使用maven可以很方便的进行项目依赖的管理,即可以管理我们显示引入具体版本的依赖,也可以管理某些第三方引入的一些依赖的版本,从而能更好的实现 ...

  8. volatile 关键词

    volatile 关键字指示一个字段可以由多个同时执行的线程修改. 出于性能原因,编译器,运行时系统甚至硬件都可能重新排列对存储器位置的读取和写入. 声明了 volatile 的字段不进行这些优化.这 ...

  9. OLED液晶屏幕(2)取模软件

    https://blog.csdn.net/ling3ye/article/details/53399305 文件夹说明: Adafruit_SSD1306-master   ——SSD1306库(O ...

  10. shell脚本awk的基本用法

    AWK 1 AWK 2 3 linux取IP地址 4 5 ifconfig | grep -w inet | sed -n '1p' | awk '{print $2}' 6 7 eg: 8 9 aw ...