个人信贷风险评估模型建立
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
个人信贷风险评估模型建立
摘要
随着我国商业银行个人消费贷款突飞猛进的发展,总量和规模与日俱增,个人消费贷款违约事件也屡见不鲜,因此商业银行个人消费贷款客户的信用评价也更显重要。
本文通过合理假设数学模型,研究确定银行个人信贷风险的评估标准。
在实际中,影响贷款风险性的因素涉及很多方面,我们在题目中所给因素的基础上,选择和添加了十组较为重要的影响因素,并对其进行量化处理。
论文内容可分为三个层次:首先,我们在对大量真实样本数据分析的基础上,确定了信贷风险评分中十项影响因素的取值,并通过矩阵运算、程序设计、均值算法、数据统计、方程求解等方法,确定了各项指标的评分系数,进而最终确定了评估个人信贷风险的评分函数;其次,在确定评分函数的基础上计算贷款评分的临界值,并依次对客户进行信用评分等级划分;最后,随机选择了十位客户的数据进行检验,得出通过建立的评估模型和所求的数据与实际情况基本一致,且具有简便、易用的特点。
一、问题的提出
2008年9月美国金融市场风云再起,雷曼兄弟控股公司破产,美洲银行收购美林集团和AIG集团陷入危机。
由此引发了美国金融市场的强烈震撼,并在国际金融市场掀起滔天巨浪,旷日持久的美国次贷危机中与演变成一场严峻的全球经济危机,未及一年多来,贸易骤减,企业倒闭,失业增加,各国经济特别是发达国家的经济呈现出一片萧条的景象。
“古为今用,史为实用”。
前车之鉴,反思效实。
所以,次贷风险的度量和防范就成为当前一个重要研究内容,而次贷风险的防范应该从信贷开始。
因此,研究分析银行的客户信用程度,偿还能力等指标对银行的更好运作有着举足轻重的作用。
二、问题分析
中国人民银行颁布的《关于开展个人消费信贷指导意见》中要求各中资商业银行加大对消费贷款的支持力度,刺激消费从而带动经济发展。
个人消费贷款将成为银行贷款投向的一个重点,但是消费贷款不同于其他贷款,其客户分散,贷款规模较小,且笔数多,成本高,风险远远高于其他贷款。
所以银行应当加强消费信贷风险管理,建立健全信贷风险管理机制及评分标准,以保证贷款的安全性。
而对贷款进行风险评估和量化研究则是银行信贷风险管理的一个必要手段。
我们首先通过对深圳某银行消费信贷样本数据的分析,并对风险评价值与所选取的
C、评价函数Y、临界十个重要因素的关系进行假设,通过运算得出了对应的评价系数
i
Y和等级梯度值AAA+、AAA、AA+、AA、A+、A、B、C。
且用已有的数据去检验值
C
评价函数及信贷风险标准中的等级梯度值,使模型符合实际。
三、模型的假设及符号说明
1. 模型的假设:
(1)根据实际选取十项影响信贷风险的重要因素(理想状态下忽略其他次要因素的影响)。
(2)各项影响因素评价系数与所取值的关系是线性的。
(3)各影响因素的量化值与实际相符。
(4)评分标准的临界值是组A、B评分值的加权平均数。
2. 符号说明:
Y:样本数据的评分值
i
C:对应影响因素的评分系数
i
X:各影响因素实际数据的属性量化值
ij
0Y 、1Y :样本数据评分值的算数平均值
0si X 、1
ti X :A 组、B 组原始数据的量化值
0i X 、1i X :A 组、B 组数据各列的平均值
A=00
si i X X ⎡⎤-⎣⎦ B=11
ti i X X ⎡⎤-⎣⎦
S=1
2
(A+B ) 0A Y 、1B Y :A 组、B 组评分值的平均水平 C Y :是否贷款的临界值
四、模型的建立
信贷风险评估模型是评价借款者信用可靠性的定量技术,通过对银行大量个人消费贷款的调查分析建立这一模型。
本模型主要通过对贷款者的年龄、婚姻状况、文化程度分期付款占收入的比重、担保情况、单位性质等方面评估信贷风险,涉及十个因素,它们是:
1.年龄:C 0为年龄评分系数,X 0为贷款申请者实际年龄的属性评分。
30岁以下记为1分,30~40岁记为3分,40~49岁记为5分,50~65记为4分,65岁以上记为2分。
2.婚姻状况:C 1为婚姻状况评分系数,X 1为贷款申请者实际婚姻状况的属性评分。
未婚记2分,已婚无子女记4分,已婚有子女记5分。
3.文化程度:C 2为文化程度评分系数,X 2为贷款申请者实际文化程度的属性评分。
高等教育记为5分,中等教育记为3分,初等教育记为1分。
4.单位性质:C 3为单位性质评分系数,X 3为贷款申请者单位性质的属性评分。
事业单位记5分,企业单位记4分,个体记3分,其他记2分,无单
位记1分。
5.职称:C 4为职称评分系数,X 4为贷款申请者职称的属性评分。
高级职称记为5分,中级职称记为3分,初级职称记为1分。
6.月收入:C 5为月收入评分系数,X 5为贷款申请者实际月收入的属性评分。
3万以上记为5分,3万~2万记为4分,2万~1万记为3分,1万~5000
记为2分,5000以下记为1分。
7.分期付款占收入的比重:C 6为分期付款占收入比重的评分系数,X 6为贷款申请者
分期付款占实际月收入比重的属性评分。
大于40%记为1分,30%~40%记为2分,20%~30%记为3分,10%~
20%记为4分,10%以下记为5分。
8.担保情况:C 7为担保情况评分系数,X 7为贷款申请者实际担保情况属性评分。
有担保记为3分,无担保记为1分。
9.身体情况:C 8为身体情况评分系数,X 8为贷款申请者实际身体情况属性评分。
良好记为3分,一般记为2分,差记为1分。
10.贷款期限:C 9为贷款期限评分系数,X 9为贷款申请者实际贷款期限属性评分。
5年以上记为1分,5年~4年记为2分,4年~3年记为3分,3年~
2年记为2分,2年~1年记为1分。
以上十项得分的总和:
Y=C 0X 0+C 1X 1+C 2X 2+C 3X 3+C 4X 4+C 5X 5+C 6X 6+C 7X 7+C 8X 8+C 9X 9
记为该笔贷款的信贷评分。
(各信贷风险影响因素的量化值见附录一)。
下面根据收集的贷款样本资料,求出各评分i C 。
从消费贷款的非违约贷款和违约贷款中分别随机抽取s 和t 个样本分别记为A 、B 组。
则它们对应的评分为: 组A 的评分值
Y 0=C 0X 00 + C 1X 01 + C 2X 02 +……+ C 8X O8+C 9X 09 Y 1= C 0X 10 + C 1X 11 + C 2X 12 +……+ C 8X 18+C 9X 19 Y 2= C 0X 20 + C 1X 21 + C 2X 22 +……+ C 8X 28 + C 9X 29
……………………
Y s =C 0X s0 + C 1X s1 + C 2X s2 +……+ C 8X s8 + C 9X s9
组B 的评分值
Y 0=C 0X 00 + C 1X 01 + C 2X 02 +……+ C 8X O8+C 9X 09 Y 1= C 0X 10 + C 1X 11 + C 2X 12 +……+ C 8X 18+C 9X 19 Y 2= C 0X 20 + C 1X 21 + C 2X 22 +……+ C 8X 28 + C 9X 29
……………………
Y t =C 0X t0 + C 1X t1 + C 2X t2 +……+ C 8X t8 + C 9X t9
又做0
01s i i Y Y s ==∑,1
1t i i Y Y t ==∑,即0Y 为组A 的平均值,1Y 为组B 的平均值。
为使组
A 与组
B 之间有明显区别,希望它们平均值之间差距越大越好,而组内离差平方和越小越好,即
()012
01234567890
02112
1
1
(),,,,,,,,,()()s
t
i
i i i Y Y L C C C C C C C C C C Y
Y Y Y ==-=
-+-∑∑ (1)
越大越好,从而建立评分系数0123456789,,,,,,,,,C C C C C C C C C C 为
()0123456789,,,,,,,,,L C C C C C C C C C C 的极大值点。
[1][2]
由微分方程可知(0123456789,,,,,,,,,C C C C C C C C C C )为方程组
()
0123456789,,,,,,,,,0i
L C C C C C C C C C C C ∂=∂(0,1,...,9)i =的解
五、模型的求解
1. 将原始数据写成矩阵 组A 的矩阵
00
00010809
00
101118
1900009091
98
99X X X X X X X X X X X X ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=35321223333511122333353511133332323153331
43411233345521433233534124333555312312355551153233
555144333⎡⎤
⎢⎥⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥⎣⎦
组B 的矩阵
0000
00010809
0000
1011
181900009091
9899X X X X X X X X X X X X ⎡⎤⎢⎥⎢⎥⎢
⎥⎢⎥⎢⎥⎣⎦=3
23513433352323233234
23231431335355133333
51251433355555511123555521333353431133245115113135252131323⎡⎤
⎢⎥⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥⎣⎦
各列的平均值0
0000
189()X X X X =[]3543123333
11
11
01
89()X X X X =[]443342323
2 做新的矩阵A 、B ,及两组的算术平均值矩阵S
000
00
0000000110880990
00
000
00100111188199000000
0900911
988999X X X X X X X X X X X X X X X X A X X X X X X X X ⎡⎤----⎢⎥----⎢⎥=⎢⎥⎢⎥⎢⎥----⎣⎦=0
011
0010000032001000
01
201200003
112120002
11101100
010*********
01
10010002010000210201201201
00
01
20
2
1
00
0---------------------------⎡⎤
⎢⎥
⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
1111
1111
000011088099
1
111
1111
10011118819911111111900911
988999X X X X X X X X X X X X X X X X B X X X X X X X X ⎡⎤----⎢⎥----⎢⎥=⎢⎥⎢⎥⎢⎥----⎣⎦=1
20230201012011010000
20111201011021110101
121
11201011221
21
2111122
111
01011
01111
01101221110101
2213
01
000-------------------------------------⎡⎤⎢⎥
⎢⎥
⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥
⎢⎥⎣⎦
且 1()2S A B =+=121211311010123310000002111200101211123010303212101021311510211113100210111111120121101210201231330000------------------------------------⎡⎤
⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥
⎢⎥
⎢⎥⎢⎥
⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
满足式(1)的(0123456789,,,,,,,,,C C C C C C C C C C )为方程组
010
0001
11101222013330
1
44
40
155********
77
701
88
80199
9X X C X X C X X C X X C C X X S C X X C X X C X X C X X C X X ⎡⎤-⎡⎤⎢⎥⎢⎥-⎢⎥
⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥
⎢⎥⨯=⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥
-⎢⎥⎢⎥⎢⎥-⎢⎥
⎢⎥⎢⎥⎣⎦
-⎣⎦
的解, 即
010
0001
1
11012220133301
4
4410
15550166
601
77
701
8880199
9X X C X X C X X C X X C C X X S C X X C X X C X X C X X C X X -⎡⎤-⎡⎤⎢⎥⎢⎥-⎢⎥
⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥=⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥
-⎢⎥⎢⎥⎢⎥-⎢⎥
⎢⎥⎢⎥⎣⎦
-⎣⎦
=1
S -1110301010-
⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦
解得:
(0123456789,,,,,,,,,C C C C C C C C C C )=(0.9,1.8,5.5,4.5,3.8,6.3,7.5,5.5,3.6,2.7) (其中1S -通过设计程序求得,具体程序见附录二) 3. 确定评分函数
01234567890.9 1.8 5.5 4.5 3.8 6.37.5 5.5 3.6 2.7Y X X X X X X X X X X =+++++++++ (2) 4. 组A 、B 评分制的平均水平
00
00000
118899A Y C X C X C X C X =++++=121.5
111
11
00118899B Y C X C X C X C X =++
++=115.4
再取出两组数据(每组20个),重复以上过程,取平均数,最终求得
临界值:01
A B c sY tY Y s t
+=+= 118.45 [3][4]
5. 信用等级梯度值划分为:
AAA+级:得分≥168.5,客户整体实力极强,家庭、职业极为稳定,文化程度高,身体健康,职业发展或个私经营发展获得显著成功且前景十分看好,经济收入高。
家庭综合经济实力强、还贷能力极强,信用品质佳,信用风险极小。
AAA级:168.5>得分≥155.2,客户实力很强,家庭、职业的稳定性很强,文化程度较高,身体健康,职业发展或个私经营发展获得很大成功且前景看好,经济收入高。
家庭综合经济实力较强,承贷及还贷能力很强,信用品质很好,信用风险很小。
AA+级:155.2>得分≥141.9,客户整体实力强,家庭、职业的稳定性强,文化程度较高,身体健康,个私经营发展较成功且前景看好,经济收入高。
承贷及还贷能力强,信用品质好,信用风险小。
AA级:141.9>得分≥128.6,客户整体实力较强,家庭、职业稳定,文化程度较高,身体健康,职业发展或个私经营发展顺利且前景看好,经济收入较高。
承贷及还贷能力强,信用品质好,信用风险小。
A+级:128.6>得分≥118.45, 客户整体实力较强,家庭、职业较稳定,文化程度较高,身体健康,职业发展或个私经营发展较为顺利且前景较好,经济收入较高。
承贷及还贷能力较强,信用品质好,信用风险较小。
A级:118.45>得分≥84.93,客户整体实力一般,家庭、职业较稳定,文化程度一般,身体健康,职业发展或个私经营发展一般但具有一定的发展潜力,经济收入良好。
具有一定的承贷及还贷能力,信用品质较好,存在一定的信用风险。
B级:84.93>得分≥51.4,客户整体实力较弱,家庭、职业的稳定性一般,文化程度一般,身体健康,职业发展或个私经营发展一般,个人发展前景不确定,经济收入偏低。
承贷及还贷能力偏弱,信用风险较大。
C级:得分<51.4,客户整体实力差,家庭、职业稳定性差,文化程度一般,身体健康,经济收入极低或收入不稳定。
承贷及还贷能力很弱或丧失,存在不良信用记录,信用风险大。
六、模型分析及检验
从样本数据中随机抽取了十组数据,利用模型对其进行信贷风险评估:
十组数据的信用等级梯度值:
1的等级梯度值为:A
2的等级梯度值为:A
3的等级梯度值为:A
4的等级梯度值为:A+
5的等级梯度值为:A
6的等级梯度值为:AA
7的等级梯度值为:A
8的等级梯度值为:A
9的等级梯度值为:AA
10的等级梯度值为:A
七、模型的优缺点及改进方向
本模型的优点是操作简单,实用性强。
通过大量随机数据的验证,模型基本符合实际情况,对银行的信贷风险评价具有一定的帮助作用。
另外在模型的计算中进行了程序上机实现,对以后银行信贷评分标准的程序化、软件化具有一定的指导作用。
本模型的缺点是考虑的情况较为理想化,有地区局限性。
另外,在信贷风险影响因素的量化过程中考虑了普遍情况,对特殊个例没有进行分析研究。
八、参考文献
[1]周海涛,《数据分析》第23~50页,西安,西安交通大学出版社,2003年3月
[2]谭永基、蔡志杰、俞文编著,《数学模型》第246~356页,上海,复旦大学出版社,2005年11月
[3]张超,《数学模型》(第2版)第112~166页,高等教育出版社,2008年9月[4]姜启源,谢金星,叶俊编著,《数学模型》(第3版)第207~300页,北京,高等教育出版社,2008年9月
九、附录
附录一影响风险指标变量及其属性
S 求解的程序
附录二1
附录三深圳某银行消费信贷样本数据
附录一:影响风险指标变量及其属性
附录二: 1
S 求解的程序
#include<iostream>
using namespace std;
class Matrix
{
public:
void SetSize( void );
void Initial( void );
void Assign( void );
void Display( void );
void converse( void );
void Show( void );
private:
int Row;
int Column;
float MatrixA[100] [200];
};
//set matrix size
void Matrix::SetSize( void )
{
int n;
cout << "Please input a n*n Matrix to be converse:" << endl << "n="; cin >> n;
Row = Column = n;
}
//initilize matrix data
void Matrix::Initial( void )
{
int i( 0 ), j( 0 );
for ( i = 0; i < Row; i++ )
{
for ( j = 0; j < Column; j++ )
{
MatrixA[i] [j] = float( 0.0 );
MatrixA[i] [Column + j] = float( i == j ? 1.0 : 0.0 ); }
}
}
//input matrix data
void Matrix::Assign( void )
{
int i( 0 ), j( 0 );
cout << "Please input Matrix data:" << endl;
for ( i = 0; i < Row; i++ )
{
for ( j = 0; j < Column; j++ )
{
cout << "Row=" << i << "," << "Column=" << j << endl; cin >> MatrixA[i] [j];
}
}
}
//show inverse process
void Matrix::Show( void )
{
int i( 0 ), j( 0 );
cout << endl;
for ( i = 0; i < Row; i++ )
{
for ( j = 0; j < 2 * Column; j++ )
{
cout << MatrixA[i] [j] << " ";
}
cout << endl;
}
}
//display matrix data
void Matrix::Display()
{
int i( 0 ), j( 0 );
cout << "Matrix A:" << endl;
for ( i = 0; i < Row; i++ )
{
for ( j = 0; j < Column; j++ )
{
cout << MatrixA[i] [j] << " ";
}
cout << endl;
}
cout << "converse Matrix:" << endl;
for ( i = 0; i < Row; i++ )
{
for ( j = Column; j < 2 * Column; j++ ) {
cout << MatrixA[i] [j] << " ";
}
cout << endl;
}
}
//converse matrix
void Matrix::converse( void )
{
int i( 0 ), j( 0 ), n( 0 ), i1( 0 ), i2( 0 ), j1( 0 );
static int i3( 0 );
float temp( 0.0 );
Show();
for ( i = 0; i < Row; i++ )
{
if ( MatrixA[i] [i] == 0 ) //If the number on the cross of {
//the current line is zero,s line with another one
i3++;
for ( j = 0; j < 2 * Column; j++ )
{
temp = MatrixA[i] [j];
MatrixA[i] [j] = MatrixA[i3] [j];
MatrixA[i3] [j] = temp;
}
Show();
i--;
continue;
}
Show();
//change the number on the cross to one
if ( MatrixA[i] [i] != 1 )
{
for ( j = 2 * Column - 1; j >= 0; j-- )
{
MatrixA[i] [j] /= MatrixA[i] [i];
}
Show();
//将矩阵变成上对角阵
for ( i1 = i + 1; i1 < Row; i1++ )
{
for ( j1 = 2 * Column; j1 >= i; j1-- )
{
MatrixA[i1] [j1] -= MatrixA[i] [j1] * MatrixA[i1] [i]; }
Show();
}
}
}
//将上对角阵变成单位阵
for ( i = 0; i < Row - 1; i++ )
{
for ( i2 = i; i2 < Row - 1; i2++ )
{
for ( j = 2 * Column - 1; j >= 0; j-- )
{
MatrixA[i] [j] -= MatrixA[i] [i2 + 1] * MatrixA[i2 + 1] [j]; }
}
Show();
}
}
int main( void )
{
Matrix Matrix1;
cout << "converse Matrix!" << endl << "Program designed by Zang Junheng." << endl << endl;
Matrix1.SetSize();
Matrix1.Initial();
Matrix1.Assign();
Matrix1.converse();
Matrix1.Display();
return 0;
}
附录三:深圳某商业银行消费样本数据。