system: [SYSTEM]

user: 3. 信贷模型建立 3.1. 信贷模型建立 3.1.1. 样本分析 对123家企业的信贷风险进行量化分析，在年度信贷总额固定时，给出该银行对这些企业的信贷策略。首先将数据预处理，通过填补缺失值和进行异常值处理使数据格式标准化；用BP神经网络预测模型确定各因素的影响权重，预测违约状况和信誉评分，决定是否放贷，寻找使银行收益最大的年利率和贷款额度。 Table 1 Symbol descriptio 变量 说明 s 企业销项发票价税合计总和 p 企业进项发票价税合计总和 v 毛利率 c 企业的现金流量 ω 进项和销项发票的平均作废率 α 进项发票中负数发票的比例 m 1 进项发票销方单位总数 m 2 销项发票购方单位总数 n 1 进项发票总数 n 2 销项发票总数 D 企业实力 Q 供求关系稳定性 Y i 第i个企业的信誉评分 γ i 第i个企业的信贷风险比例 X i 第i个企业的信贷风险评分 R 外部因素评分 x 贷款年利率 ε 客户流失率 W 银行放贷净收益 M 银行放贷总额 表1. 符号说明 3.1.2. 模型的建立 1) 信贷风险量化的指标体系 a) 实力 销项发票金额可以用来反映企业偿债能力，销项发票金额减进项发票金额与销项金额之比，可以近似代表企业的毛利率，用来反映企业的盈利能力；此外，销项和进项发票的总金额可以视为企业的现金流规模，用来反映企业的周转能力；因此我们将销项金额、毛利率、进项加销项的总金额作为反应企业实力的三个因子。 b) 供求关系稳定性 唐桂增(2010)用企业的上下游客户数量衡量企业的供求关系稳定性 [ 1 ]。上游企业是相对下游企业而言的，指处于行业生产和业务的初始阶段的企业和厂家，下游企业主要是对原材料进行深加工，并将原材料转化为生产和生活中的实际产品。附件中的进项、销项发票信息给出了企业与其上下游企业的交易情况。因此，我们将进项发票销方企业数量、销项发票购方企业数量、进项发票总数、销项发票总数作为衡量供求关系稳定性的四个因子。 c) 信誉评分 负数发票和作废发票都已发生交易活动而未成功完成。查阅已有研究可知，负数发票和作废发票的存在可能代表企业存在财务问题 [ 2 ]。因此我们将进项发票中负数发票率、进项和销项平均作废发票率作为反映企业信誉的两个因子。 d) 外部因素 现阶段我国的贷款政策是：重点支持能源、交通企业的发展；优先支持轻纺工业生产名优产品和各种适销对路的产品；积极支持农副产品采购和扩大商品流通；支持企业开发试制新产品，进行技术更新、技术改造和引进先进技术；支持科学技术为生产和商品流通服务，促进科学技术迅速转化为生产力；支持集体和个体企业的发展。因此我们将信贷政策作为影响银行信贷策略的外部因素，并将国家对不同行业的扶持力度进行量化赋值。样本分类统计结果分别如图1、图2所示。 图1. 附件1企业行业类别汇总 图2. 附件2企业行业类别汇总 信贷风险量化的指标体系如表2所示。 Table 2 Quantitative index system of credit ris 变量 影响因子 实力 销项金额 = 主营业务收入 (销项金额 − 进项金额)/销项金额 = 毛利率 进项金额 + 销项金额 = 现金流量 供求关系稳定性 进项发票销方企业数量 销项发票购方企业数量 进项发票总数 销项发票总数 信誉评分 进项发票中负数发票率 进项和销项作废发票率均值 外部因素 问题1、2中代表信贷政策影响；问题3中代表信贷政策和疫情影响的总和 表2. 信贷风险量化指标体系 2) BP神经网络模型 a) 基于神经网络的经济预测方法 [ 3 ] 对于非线性问题，传统的处理方法是尽量将其转化为线性问题，然后运用线性模型的理论和方法进行分析。但由于非线性系统有其区别于线性系统的特有属性，如许多非线性系统的解所具有的混沌性、分叉性以及对于参数和初值的敏感依赖性，若采用线性方法将不可避免地造成这些特性的丧失。近年来，随着人们对于非线性问题研究的深入，神经网络理论得到了快速发展，由于其具有自组织、自学习以及对于输入数据和规则的鲁棒容错能力，已被越来越多地应用于股市预测、经济预测及预警研究、人口预测领域等。 b) 非线性变化单元组成的前馈型人工神经网络模型 非线性变化单元组成的前馈型人工神经网络，简称为B-P网络。以二层网络为例，如图3所示。有n个输入，m个输出，两个中间层。输入结点、中间结点和输出结点分别用下标i、h、j表示；由输入到中间层的h结点的权值用W ih 表示。 图3. 二层网络示意图 对于输入数据，设其目标输出为d，而实际输出为y。为训练网络，组成训练对，上标表示训练对的序号。既可以是二进制数，也可以是连续值。 当输入第k个数据时，中间层的结点h的输入加权和为 S h ( k ) = ∑ i x i ( k ) W i h 相应地，结点h的输出为 y n ( k ) = f [ S h ( k ) ] = f [ ∑ i k i ( k ) W i h ] 这时，输出层结点j的加权和为 S j ( k ) = ∑ h y h ( k ) W h j = ∑ h W h j f [ ∑ i k i ( k ) W i h ] 输出层结点j的输出为 y j ( k ) = f { ∑ h W h j f [ ∑ i k i ( k ) W i h ] } 输出结点j的误差为 e j ( k ) = d j ( k ) − y j ( k ) 如果用k个输入的所有输出结点的误差平方总和作为指标，则有 J ( W ) = 1 2 ∑ k ∑ j [ e j ( k ) ] 2 采用梯度规则，由J对各个W求导，可以求得使J减小的梯度，调整权值的方向。 i) 由中间值到输出值的权值 ∂ J ( W ) ∂ W h j = ∑ k ∂ J ( W ) ∂ y j ( k ) ∂ y j ( k ) ∂ S j ( k ) ∂ S j ( k ) ∂ W h j = − ∑ k [ d j ( k ) − y j ( k ) ] f ′ [ S j ( k ) ] y h ( k ) 定义 δ j ( k ) = e j ( k ) f ′ [ S j ( k ) ] 这样 ∂ J ( W ) ∂ W h j = − ∑ k δ j ( k ) y h ( k ) 这样，由中间层到输出层的权值 W h j 调整量为： Δ W h j = − η ∂ J ( W ) ∂ W h j = − η ∑ k δ j ( k ) y h ( k ) ii) 由输入到中间层的权值 W h j 的调整 前项计算关系如图4所示。 图4. 前项计算关系图 前项计算关系 ∂ J ( W ) ∂ W h j = ∑ k ， j ∂ J ( W ) ∂ y j ( k ) ∂ y j ( k ) ∂ S j ( k ) ∂ S j ( k ) ∂ y h ( k ) ∂ y h ( k ) ∂ S h ( k ) ∂ S h ( k ) ∂ W h j = − ∑ k [ d j ( k ) − y i ( k ) ] f ′ [ S j ( k ) ] W h j f ′ [ S h ( k ) ] x i ( k ) 定义 δ h ( k ) = f ′ [ S h ( k ) ] ∑ j W h j δ j ( k ) 这样 ∂ J ( W ) ∂ W i h = − ∑ k δ h ( k ) y i ( k ) Δ W i h = − η ∂ J ( W ) ∂ W i h = − η ∑ k δ j ( k ) x i ( k ) 对任意层间权值调整的一般式 Δ W p q = − η ∑ k δ q ( k ) y p ( k ) 其中 y p 为p给q结点的输入； δ q 为p和q连接的输出误差。 δ q 由具体的层决定，对输出层 e j ( k ) = d j ( k ) − y j ( k ) δ j ( k ) = e j ( k ) f ′ [ S j ( k ) ] 对于最后一个中间层 e h ( k ) = ∑ j W h j ( k ) δ j ( k ) δ h ( k ) = e h ( k ) f ′ [ S h ( k ) ] 如果前面还有中间层，则再利用上式计算，一直由输出误差 e j ( k ) 一层一层地反传计算到第1中间层为止。误差反馈示意图如图5所示。 图5. 误差反馈示意图 iii) BP网络的训练步骤 ①用均匀分布随机数将各权值设定为一个小的随机数，如 W [ 0 ] = [ − 0.2 ， 0.2 ] ②从训练数据对 [ x ( k ) ， d ( k ) ] 中，将一个输入数据加在输入端 ③计算输出层的实际输出 y ( k ) ④计算输出层的误差 e j ( k ) = d j ( k ) − y j ( k ) δ j ( k ) = e j ( k ) f ′ [ S j ( k ) ] 式中m为输出层结点数 ⑤计算中间层的误差 e j ( k ) = ∑ l W h l ( k ) δ l ( k ) δ h ( k ) = e h ( k ) f ′ [ S h ( k ) ] 式中h为某一中间层的一个结点，H为该中间层的结点数，l为该中间层结点h的下一层的所有结点。 ⑥对网络所有权值进行更新 W p q ( k + 1 ) = W p q ( k ) + η δ q ( k ) y p ( k ) 式中 W p q 由中间层结点p或输入p到结点q的权值， y p 为结点p的输出或结点q的输入， η 为训练速率，一般取0.01~1。 ⑦返回②重复进行 3.1.3. 模型的分析 STEP1：确定神经网络中的隐层节点数 根据以上的算法流程，利用Matlab编写BP神经网络算法程序。网络的输入和输出节点数是由实际问题决定的，与网络性能无关。而隐层节点数L利用下面的经验公式来确定： L = 0.43 n m + 0.12 m 2 + 2.54 n + 0.77 m + 0.35 + 0.51 (4.1) 其中，n、m分别为输入节点数目与输出节点数目。 代入数据，可得信誉评分含有3层网络，第一层有2个输入神经节点，第二层有3个隐层神经元，第三层有1个输出神经节点；信贷风险评分含有3层网络，第一层有10个输入神经节点，第二层有6个隐层神经元，第三层有1个输出神经节点。 STEP2：处理后的指标代入程序，预测本次借贷行为各企业的信誉评分和信贷风险评分 将附件1中违约记录“是”和“否”分别赋值1和0，连同企业实力、供求关系稳定性、信誉的其余9个因素代入程序。 预测和已知信贷风险评分对比如图6所示。 图6. 预测和已知信贷风险评分对比 因为违约与否是由企业各项指标如信誉、实力等影响而导致的结果，所以我们把程序中输出的违约状况数值作为银行对该企业信贷风险的评分。 将附件1中企业的信誉评级A，B，C，D分别赋值评分100，80，60，40，连同影响信誉的进项发票中负数发票率、进项和销项平均作废发票率2个因素代入程序。预测和已知信誉评分对比如图7所示。 根据预测输出信誉评分结果，将企业信誉评级依据评分划分区间，如表3所示。 Table 3 Credit rating divisio 信誉评分 信誉评级 [ 80 ， + ∞ ) A [ 60 ， 80 ) B [ 40 ， 60 ) C ( − ∞ ， 40 ) D 表3. 信誉评级划分 图7. 预测和已知信誉评分对比 数理统计中均方误差是指参数估计值与参数真值之差平方的期望值，记为mse。mse是衡量“平均误差”的一种较方便的方法，mse可以评价数据的变化程度，mse的值越小，说明预测模型描述实验数据具有更好的精确度。信贷风险评分和信誉评分的均方误差分别如图8和图9所示。 图8. 信贷风险评分的均方误差 图9. 信誉评分的均方误差 由Best指标可看出，信贷风险评分和信誉评分在训练次数分别达到最大值即89，258和99，985次时，均方误差最小，为0.05和0.33，数值均较小，此次预测精确度较高。 STEP3：分析企业的信贷风险，决定是否提供贷款 由附件1数据可得信用评级为D的企业全部具有违约记录，我们规定企业信贷风险评分大于等于0.5时违约，小于0.5时不违约。由于已有违约记录和信贷风险评分大于等于0.5的企业无法还款的风险过大，因此不予考虑发放贷款。 STEP4：确定贷款额度分配方案 从模型对企业的信贷风险评分结果可看出，在10个影响因素的作用下，每个企业得出的评分各不相同。将每个企业的信贷风险评分和所有企业信贷风险评分总和之比作为每个企业的信贷风险比例，即 γ i = X i ∑ i = 1 123 X i (4.2) 在贷款总额固定的情况下，银行依据信贷风险比例决定分配方式。企业的信贷风险评分越小，给予越大的贷款额度。每个企业得到的额度占总额的比例为： ∂ i = 1 − X i ∑ i = 1 123 X i ∑ i = 1 123 ( 1 − X i ∑ i = 1 123 X i ) (4.3) 其中， X i 表示第i个企业的信贷风险评分， γ i 表示第i个企业的信贷风险比例， ∂ i 表示在贷款总额固定时，第i个企业的分得的额度比例。 STEP5：确定贷款利率分配方案 用Matlab分别得出附件3中信誉评级为A，B，C企业贷款年利率和客户流失率的拟合关系式及关系图，分别如图10、图11、图12所示。 图10. 信誉A级企业年利率与客户流失率关系图 图11. 信誉B级企业年利率与客户流失率关系图 图12. 信誉C级企业年利率与客户流失率关系图 其中，x表示贷款年利率，客户流失率 ε 可表示为x的二元一次方程。不同评级的方程分别如下： 信誉评级为A： f ( x ) = − 76.41 x 2 + 21.98 x − 0.6971 (4.4) 信誉评级为B： f ( x ) = − 67.93 x 2 + 20.21 x − 0.6504 (4.5) 信誉评级为C： f ( x ) = − 63.94 x 2 + 19.57 x − 0.6393 (4.6) 1) 只考虑信誉评级，不考虑影响信贷风险的其他因素时 将企业按不同评级分为3类，则银行的净收益W为 W = W 1 + W 2 + W 3 (4.7) 其中， W 1 ， W 2 ， W 3 表示银行在评级A，B，C类企业中各自获得的净收益。 可得 W 1 = M 1 × x × ( 1 − ε ) × N 1 (4.8) W 2 = M 2 × x × ( 1 − ε ) × N 2 (4.9) W 3 = M 3 × x × ( 1 − ε ) × N 3 (4.10) ε = f ( x ) (4.11) 其中， M 1 ， M 2 ， M 3 为银行为A，B，C评级的企业各自的放贷总额，在上一步中我们已经制定好银行对每个企业的贷款额度分配策略，而放贷总额固定，因此 M 1 ， M 2 ， M 3 为已知量； N 1 ， N 2 ， N 3 为A，B，C评级的企业数量，在附件1中已知为19，70，6。因此，我们只需求出A，B，C评级各自对应 x × ( 1 − ε ) 中x的局部最大值，即可得到银行净收益W的最大值；此时，3个评级对应的3个年利率即为银行的利率分配结果。 把数据代入Matlab可得，A，B，C对应的x最大值分别为0.0541，0.0575和0.0589， x × ( 1 − ε ) 的图像分别如图13、图14、图15所示。 图13. 信誉A级企业 x × ( 1 − ε ) 图像 图14. 信誉B级企业 x × ( 1 − ε ) 图像 图15. 信誉C级企业 x × ( 1 − ε ) 图像 2) 考虑影响信贷风险的其他因素，根据企业的具体情况进行利率的调整 根据中国人民银行官网中各商业银行的流动资金贷款利率，按照中国人民银行总行规定的可上浮20%、下浮10%的浮动幅度，依据产业政策、企业状况、信用评估后效益等级确定实行有差别的浮动利率。因此我们确定利率优惠的范围为[−10%， 20%]。然后代入上一步求得的最优解，得到三个评级经调整后相应的利率x的取值范围如表4所示。 Table 4 Annual interest rate range for each credit ratin 信誉评级 年利率取值范围 A [0.04869， 0.06492] B [0.05175， 0.0690] C [0.05301， 0.07068] 表4. 各信誉评级的年利率范围 以信贷风险评分为自变量，利率为因变量，建立与3个评级相对应的一元一次线性方程： x = k X + b 此方程表示利率在企业信誉的基础上，依据其信贷风险进一步调整。 由Matlab计算可得，A级企业的信贷风险范围为[−0.14， 0.41]，B级企业的信贷风险范围为[−0.17， 0.22]，C级企业的信贷风险范围为[−0.06， 0.02]。 将两端点坐标代入公式，可确定系数k和b的值。得到A， B， C级对应的方程为： A级： x = 0.03 ∗ X + 0.05 (4.12) B级： x = 0.05 ∗ X + 0.06 (4.13) C级： x = 0.23 ∗ X + 0.07 (4.14) 由以上方程，银行将企业的信贷风险评分代入该信誉评级相对应的方程，即可得出对该企业的利率分配策略。最终对95家企业发放贷款，依据题目所给条件，每家企业贷款额度为10~100万元，年利率均在4%~15%间，贷款期限均为1年。部分企业信贷策略如表5所示。 Table 5 Credit strateg 企业代号 贷款额度占比 年利率 E1 0.010637 0.052884 E7 0.010411 0.053602 E15 0.010463 0.053436 … … … E90 0.010733 0.06394 E105 0.010736 0.063879 E110 0.01046 0.070677 表5. 信贷策略 3.2. 实例预测 对于搜集的302家企业的信贷风险进行量化分析，在银行在年度信贷总额为1亿元时对这些企业的信贷策略。数据代入建立的信贷风险模型，预测所给企业的信誉评分和信贷风险评分(违约状况)，决定是否放贷；最后根据信贷风险评分和信誉评分进行贷款额度和利率的决策。 STEP1：将所给数据代入BP神经网络模型，预测企业的信誉评分和信贷风险评分 附件2相比较附件1缺少了信誉评级和违约状况的数据。通过在问题1中的学习并用梯度下降法进行训练，设定学习速率和最大训练轮回，然后利用训练好的BP网络对新数据进行仿真，得出信贷风险评分和信誉评分的预测值。预测的信贷风险评分和信誉评分分布如图16、图17所示。 根据问题1中信誉评分与评级的规则，将预测的各个企业的信誉评分转化为相应的信誉评级，信誉评级A， B， C等级的企业分别有47， 163， 12个。 STEP2：分析企业的信贷风险，决定是否提供贷款 根据预测的信贷风险评分，分值大于等于0.5的企业违约风险过大，因此我们将这些企业剔除，不予放贷。 STEP3：确定贷款的额度分配 将本题中预测的信贷风险评分代入问题1制定的贷款额度分配方案，得到银行分给每个企业的额度比例。而本题中给出了该银行在年度信贷总额为1亿元，因此我们可以得出每个企业分得的额度具体金额，即 E i = 1 × 10 4 × ∂ i (4.15) ∂ i = 1 − X i ∑ i = 1 123 X i ∑ i = 1 123 ( 1 − X i ∑ i = 1 123 X i ) (4.16) 其中， ∂ i 表示第i个企业的分得的额度比例， X i 表示第i个企业的信贷风险评分， E i 是第i个企业分得的额度具体金额。 图16. 问题2信贷风险评分预测 图17. 问题2信誉评分预测 STEP4：确定贷款的利率分配 由于附件3中年利率与客户流失率的关系对附件1， 2具有普适性，因此问题1所得的年利率与客户流失率的拟合方程以及三个信誉评级下对应的年利率最大值在本问中依然适用。我们通过Matlab计算可以得到附件2中A级企业信贷风险评分的范围为[−3.66， 0.34]，B级企业信贷风险评分的范围为[−3.25， 0.50]，C级企业信贷风险评分的范围为[−0.10， 0.46] 以信贷风险评分为自变量，利率为因变量，将两端点坐标代入问题1中建立的线性方程 x = k X + b ，确定系数k和b的值。得到A、B、C级对应的方程如下： A级： x = 0.004 ∗ X + 0.064 (4.17) B级： x = 0.005 ∗ X + 0.067 (4.18) C级： x = 0.032 ∗ X + 0.056 (4.19) 由以上方程，银行将企业的信贷风险评分代入该信誉评级相对应的方程，即可得出对该企业的利率分配策略。根据题目所给的额度和利率范围，预测年利率小于4%的企业按4%计算，预测年利率大于15%的企业按15%计算，预测贷款额度小于10万元的企业按10万元计算，预测贷款额度大于100万元的企业按100万元计算。贷款期限均为1年。部分企业信贷策略如表6所示。 Table 6 Credit strateg 企业代号 贷款额度占比 贷款额度(万元) 年利率 E130 0.004774 47.7373 0.06327 E138 0.004418 44.1771 0.063594 E139 0.004227 42.2691 0.063767 … … … … E407 0.004467 44.6717 0.066206 E408 0.003586 35.8610 0.111623 E417 0.004433 44.3318 0.067958 表6. 信贷策略