银行数据仓库体系实践(18)--数据应用之信用风险建模
信用风险
银行的经营风险的机构,那在第15节也提到了巴塞尔新资本协议对于银行风险的计量和监管要求,其中信用风险是银行经营的主要风险之一,它的管理好坏直接影响到银行的经营利润和稳定经营。信用风险是指交易对手未能履行约定契约中的义务而给银行造成经济损失的风险。典型的表现形式包括借款人发生违约或信用等级下降。借款人因各种原因未能及时、足额偿还债务/银行贷款、未能履行合同义务而发生违约时,债权人或银行必将因为未能得到预期的收益而承担财务上的损失。
那如何来表示某个交易对手的信用情况呢,一般使用信用等级或信用评分来来表示,等级越低或评分越低,发生违约的概率会增加。这个信用评分主要应用在客户的贷前和贷后管理中,贷前是指客户贷款申请阶段,银行受理客户贷款申请时会根据客户提交的信息、人行征信、其它数据源按一定的规则计算出一个违约概率和风险评分或信用等级。再根据这个评分或评级来确定客户的授信额度和利率。计算出的评分或评级越高,违约概率越低,比如在进行个人贷前评分时主要关注以下5方面:
(1)People:贷款人状况,包括历史还款表现、当前负债情况、资金饥渴度等;
(2)Payment:还款来源,如基本收入、资产水平、月收支负债比、无担保总负债等;
(3)Purpose:资金用途,如消费、买房,需要规避贷款资金用于投资或投机性质较高领域,如股票和数字货币;
(4)Protection:债权确保,主要是看是否有抵押物或担保,需要看抵押物用途、质量、价格等关键要素;
(5)Perspective:借款户展望,从地域、行业、人生阶段等考察稳定性及潜力;
贷后是指客户借款后银行持续跟进客户的信用情况,如果发现信用评分降低或者某些指标达到风险预警指标的阈值,说明风险升高,则会进行冻结额度甚至提前进行贷款收回。特别是对于逾期客户。
风险建模步骤
在进行信用评估时如何选择客户属性、如何确定评分或评级规则呢?这就需要进行风险建模,通过分析历史数据来确定哪些特征或指标对客户的违约相关性大,可以了解客户的还款能力以及还款意愿。并通过一定方法来建立评分和评级的规则。那风险建模主要分为以下步骤:

(1)业务理解:主要评估当前现状、确定业务目标,选择建模方法,比如需要进行XX贷款产品的贷前评分模型并确定准入规则,建模方式比如为评分卡,评分应用为基于评分确定贷款准入规则以及额度和利率规则,同时需要确定分析数据的好客户和坏客户标准,如逾期90天以上为坏客户;
(2)数据理解:首先需要准备建模的样本数据,如抽取近2年的获得类似产品的客户相关信息以及根据好客户和坏客户标准确定的结果。并针对业务数据进行业务含义理解、对数据进行收集、探索,了解每个变量的数据质量、缺失情况,数据分布等。比如对于客户在人行的征信数据、客户在银行的存款、理财等信息、以及客户申请填写的家庭、房产信息、外部获得的客户教育、司法等相关信息进行业务理解和数据分布、质量的探索,对缺失值比例过大的变量或准确性不高的变量进行剔除,同时也要确定对于样本数据中哪些数据进行建模,哪些数据进行验证。
(3)数据准备:主要对数据进行预处理和指标加工,指标加工指基于基础数据进行指标加工,如最近1个月的征信查询次数,最近1年的逾期次数等,数据预处理主要工作包括对每一个变量进行数据清洗、缺失值处理、异常值处理、数据标准化等,主要目的是将获取的原始数据转变成可用于建模的结构化数据。
比如对于连续变量,就是要寻找合适的切割点把变量分为几个区间段以使其具有最强的预测能力,也称为“分箱”。例如客户年龄就是连续变量,在这一步就是要研究分成几组、每组切割点在哪里预测能力是最强的。分箱的方法有等宽、等频、聚类(k-means)、卡方分箱法、单变量决策树算法(ID3、C4.5、CART)、IV最大化分箱法、best-ks分箱法等。如果是离散变量,每个变量值都有一定的预测能力,但是考虑到可能几个变量值有相近的预测能力,因此也需要进行分组。
通过对变量的分割、分组和合并转换,分析每个变量对于结果的相关性,剔除掉预测能力较弱的变量,筛选出符合实际业务需求、具有较强预测能力的变量。检测变量预测能力的方法有:WOE(weight of Evidence) 、IV(informationvalue)等。
(4)分析建模:即对于筛选出来的变量以及完成好坏定义的样本结果。放入模型进行拟合。如评分卡一般采用常见的逻辑回归的模型,PYTHON、SAS、R都有相关的函数实现模型拟合。以下是生成的评分卡的例子。


(5)评估及报告:即通过验证样本对模型的预测进行校验。评估模型的准确性和稳健性,并得出分析报告。常用的方法有ROC曲线、lift提升指数、KS(Kolmogorov-Smirnov)曲线、GINI系数等。

(6)应用:对模型进行实际部署和应用,如基于评分进行客户准入和产生额度,并在贷款系统进行模型部署,自动对申请客户进行评分。
(7)监测:建立多种报表对模型的有效性、稳定性进行监测,如稳定性监控报表来比较新申请客户与开发样本客户的分值分布,不良贷款分析报表来评估不同分数段的不良贷款,并且与开发时的预测进行比较,监控客户信贷质量。随着时间的推移和环境变化,评分模型的预测力会减弱,所以需要持续监控并进行适当调整或重建。
在信用风险建模中,目前评分卡建模还是主要的方式,除了申请评分(A卡(Application score card))还有B卡(Behavior score card)行为评分卡、C卡(Collection score card)催收评分卡。B卡主要进行客户贷后管理,如何进行风险预警,C卡进行催收管理,确定如何催收以及催收方式和时间点。信用风险模型中还有一个是反欺诈模型,它主要是识别假冒身份、虚假信息、批量薅羊毛等欺诈行为。随着机器学习和大数据的发展,其它的一些建模方式如决策树、深度神经网络也越来越多的应用到了风险建模中。
信用风险模型是数据仓库支持的重要数据应用之一,在风险建模分析阶段,数据仓库是建模样本数据以及衍生指标加工的主要提供者,业务人员一般在自助分析平台进行数据分析和建模,模型建立完成并部署后,会基于数据仓库数据进行模型效果的监控。在贷后管理中,风险集市也会进行贷后指标的加工。另外风险模型以及预警中会经常使用到外部数据,这部分数据也是通过数据仓库进行对接、加工和存储。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/acumen_leo/article/details/99836511
相关文章:
银行数据仓库体系实践(18)--数据应用之信用风险建模
信用风险 银行的经营风险的机构,那在第15节也提到了巴塞尔新资本协议对于银行风险的计量和监管要求,其中信用风险是银行经营的主要风险之一,它的管理好坏直接影响到银行的经营利润和稳定经营。信用风险是指交易对手未能履行约定契约中的义务而…...
每日一练 | 华为认证真题练习Day179
1、关于配置STUB区域需要注意的事项中描述正确的是 A. 骨干区域可以配置成为STUB区域 B. 如果将一个区域配置成为STUB区域,则该区域中的所有路由器都要配置STUB区域属性 C. STUB区域可以存在ASBR D. 虚连接可以穿越STUB 2、关于PIM-SM中的HellO报文的描述&#…...
[ubuntu]add-apt-repository 添加以及移除
add-apt-repository是一个用于添加PPA(Personal Package Archive)存储库的命令。它是Ubuntu和基于Ubuntu的Linux发行版中的apt软件包管理系统的一部分。 PPA存储库允许用户安装和更新软件包,这些软件包不包含在官方软件源中。通过添加PPA存储…...
PySpark(二)RDD基础、RDD常见算子
目录 RDD RDD五大特性 RDD创建 RDD算子 常见的Transformation算子 map flatMap mapValues reduceByKey groupBy filter distinct union join intersection glom groupByKey groupByKey和reduceByKey的区别 ? sortBy sortByKey 常见的action算子 countByKey…...
修改MFC图标
摘要:本文主要讲解了MFC程序窗口图标的添加、任务栏、底部托盘的图标添加,以及所生成的exe文件图标的添加。 1、在资源视图添加Icon资源 透明图标怎么制作? 1)点击图片》右键:使用画图3D进行编辑 2&a…...
springboot158基于springboot的医院资源管理系统
简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计,课程设计参考与学习用途。仅供学习参考, 不得用于商业或者非法用途,否则,一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…...
【算法】枚举——蓝桥杯、日期统计、特殊日期(位数之和)、2023、特殊日期(倍数)、跑步锻炼
文章目录 蓝桥杯日期统计特殊日期(位数之和)2023特殊日期(倍数)跑步锻炼 蓝桥杯 日期统计 日期统计 如果暴力枚举100个数的八次循环那就是1016次运算,时间复杂度太高了,好在前四次的2023是确定的…...
基于flask的个人博客项目从0到1
项目展示(持续完善中…) 首页 文章时间线页面 笔记页面 留言页面 关于页面 后台页面-文章管理 后台页面-笔记页面 后台页面-分类 后台管理-新增标签 后台管理-标签页面 后台管理-新增标签 后台管理-关于页面 2.项目详述 该博客开源地址点击跳转,该项目已部署上…...
基于OpenCV灰度图像转GCode的单向扫描实现
基于OpenCV灰度图像转GCode的单向扫描实现 引言单向扫描存在的问题灰度图像单向扫描代码示例结论 系列文章 ⭐深入理解G0和G1指令:C中的实现与激光雕刻应用⭐基于二值化图像转GCode的单向扫描实现⭐基于二值化图像转GCode的双向扫描实现⭐基于二值化图像转GCode的…...
JAVA生成Word文档
第一步:导入依赖 <!--生成word文档--> <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.3</version> </dependency> <!--数字转为汉字大写--> <depend…...
python将.db数据库文件转成Excel文档
python实现.db数据库转Excel 程序实现 上一篇文章程序实现以下功能: 1.读取一个Excel文件,文件名通过函数传参数传入 2.将文件读取的内容保存到一个数据库文件中 3.数据库的文件名以传入的Excel文件的文件名命名 4.将excel文件的工作簿的名字作为数据库的表单名 5…...
[opencvsharp]C#基于Fast算法实现角点检测
角点检测算法有很多,比如Harris角点检测、Shi-Tomas算法、sift算法、SURF算法、ORB算法、BRIEF算法、Fast算法等,今天我们使用C#的opencvsharp库实现Fast角点检测 【算法介绍】 fast算法 Fast(全称Features from accelerated segment test)是一种用于角…...
群晖NAS开启FTP服务结合内网穿透实现公网远程访问本地服务
⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP…...
ReactNative实现弧形拖动条
我们直接看效果 先看下面的使用代码 <CircularSlider5step{2}min{0}max{100}radius{100}value{30}onComplete{(changeValue: number) > this.handleEmailSbp(changeValue)}onChange{(changeValue: number) > this.handleEmailDpd(changeValue)}contentContainerStyle{…...
STM32F407移植OpenHarmony笔记9
继上一篇笔记,已经完成liteos内核的基本功能适配。 今天尝试启动OHOS和XTS兼容性测试。 如何启动OHOS? OHOS系统初始化接口是OHOS_SystemInit(void),在内核初始化完成后,就能调用。 extern void OHOS_SystemInit(void); OHOS_Sys…...
telnet笔记
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、场景二、介绍1.测试端口2.访问百度3. 简单的爬虫 前言 最近telnet命令用的比较多,所以记录一下。 一、场景 ping应该是大家最常用的命令&…...
【考研408】操作系统笔记
文章目录 [toc] 计算机系统概述操作系统的基本概念操作系统的概念和特征操作系统的目标和功能(**处理器管理、存储器管理、设备管理、文件管理、向用户提供接口、扩充机器**) 操作系统的发展与分类操作系统的运行环境操作系统的运行机制 操作系统的体系结…...
从0开始搭建、上传npm包
从0开始搭建、上传npm包 1、上传一个简单获取水果价格的包创建 vite 项目在项目根目录 src 文件夹中创建 index.ts 文件,文件内容如下:在 main.ts 文件中导入、导出上面创建的方法创建 vite.config.ts 配置文件,文件内容如下配置 package.jso…...
【Go】在 JSON 中解析 time.Duration
当解析 JSON 时,使用time.Duration可能是一个繁琐的过程,因为它需要在一秒的后面添加 9 个零(即 1000000000)。为了简化这个过程,我创建了一个名为 Duration 的新类型: type Duration time.Duration为了将…...
UE4 C++ UGameInstance实例化
1.创建GameInstance C类 2.在.h添加变量 class 工程名称_API UMyGameInstance : public UGameInstance {GENERATED_BODY()public: //定义了三个公开的变量UMyGameInstance();UPROPERTY(EditAnywhere, BlueprintReadWrite, Category "MyGameInstance")FString Name…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
LeetCode - 199. 二叉树的右视图
题目 199. 二叉树的右视图 - 力扣(LeetCode) 思路 右视图是指从树的右侧看,对于每一层,只能看到该层最右边的节点。实现思路是: 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现企业微信功能
1. 开发环境准备 安装DevEco Studio 3.1: 从华为开发者官网下载最新版DevEco Studio安装HarmonyOS 5.0 SDK 项目配置: // module.json5 {"module": {"requestPermissions": [{"name": "ohos.permis…...
