刘久彪
(天津财经大学金融学院,天津 300222)
在商业银行内部评级系统开发过程中,准确地设定主标尺、划分信用等级或者风险分栏具有特别重要的实践意义。依据评级主标尺,每个经模型评分的借款人被归类到特定的信用等级,同一等级的借款人统一被赋予相同的违约概率,称为池化违约概率[1]。商业银行基于信用等级和池化违约概率进行信贷审批、差异化贷款合同(如执行利率等),以及计算匹配自身风险程度的资本要求、相应的经济资本配置等[2]。
我国商业银行内部评级体系的建立从公司客户起步,设计主标尺的一个重要考虑是满足公司客户的评级分布需要。这样很容易造成在设计主标尺时其他组合被忽略,如没有考虑主权、金融机构客户评级分布的需要[3]。完成这些组合的模型开发后会发现,对原来基于公司客户违约风险分布设计的主标尺中高等级客户细分不够,高等级段越来越拥挤,导致某些级别客户数量集中度不断提高,接近甚至超过监管规定的30%上限[4]。和国际同业相比,我国商业银行将低违约概率区间(0%~0.5%)仅划分为2~3级,而国外同业明显更高,过粗的区间划分会高估主权、金融机构、特大型企业客户的违约风险,导致内评法下计算的风险加权资产高于权重法,给内部评级体系的全面推广和使用造成障碍[5]。因而,设定最优主标尺成为诸多商业银行实践最佳风险管理的基础和关键步骤之一。
本文应用均值聚类方法设计优化商业银行内部评级主标尺,同时引入差分进化算法改善运算速度[6],以期能够满足更小间隔尺寸的求解需要。由于信用评级分布固有的离散属性,要求足够的间隔尺寸(粒度)与适度的(池化引起的)模型风险,两者之间必须是平衡的,此种方法对有较大规模样本数据支持的情况可以显著提高风险管理的精度。
违约概率估计和主标尺优化是商业银行内部评级中紧密相关、相互促进的两个步骤,目前对于前者的研究较为深入,而对后者的关注较少。
关于违约概率的估计,Angelini等开发了一个前馈神经网络进行信用风险评估,用意大利小型企业真实数据测试发现,其可以非常成功地学习和估计借款人的负债/违约倾向[7]。葛美玲等筛选40家上市公司作为研究样本,构建了基于15个财务指标的Logistic回归模型,对我国企业的信用风险进行预测分析[8]。肖斌卿等以某农商银行微观信贷数据为样本,应用模糊神经网络开展小微企业信用评级,实证结果表明,该方法具有较BP神经网络模型更高的检测精度和稳健性[9]。石宝峰等结合PROME-THEE-II(偏好顺序结构)和聚类分析方法,构建了商户小额贷款信用评级模型,并对我国某国有商业银行2 157个商户小额贷款样本进行了实证[10]。马晓君等采用数据分割方式,将人工蜂群算法优化支持向量机应用于我国上市公司信用评级,结果显示,其较传统支持向量机算法,评级准确率显著提高了5%~7%[11]。
关于信用等级划分和主标尺的设定,Foglia等归结信用评级为聚类问题,认为主标尺设计实际上是一个带有不同约束条件的多目标优化问题[12]。Thiemo等对2003年某意大利商业银行的11 995个中小企业客户的样本数据,使用均值聚类方法分别确定了误差最小化的7个、10个和15个风险分栏[13]。Alexander以默顿方法估计一个风险中性距离违约指标,将其与财务比率等会计指标一起作为解释变量,采用有序probit回归建立了一个信用评级混合模型[14]。章善云根据上市公司的财务特征指标,使用模糊动态聚类模型对所选样本企业进行信用评级和风险分类[15]。曹劲将主标尺设定与模型校准相结合,构建了从中心违约趋势出发、从映射函数出发和从债务人评级分布出发三种工作方案[16]。整体上,国内外此方面的研究仍十分薄弱,代表性的成果比较少。
商业银行主标尺是由所有划定的信用等级及其对应的违约概率区间组成的评级标识,每个评级标识都有相应信用风险的定性描述,形成覆盖所有资产组合的校准违约概率与具体等级之间的映射关系[17]。
主标尺是信用风险内部评级体系的重要基础,监管机构对主标尺提出了明确要求。巴塞尔银行监管委员会发布的《统一资本计量和资本标准的国际协议:修订框架》明确要求,结合相关的业务实际,主标尺应具备以下基本特征:
(1)主标尺应以债务人真实或者模型校准的违约概率为标准划分,分布要合理,不能过于集中,级别应按照债务人违约概率的大小排序,确保对信用风险的有效区分。
(2)主标尺应涵盖商业银行所有类型资产的整体风险范围,应将违约概率连续且没有重叠地映射到信用等级。
(3)信用等级的划分应足够精细到可以分辨不同的风险状态,至少设置7个非违约级别和1个违约级别。
(4)相邻信用等级的违约概率数值不能变化过大,各个违约概率区间的跨度(即上、下限差值)应该是单调的,且最好是按几何级数方式增加。
(5)违约概率映射要照顾商业银行现有的评级和客户分布,不能显著偏离[18]。银行保险监督管理委员会发布的《商业银行资本管理办法(试行)》沿用国际监管规则的同时,也明确客户不应过于集中在单个信用等级,每个等级的客户数目不应超过客户总数的30%。
建立主标尺应该满足客观性、独立性、统一性和稳定性的要求。客观性是指主标尺只是违约概率与信用等级之间客观对应,独立性是指不同商业银行的主标尺可以不同,统一性是指全行的主标尺尽量统一,稳定性是指除非客户群和环境发生重大变化,主标尺一般不宜频繁变动[19]。实践中,商业银行针对不同产品条线、各类资产组合分别开发风险模型,并校准模型到所谓的“真实”违约概率。然后,按照主标尺定义的违约概率尺度确定信用等级,每个等级的长期中心违约趋势设为“池化”违约概率,同一信用等级被赋予相同的违约概率“估计”。一方面,主标尺将风险模型和信用等级、违约概率连接起来,客户的相对“好”“坏”可以通过违约概率的数值差异体现出来。另一方面,统一的对比尺度使不同资产组合的风险比较成为可能,实现了对非零售客户违约风险的区分,从而奠定了统一的风险计量基础。
主标尺的构成要素主要包括由字母或数字表示的信用等级、评级标识和相应的违约概率区间。作为一个相对独立的工作环节,主标尺的设计过程即是确定信用等级数目、每个等级对应的违约概率上限值、下限值和区间代表值的过程。其中,违约概率区间的代表值表示信用等级的整体违约概率,即池化违约概率,其反映了商业银行处于该等级客户的长期平均违约率,也是最终计算风险加权资产的违约概率值[20]。
为设计合格的商业银行内部评级主标尺,Thiemo等总结三种方法[13]:
(1)利用历史违约率作为未来违约概率的替代。该方法要求商业银行具有每个信用等级或风险分栏在数年内(如3~10年)的年度违约率记录,据此计算每一等级的平均违约率作为整体违约概率,或称池化违约概率的估计值。该方法直观上看起来非常有吸引力,但如果评级系统是新设计、或者最近重新设计过的,又或使用者对评级系统的要求较高,那么实际上是没有这种方法要求的历史数据集合可用。
(2)外部评级映射。该方法的基本思想是根据与外部评级系统的相似性,将其作为商业银行内部评级主标尺设计和优化的重要参照和起点,如参照标准普尔、穆迪等大型评级机构的标尺确定自己的风险分栏和池化违约概率,而通过确保商业银行遵循外部评级机构公布的一系列定义和准则便可得到这种相似性。一旦设定了商业银行内部评级与某个外部评级的对应关系,基于后者过去的评级和违约数据集合,就能比较容易地计算出各个等级的整体违约概率,并将这些池化违约概率指定给内部评级系统的各个风险分栏。
尽管这种方法简单而吸引人,且可以利用外部评级数据计算出长期的违约频率,但这种方法也存在许多令人关注的问题,如其准确性取决于内部评级与外部评级的评级原则的相似程度。总体上,映射评级必须建立在两个评级系统可相互比较的基础上。
(3)聚类优化方法。聚类的指导思想是按照某个特定标准(如距离准则)把一个数据集合分割成不同的类或簇,使同一簇内数据对象的相似性尽可能大,而不在同一簇中的数据对象的差异性也尽可能大。或者说,同类数据尽可能聚集,不同类数据尽量分离。这与设计评级标尺的考虑是一致的:一个合适的评级标尺既要保证不同等级借款人之间的差异最大,又要确保同一等级借款人之间具有最大的相似性。
由于信用评级也可视为按照样本信用水平进行的分类,商业银行评级主标尺设计可看成一个借款人信用等级最优划分的聚类问题,采用基于误差统计量的均值聚类算法求解,该算法的目标是在一定的约束条件下,寻找所有借款人的最优分割,使得所有信用等级(或风险分栏)内的误差之和最小,即各借款人估计的违约概率与其相关的整体违约概率(即池化违约概率)之差的平方和的最小值,如(1)式条件优化式:
其中,k=1,…,K,k表示信用等级,K为信用等级总数,Nk表示等级k中的债务人数目,N表示所有等级的债务人总数表示等级k的池化违约概率,PDi表示借款人i的“真实”或模型校准违约概率,Ei,k表示等级k中债务人i的风险暴露,ETotal表示商业银行总风险暴露。
该方法具有含义明确、简单实用和效率较高的优点,Foglia利用其确定了意大利公司在1995—1998年大型样本的7个、10个和15个风险分栏。但是,该方法需要事先指定k值,不适用于最优k值未知情况下的求解,且严重依赖于初始聚类中心的选取,导致算法的聚类结果稳定性较差,容易陷于局部最优,而非全局最优。本文拟采用差分进化算法对传统的均值聚类进行改善,将前者的全局优化能力结合到后者的局部搜索和实用高效操作之中,可望取得较好的聚类效果,为商业银行内部评级主标尺的设计提供一种更为优异的可选方法。
采用均值聚类算法求解条件约束优化(1)式,具体过程如下:
(1)设定信用等级数目为K,随机选取K个初始聚类中心PD1,…,PDk;
(2)计算各数据点PDi与各聚类中心PDk距离的大小,以最小为原则聚类;
(3)计算聚类准则函数,即(1)式的目标函数;
(4)判断聚类准则函数是否收敛,若收敛停止计算并输出结果。否则,重新选取聚类中心进行最小距离原则的聚类,直至收敛。
应用差分进化改进均值聚类算法主要体现在上面步骤(4)中,应用差分进化重新选取聚类中心,而不是按照固定长度的循序增减或牛顿梯度法等具有明显不确定性的选取方法。若基于随机选取的聚类中心计算出的聚类准则函数(1)式不收敛,则执行差分进化算法的变异、交叉、选择操作,获得更优的聚类中心。
对于第G代准则函数不收敛的每个聚类中心PDk,G,k=1,…,K,差分进化算法具体步骤如下。
4.2.1 变异操作
作为父代群体变量,选择与其距离最近的个体作为父代差分变量,按(2)式生成变异个体uk,G:
其中,F为缩放因子,G为当前种群的代数。
4.2.2 交叉操作
变异后的个体uk,G和种群的当前个体PDk,G进行交叉操作,生成K维中间交叉检验个体,设为vk,G其交叉检验式如(3)式:
其中,rand(0,1)是(0,1)间服从均匀分布的随机数,CR∈(0,1)是交叉概率,一般在0.3~0.9之间取值,r为{1,…,K}上的一个随机整数。
4.2.3 选择操作
定义适应度函数f(X)为(4)式:
其中,X=(x1,…,xk)为进行适应度检验的聚类中心向量,PDi,i∈k为按照距离大小原则聚类到k类的任一样本为k类样本的平均违约概率。
采用上面的均值聚类算法,分别计算当前进化个体和中间交叉试验个体作为聚类中心的适应度值。按照最小化求解原则,适应度函数值更小的个体才有可能进入下一代种群中继续进化。
4.2.4 算法终止
定义经过选择操作的适应度函数值小的聚类中心为PDk,G+1,判断其聚类准则函数是否收敛,若收敛停止计算并输出结果。否则,重新回到变异操作选取聚类中心进行最小距离原则的聚类,直至收敛。
某商业银行在内部评级系统开发过程中,由于当时缺乏相关经验,参照某外部评级进行了“四等十级”的等级划分,并通过映射方法相应地构建了信用评级主标尺,具体如表1。
表1 某商业银行内评初期的信用等级设置和主标尺
经过一段时间的试运行,该商业银行积累了更多的评级经验和违约数据。同时,也认为这种传统的十级划分对客户的区分程度不高,不利于精确计算资本要求,最终会影响风险管理的效果,因而需要进一步细化原有的风险分栏。为此,该商业银行首先整理了新积累的10 000个对公客户样本数据,其中部分列表见表2。
表2 某商业银行部分对公客户的内评结果和履约状况
基于新积累的样本数据,该商业银行将内部评级系统细化为14级,并采用基于差分进化的均值聚类算法设计符合自身业务实际的主标尺。其中,缩放因子F取0.5,交叉概率CR取0.1,最大进化迭代次数设为1 000,运用Matlab仿真求解新的聚类中心,以此得到新的信用等级设置的主标尺,如表3所示。
表3 某商业银行优化后的信用等级设置和主标尺
验证每一信用等级的违约概率是个十分重要的步骤,其直接决定监管资本计算的准确性,监管要求使用内部评级的商业银行必须实施比较违约概率估计与违约率观察值的检验。目前,Brier评分是最常用的单个时期全部等级检验的统计量,其定义为一组事件的预测概率与事件结局偏差的平方均值。在已知验证样本中,由每个借款人的预测违约概率和其实际信用结果偏差的平方均值产生,取值在0与1之间,缩写为BS:
其中,yi为借款人i的违约指示变量,违约时取1,履约时取0;PD(i)为借款人i的预测违约概率,N为样本中借款人数。
假设评级系统的信用等级个数为K,当任意借款人i(i=1,…,N)被指定为等级k(k=1,…,k)时,PD(i)=PDk表示所有评级的预测违约概率与实际结局偏差的平方均值。BS可计算为(6)式:
其中,PDk为k级借款人的预测违约概率,Nk为k级借款人数,Nk,y=1为k级借款人中违约的个数,pk=Nk,y=1/Nk是k级借款人的实际违约率。
若评级系统预测违约借款人的违约概率高,则预测履约借款人的违约概率低,也就是说,每个等级的PDk与Pk越接近,则整个系统的BS值越小。一般说来,其他条件保持不变,BS值越接近零,违约概率预测的质量越好;BS越高,评级系统的性能越差。
对上面某商业银行具体实例检验评级优化的效果,将表2示例全部10 000个对公客户的内部评级结果分别映射到表1所示的原评级系统和表3所示的优化后评级系统,根据客户的履约状况,分别结合两个评级系统各个等级的违约概率估计和违约率观察值,应用公式(6)计算其BS值,结果见表4。
从表4中计算结果可见,经相同的样本数据检验,相比原评级系统,优化后的评级系统具有更低的BS值。这表明,通过对原评级系统中部分借款人分布较为集中的信用等级(如AA级、A级)细分为AA+、AA、AA-、A+、A和A-,并应用本文建立方法优化相应的主标尺设计,得到新的评级系统违约概率预测的质量更好,而这会通过监管资本要求显著地提高内部评级系统的风险敏感性,从而提高商业银行的风险管理效率。
表4 原评级系统和优化后评级系统的BS值计算比较
本文研究商业银行内部评级主标尺的最优化设计,结合均值聚类优化方法和差分进化算法设计商业银行内部评级的主标尺,可以获得更高的运算速度,进而满足细分信用等级、更小间隔尺寸的求解需要。基于每个信用等级的预测违约概率与其实际违约率之间偏差计算BS值,可以检验信用评级系统违约概率估计的准确性,满足商业银行内部评级的监管要求。借助较大规模样本数据支持,适度地细分主标尺能够提高内部评级校准精度,进而通过监管资本要求显著地提高内部评级系统的风险敏感性,提高商业银行的风险管理效率。
判断主标尺设计是否合理的指标需要模型预测能力的持续表现,包括模型的辨别力、准确性、审慎性和稳定性四个维度。通过监控和验证各类客户评级结果在主标尺各个等级上的预测表现,可以发现主标尺可能存在的缺陷。主权和金融机构都属于低违约组合,违约样本少,评级模型的日常监控和验证都要依赖外部评级结果,把外部评级结果作为内部评级结果的基准。在这种方法下,必然要求商业银行设计的主标尺和外部评级能有对应关系。如果主标尺设计没有考虑到低违约组合的特征,就会出现一个内部等级对应多个外部等级的情况,难以采用基准方法判断模型的预测能力。目前除了基准测试外,业界尚没有更好的方法对主权和金融机构实施日常监控和验证。在基准测试的实践中,如果辨别力指标隐含和衡量准确性的匹配指标表现较差,则主标尺中低违约概率段的划分很可能存在问题。返回测试中如发现各个等级预测违约率和实际违约率的差异无法通过审慎性或准确性检验,可能是主标尺划分过细、有些等级的违约样本数量不足所致。
实践中,有些商业银行还会出于各种原因,在内部设立子标尺,通过子标尺映射到主标尺来实现并表层面的资本计量。由于子标尺违约概率刻度划分不能与主标尺刻度划分完全对应,并表层面的监管资本计算精确程度会受到影响。这还容易导致管理上的混乱,适用子标尺的非零售客户和适用主标尺的非零售客户信用风险无法直观地比较,增加了内部管理多个标尺的成本。在主标尺使用过程中,可以根据原有主标尺问题的性质不断进行优化。一是根据历史的评级结果和每个等级非零售客户的违约状况,重新规划主标尺刻度。二是更多地考虑原有主标尺的延续性,将原标尺比较集中的等级区间,按照预想的等级数目和对数等距原则进行重新划分。
商业银行内部评级法获得监管机构批准后,信用评级主标尺对业务拓展、风险管理、资本计算、信息披露等领域都会产生实质性影响。在内评体系开发阶段,其就应立足于建立适合自身资产特点的主标尺,并努力保持主标尺的稳定性。特别是在外部宏观经济环境明显变化阶段,将主标尺的适用性与模型表现的日常监控、持续验证紧密联系起来,更容易发现主标尺设计的潜在不足。一旦确认主标尺存在明显缺陷,应立即启动优化工作。为了更加精确地预测风险,主标尺优化工作应与违约概率模型优化工作紧密结合起来。还需要做好结果测试和全面影响分析,对于主标尺变化导致的评级结果变化的合理性,及其对监管资本的影响,应及时向监管机构报告,并邀请监管机构实施现场检查。