银行数据仓库体系实践(18)--数据应用之信用风险建模

本文主要是介绍银行数据仓库体系实践(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卡进行催收管理,确定如何催收以及催收方式和时间点。信用风险模型中还有一个是反欺诈模型,它主要是识别假冒身份、虚假信息、批量薅羊毛等欺诈行为。随着机器学习和大数据的发展,其它的一些建模方式如决策树、深度神经网络也越来越多的应用到了风险建模中。

        信用风险模型是数据仓库支持的重要数据应用之一,在风险建模分析阶段,数据仓库是建模样本数据以及衍生指标加工的主要提供者,业务人员一般在自助分析平台进行数据分析和建模,模型建立完成并部署后,会基于数据仓库数据进行模型效果的监控。在贷后管理中,风险集市也会进行贷后指标的加工。另外风险模型以及预警中会经常使用到外部数据,这部分数据也是通过数据仓库进行对接、加工和存储。

目前字节跳动数据团队(上海)有内推职位,主要面向字节所有产品数据仓库及大数据开发岗位,如tiktok等,包括社招,校招,实习,大家可在2021年5月23号之前私信联系,内推方式成功率更高,机会有限,先到先得!

这篇关于银行数据仓库体系实践(18)--数据应用之信用风险建模的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/425886

相关文章

Python datetime 模块概述及应用场景

《Pythondatetime模块概述及应用场景》Python的datetime模块是标准库中用于处理日期和时间的核心模块,本文给大家介绍Pythondatetime模块概述及应用场景,感兴趣的朋... 目录一、python datetime 模块概述二、datetime 模块核心类解析三、日期时间格式化与

Redis实现分布式锁全解析之从原理到实践过程

《Redis实现分布式锁全解析之从原理到实践过程》:本文主要介绍Redis实现分布式锁全解析之从原理到实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、背景介绍二、解决方案(一)使用 SETNX 命令(二)设置锁的过期时间(三)解决锁的误删问题(四)Re

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

一文教你Python如何快速精准抓取网页数据

《一文教你Python如何快速精准抓取网页数据》这篇文章主要为大家详细介绍了如何利用Python实现快速精准抓取网页数据,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下... 目录1. 准备工作2. 基础爬虫实现3. 高级功能扩展3.1 抓取文章详情3.2 保存数据到文件4. 完整示例

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

在 Spring Boot 中实现异常处理最佳实践

《在SpringBoot中实现异常处理最佳实践》本文介绍如何在SpringBoot中实现异常处理,涵盖核心概念、实现方法、与先前查询的集成、性能分析、常见问题和最佳实践,感兴趣的朋友一起看看吧... 目录一、Spring Boot 异常处理的背景与核心概念1.1 为什么需要异常处理?1.2 Spring B

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

SpringMVC 通过ajax 前后端数据交互的实现方法

《SpringMVC通过ajax前后端数据交互的实现方法》:本文主要介绍SpringMVC通过ajax前后端数据交互的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价... 在前端的开发过程中,经常在html页面通过AJAX进行前后端数据的交互,SpringMVC的controll