主要内容

基于Cox比例风险的违约概率建模

这个例子说明了如何与消费者(零售)信贷面板数据的工作在不同层次可视化违约的概率观测(PDS)。它还说明了如何以适合Cox比例风险(PH)模型,也称为Cox回归,来预测的PD。此外,它显示了如何执行压力测试分析,如何寿命的PD建模,以及如何计算寿命预期信用损失(ECL)的值。

这个示例使用fitLifetimePDModel从风险管理工具箱™,以适应考克斯PH值模型。虽然相同的模型可以使用fitcox的,默认生存期概率(PD)版本考克斯模型是为信用申请而设计的,支持条件PD预测、寿命PD预测和模型验证工具,包括判别图和精度图。金宝app

一个类似的例子,使用面板数据对消费者信贷违约概率的压力测试,遵循相同的工作流,但它使用物流回归模型代替考克斯模型。这两种方法的主要区别是:

  • 模型拟合- - -考克斯PH模型有一个非参数基线风险率,它比完全参数模型更能匹配PDs中的模式物流模型。

  • 超出数据中观测年龄的外推-考克斯由于PH模型建立在非参数基线危险率之上,需要额外的规则或假设来推断数据集中没有观察到的贷款年龄。例如,请参见用Cox寿命PD模型预测条件PD.相反,物流模型将贷款年龄视为连续变量;因此,一个物流模型可以无缝推断以预测在数据集中未观察到的年龄的PD。

使用生存分析工具进行数据探索

从某些数据可视化开始,主要是PDS的可视化作为年龄的函数,在此数据集中与多年同样相同(yob)。因为考克斯PH是一个生存分析模型,本例讨论了一些生存分析工具和概念,并使用了经验累积分布函数(ecdf)用于一些计算和可视化的功能。

主要数据集(数据)包含以下变量:

  • ID:贷款标识符。

  • ScoreGroup:贷款开始时的信用评分,离散为三组,高风险中等风险低风险

  • YOB:书上的岁月。

  • 默认的:默认指标。这是响应变量。

  • :日历年。

还有一个小的数据集(dataMacro)对于包含以下变量的相应日历多年的宏观经济数据:

  • :日历年。

  • 国内生产总值:国内生产总值增长(同比)。

  • 市场:市场收益率(年同比)。

变量YOB国内生产总值市场在相应日历年结束时进行观测。这个ScoreGroup是贷款开始时原始信用评分的离散化。的值1默认的表示该贷款在相应的日历年度违约。

第三个数据集(dataMacroStress)包含宏观经济变量的基线、不利和严重不利情景。这压力测试分析在本例中,使用此表。

加载模拟数据。

负载RetailCreditPanelData.matDISP(头(数据,10))
ID ScoreGroup YOB违约年份低风险1 0 1997 1低风险2 0 1998 1低风险3 0 1999 1低风险4 0 2000 1低风险5 0 2001 1低风险6 0 2002 1低风险7 0 2003 1低风险8 0 2004 2中等风险1 0 1997 2中等风险2 0 1998

对面板数据进行预处理,使其符合生存分析工具所期望的格式。

%使用groupsummary将数据减少到每行一个ID,并跟踪%贷款是否违约。dataSurvival = groupsummary(数据,“ID”“总和”'默认');DISP(头(DataSurvival,10)))
ID GroupCount sum_Default __ __________ ___________ 1 8 0 2 8 0 3 0 8 4 6 0 5 7 0 6 7 0 7 8 0 8 6 0 9 7 0 10 8 0
你也可以从YOB中得到观测到的年份,尽管在本例中,YOB总是从1%开始在数据中,所以GroupCount等于最终YOB。dataSurvival.Properties.VariableNames {2} ='YearsObserved';dataSurvival.Properties.VariableNames{3}='默认';%如果没有默认值,则它是经过审查的观察结果。dataSurvival。审查=~dataSurvival.Default; disp(head(dataSurvival,10))
ID yearsobobserved Default Censored __ _____________ _______ ________ 1 8 0真2 8 0真3 8 0真4 6 0真5 7 0真6 7 0真7 8 0真8 6 0真9 7 0真10 8 0真

主要变量是观察每笔贷款的时间(YearsObserved),这是书上年份的最终价值(YOB)变量。观察的这一年是直到违约的年数,或直到观察期结束(8年),或直到贷款由于提前支付从样本中删除。在这个数据集中YOB信息与贷款的年龄相同,因为所有贷款都以a开头YOB1.对于其他数据集,这种情况可能是真的。例如,在交易组合中,YOB年龄可能不同,因为在第三年购买的贷款有一个年龄3.,但YOB值为1。

第二所需变量是终检变量(审查).在这个分析中,利息事件就是贷款违约。如果一笔贷款一直观察到违约,那么您就有了关于违约时间的所有信息。因此,生命周期信息是不受审查的或完整的。或者,如果在观察期结束时贷款没有违约,则认为信息被审查或不完整。该贷款不可能违约,因为它是预付的,或者该贷款在样本的8年观察期结束时没有违约。

添加ScoreGroup优质的信息到数据。这些变量的值在贷款的整个生命周期内保持不变。在起始时给出的分数决定了ScoreGroup而起源年份决定了优质的或队列。

你可以从YOB==1中得到ScoreGroup,因为在这个数据集中,% YOB总是从1开始,并且ID的顺序在data和中是相同的%dataSurvival。dataSurvival。ScoreGroup=数据。S.C或eGroup(data.YOB==1);根据贷款开始的年份确定年份。所有贷款%的这组数据在他们的生活1年开始。datasurvival.vintage = data.year(data.yob == 1);DISP(头(DataSurvival,10)))
ID YearsObserved默认截尾ScoreGroup老式__ _____________ _______ ________ ___________ _______ 1 8 0真低风险1997 2 8 0真中等风险1997 3 8 0真中等风险1997 4 6 0真中等风险1999 5 7 0真中等风险1998 6 7 0真中等风险1998 1997 7 8 0真中等风险1997 8 6 0真中等风险1999 9 7 0真正低风险1998 10 8 0真低风险

比较原始数据集(面板数据格式)和聚合数据集(更传统的生存格式)的行数。

fprintf('原始数据的行数:%d\n',高度(数据));
行数原始数据:646724
fprintf('存活数据的行数:%d\n'高度(dataSurvival));
存活数据的行数:96820

使用经验累积分布函数来绘制对整个投资组合(所有分数组和葡萄酒)的累积违约概率(ecdf).

ecdf (dataSurvival。YearsObserved,“截尾”, dataSurvival。审查,“边界”“上”) 标题(“所有得分组的累计违约概率”)xlabel(“年书”

图中包含一个轴对象。标题为“累积默认概率”的轴对象,所有得分组包含3个楼梯类型的对象。

对YOB策划有条件的一年pd。例如,有条件的一年PDYOB属于3.是有条件的一年期PD,适用于生命第三年的贷款。在生存分析中,这个值与离散风险率一致,用表示H,因为某一特定年份的违约数量就是“失败”的数量,而同年年初帐面上仍然存在的贷款数量与“处于风险中的数量”相同。来计算H,得到累积风险函数输出,表示为H,并将其转换为风险函数H。有关详细信息,请参阅Kaplan-Meier方法

[H,x]=ecdf(数据生存年),“截尾”, dataSurvival。审查,...“函数”“累积风险”);%取H的差值得到危险值H。h = diff (h);x (1) = [];在这个例子中,观察到的时间(存储在变量x中)没有改变%不同的分数组,或训练与测试集。对于其他数据集,%您可能需要在每次调用ecdf函数之后检查x和h变量%绘制或连接结果。(例如,如果数据集没有默认值%测试数据的特定年份。)积(X,H,'*'网格)在…上标题(“有条件的一年期PDs”)伊拉贝尔(“PD”)xlabel(“年书”

图中包含一个Axis对象。标题为“有条件的一年PDs”的Axis对象包含一个line类型的对象。

你也可以直接用groupsummary使用原始面板数据格式。有关详细信息,请参阅配套例子,使用面板数据对消费者信贷违约概率的压力测试.或者,你可以用grpstats使用原始面板数据格式。这两种方法都提供相同的一年有条件pd。

PDvsYOBByGroupsummary = groupsummary(数据,'yob'“的意思是”'默认');PDvsYOBByGrpstats = grpstats (data.Default data.YOB);PDvsYOB =表((1:8)、h、PDvsYOBByGroupsummary.mean_Default PDvsYOBByGrpstats,...“VariableNames”,{'yob'“ECDF”“组摘要”'Grpstats'});disp (PDvsYOB)
YOB ECDF Groupsummary Grpstats ____________ ____________ _________ 1 0.017507 0.017507 0.017507 2 0.012704 0.012704 0.012704 3 0.011168 0.011168 0.011168 4 0.010728 0.010728 0.010728 5 0.0085949 0.0085949 0.0085949 6 0.006413 0.006413 0.006413 7 0.0033231 0.0033231 0.0033231 8 0.0016272 0.0016272 0.0016272

将数据按ScoreGroup把警局分拆出来ScoreGroup

ScoreGroupLabels =类别(dataSurvival.ScoreGroup);NumScoreGroups =长度(ScoreGroupLabels);hSG = 0(长度(h)、NumScoreGroups);II = 1:NumScoreGroups Ind = DataSurvival.ScoreGroup == Tasegrouplabels {II};H = ECDF(DataSurvival.Yearsobserved(Ind),“截尾”,datasurvival.censored(Ind));HSG(:,ii)=差异(h);结束图(X,HSG,'*'网格)在…上标题(“有条件的一年PDs,按分数组”)xlabel(“年书”)伊拉贝尔(“PD”传奇(ScoreGroupLabels)

图中包含一个轴对象。轴对象的标题条件一年制pd,由分数组包含3个对象的类型线。这些对象代表高风险、中等风险、低风险。

您也可以通过优质的信息,并以类似的方式分割数据。你可以用这些pd来对付YOB或与日历年相反。要查看这些可视化,请参考使用面板数据对消费者信贷违约概率的压力测试

无宏观影响的Cox PH模型

本节将介绍如何安装考克斯无宏观信息的PH模型。该模型只包含时间无关的预测因子ScoreGroup贷款的来源。与时间无关的预测器包含的信息在贷款的整个生命周期中保持不变。本示例仅使用ScoreGroup,但其他与时间无关的预测因子可以添加到模型中(例如,优质的信息)。

Cox比例危险回归是用于调整存活率估计的半甲酰胺方法,以量化预测变量的效果。该方法表示解释性变量作为常见基线危险功能的乘法器的影响, H 0. T. .风险函数是Cox比例风险回归函数的非参数部分,而预测变量的影响是一个对数线性回归。Cox PH模型为:

H X 一世 T. = H 0. T. 经验 j = 1 P. X ij B. j

地点:

  • X 一世 = X i1 X 知识产权 是的预测变量一世第四个主题。

  • B. j 是的系数j个预测变量。

  • H X 一世 T. 危险率是多少T. X 一世

  • H 0. T. 是基线风险率函数。

有关详细信息,请参见考克斯fitcoxCox比例风险模型以及其中的参考文献。

基础的考克斯pH模型假设预测值值不会在贷款的整个寿命中改变。在这个例子中,ScoreGroup不改变,因为它是在贷款开始时给借款人的分数。优质的在贷款的整个生命周期内也是恒定的。

一种考克斯模型可以利用时间相关的分数。例如,如果信用评分信息每年更新一次,你的模型在与时间相关的预测考克斯模型类似于稍后将宏变量添加到模型中的方法具有宏观影响的Cox PH模型部分。

适合A.考克斯寿命PD模型使用fitLifetimePDModel,使用原件数据表采用面板数据格式。虽然dataSurvival表可以与其他生存函数一起使用,例如ecdffitcox, 这fitLifetimePDModel函数总是使用面板数据格式。这简化了具有或不具有时间依赖性模型的模型之间的切换,并将相同的面板数据格式用于验证函数,例如modelAccuracyPlot.拟合Cox模型时fitLifetimePDModel函数处理年龄变量(“AgeVar”参数)作为事件的时间,它使用响应变量(“响应者”参数)二进制值,以识别截尾观测值。

在接下来的拟合模型中,唯一的预测器是ScoreGroup变量。这fitLifetimePDModel函数检查数据的周期性(最常见的年龄增量)并将其存储在“时间间隔”财产的财产考克斯寿命PD模型“时间间隔”信息对于条件局部放电的预测具有重要意义预测

将数据分解为训练和测试子集,然后使用训练数据拟合模型。

nIDs = max (data.ID);uniqueIDs =独特(data.ID);rng (“默认”);%用于重现c=CVD分区(nIDs,“坚持”, 0.4);TrainIDInd =培训(c);TestIDInd =测试(c);TrainDataInd = ismember (data.ID uniqueIDs (TrainIDInd));TestDataInd = ismember (data.ID uniqueIDs (TestIDInd));pdModel = fitLifetimePDModel(数据(TrainDataInd,:),考克斯的...“IDVar”“ID”“AgeVar”'yob'“LoanVars”“ScoreGroup”“响应者”'默认');DISP(pdModel)
Cox属性:TimeInterval: 1 ExtrapolationFactor: 1 ModelID:“Cox”描述:“”模型:[1x1 CoxModel] IDVar:“ID”AgeVar:“YOB”LoanVars:“ScoreGroup”MacroVars:“ResponseVar:“Default”
disp (pdModel.Model)
Cox比例风险回归模型:Beta SE zStat pValue ________ ________ _______ ___________ ScoreGroup_Medium Risk -0.67831 0.037029 -18.319 5.8806e-75 ScoreGroup_Low Risk -1.2453 0.045243 -27.525 8.8419e-167

要预测条件pd,请使用预测.例如,预测PD用于第一ID的数据。

PD_ID1 =预测(pdModel、数据(1:8,:))
PD_ID1 =8×10.0083 0.0059 0.0055 0.0052 0.0039 0.0033 0.0016 0.0009

将预测的pd与训练或测试数据中观察到的默认率进行比较,使用modelAccuracyPlot.该曲线是预测PD值的准确性的可视化(也称为模型校准或预测能力)。PD模型精度需要分组变量。通过使用YOB作为分组变量,所观察到的默认率是一样的,在所讨论的默认速率使用生存分析工具进行数据探索部分。

数据采集器=“测试”;如果DataSetChoice = =“训练”印第安纳州= TrainDataInd;其他的IND = TestDataInd;结束modelAccuracyPlot (pdModel数据(印第安纳州,:),'yob'“DataID”,DataSetChoice)

图中包含一个轴对象。标题为“Scatter Grouped by YOB Testing Cox, RMSE = 0.00072531”的轴对象包含2个类型为line的对象。这些物体代表观察到的,考克斯。

精度图接受第二个分组变量ScoreGroup作为第二个分组变量来可视化每个人的PD预测ScoreGroup, 反对这YOB

modelAccuracyPlot (pdModel数据(印第安纳州,:),{'yob'“ScoreGroup”},“DataID”,DataSetChoice)

图中包含一个轴对象。标题为Scatter Grouped by YOB和ScoreGroup Testing Cox, RMSE = 0.001244的轴对象包含6个类型为line的对象。这些对象代表高风险,观察到的,中度风险,观察到的,低风险,观察到的,高风险,考克斯,中度风险,考克斯,低风险,考克斯。

模式判别图返回ROC曲线。使用可选'SegmentBy'参数来可视化每一个的ROCScoreGroup

modelDiscriminationPlot(pdModel,数据(工业,:),“DataID”,DataSetChoice,'SegmentBy'“ScoreGroup”

图中包含一个Axis对象。Axis对象的标题ROC测试由ScoreGroup分割,包含3个line类型的对象。这些对象表示Cox,高风险,AUROC=0.62904,Cox,中等风险,AUROC=0.61572,Cox,低风险,AUROC=0.61719。

Cox模型的非参数部分允许它与训练数据模式紧密匹配,即使只有ScoreGroup在该模型中作为预测因子包括。测试数据的结果比训练数据的结果显示出更大的误差,但是这个结果仍然是一个很好的拟合。

添加宏观信息非常重要,因为压力测试和寿命PD预测都需要明确依赖于宏观信息。

具有宏观影响的Cox PH模型

本节将介绍如何安装考克斯PH模型包括宏观信息,特别是国内生产总值(GDP)增长和股市增长。宏变量的值每年更改,因此预测器是依赖于时间。

Cox比例风险模型用于考虑时变变量的扩展如下:

H X 一世 T. = H 0. T. 经验 j = 1 p1 X ij B. j + K. = 1 p2 X 一世 K. T. C K.

地点:

  • X ij 的预测变量值一世主语和主语j长期有效的预测。

  • X 一世 K. T. 的预测变量值一世主语和主语K.时间依赖于时间的预测器T

  • B. j 是的系数j第次独立预测变量。

  • C K. 是的系数K.th时间相关预测变量。

  • H X 一世 T. T. 危险率是多少T. X 一世 T.

  • H 0. T. 是基线风险率函数。

有关详细信息,请参见考克斯fitcox,或Cox比例风险模型以及其中的参考文献。

宏观变量被视为时变变量。如果是与时间无关的信息,如初始化ScoreGroup,通过贷款的生命提供基准风险水平,预计宏观状况可能会增加或减少周围基线水平的风险是合理的。此外,如果宏观条件发生变化,您可以预期风险的这些变化将与下一个月不同。例如,经济增长低的年份应使所有贷款更加危险,独立于他们的首字母ScoreGroup

为数据输入考克斯具有时间依赖性预测因子的寿命PD模型使用原始面板数据,并添加了宏观信息。

如前所述,拟合Cox模型时fitLifetimePDModel函数处理年龄变量(“AgeVar”参数)作为事件的时间,它使用响应变量(“响应者”参数)二进制值,以识别截尾观测值。在接下来的拟合模型中,预测因子是ScoreGroup国内生产总值市场.这fitLifetimePDModel检查数据的周期性(最常见的年龄增量),并将其存储在“时间间隔”财产的财产考克斯一生PD模型。对于依赖时间的模型“时间间隔”值用于定义预测值为常量的每一行的年龄间隔。有关更多信息,请参见COX模型的时间间隔.这“时间间隔”使用时,信息对于预测条件PD也很重要预测

在内部fitLifetimePDModel函数使用fitcox.使用fitLifetimePDModel因为信贷模式提供了一些优势fitcox.例如,当您直接与合作fitcox,你需要时间无关的模型数据和数据的“统计过程”版本的生存版本(类似于面板数据的形式,但有附加信息)是需要时间相关的模型。这fitLifetimePDModel函数总是以面板数据形式作为输入,并在调用之前执行数据预处理fitcox.还有,与终身PD版本考克斯模型,您有机会获得信贷的具体预测,并在底层Cox模型不直接支持验证功能。金宝app

数据=连接(数据、数据宏);头(数据)
ans =8×7表ID ScoreGroup小无赖默认的年国内生产总值(GDP)市场  __ __________ ___ _______ ____ _____ ______ 1低风险1 0 1997 2.72 7.61 - 1低风险2 0 1998 1999 2.86 18.1 3.57 26.24 - 1低风险3 0 1低风险4 0 2000 2.43 3.19 1低风险5 0 2002 2001 1.26 -10.51 - 1低风险6 0 -0.59 -22.95 1低风险7 0 2003 0.63 2.78 1低风险8 0 2004 1.85 - 9.48
pdModelMacro = fitLifetimePDModel(数据(TrainDataInd,:),考克斯的...“IDVar”“ID”“AgeVar”'yob'“LoanVars”“ScoreGroup”...“MacroVars”,{“国内生产总值”“市场”},“响应者”'默认');disp (pdModelMacro)
带属性的Cox:时间间隔:1外推因子:1模型ID:“Cox”描述:“[1x1 CoxModel]IDVar:“ID”AgeVar:“YOB”贷款Vars:“ScoreGroup”宏观变量:[“GDP”“市场”]响应Var:“默认”
DISP(pdModelMacro.Model)
4.348 3.444442 E-75得分得分组-低风险-1.248 3.444 4 4 4 4 4 4 4 4 4 4 4 E-75得分组-低风险-1.2442 0.42 0.0442 0.0442 0.0442 0.4 4 4 4 4 7 7 7 7 7 7 7 7 7 7 7 7 7-75得分组-低风险-低风险-1.4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7分数组-低风险-低风险-低风险-低风险-低风险-7991

使用可视化所述预测PD值的精度(也称为模型校准,或预测的能力)modelAccuracyPlot

数据采集器=“测试”;如果DataSetChoice = =“训练”印第安纳州= TrainDataInd;其他的IND = TestDataInd;结束modelAccuracyPlot(pdModelMacro,数据(工业,:),'yob'“DataID”,DataSetChoice)

图中包含一个轴对象。轴与标题散点图分组通过YOB测试考克斯,RMSE对象= 0.0007251包含型线的2个对象。这些物体代表观察到的,考克斯。

宏效应有助于匹配模型更接近观测到的违约率和比赛训练数据看起来像宏模型的插值。

精度绘图ScoreGroupROC曲线的创建方式与Cox模型相同,没有宏观变量。

压力测试

本节展示如何使用考克斯宏观模型。

假设监管机构为宏观经济变量提供了以下压力场景国内生产总值市场

disp (dataMacroStress)
GDP市场_____ ______基线2.27 15.02不利1.31 4.56严重-0.22 -5.64

下面的代码预测每个pdScoreGroup每个宏场景。对于每个宏场景的可视化,取平均值在计分组将数据聚合成一个单独的PDYOB

dataStress =表;dataStress。YOB=repmat((1:8)',3,1); dataStress.ScoreGroup = repmat(、大小(dataStress.YOB));dataStress.ScoreGroup (1:8) = ScoreGroupLabels {1};九16再者dataStress.ScoreGroup () = ScoreGroupLabels {2};dataStress.ScoreGroup(十七24)= ScoreGroupLabels {3};dataStress。国内生产总值=zeros(size(dataStress.YOB)); dataStress.Market = zeros(size(dataStress.YOB)); ScenarioLabels = dataMacroStress.Properties.RowNames; NumScenarios = length(ScenarioLabels); PDScenarios = zeros(length(x),NumScenarios);jj=1: numscenario Scenario = Scenario label {jj};dataStress.GDP (,) = dataMacroStress.GDP(场景);dataStress.Market (,) = dataMacroStress.Market(场景);%预测当前场景下每个ScoreGroup的PD。dataStress。PD=预测(P.dModelMacro,dataStress);%得分组的平均PD,按年龄,在单个图中显示。pdavgtable = comononummary(DataStress,“小无赖”“平均值”“PD”);PDScenarios (:, jj) = PDAvgTable.mean_PD;结束图;标题栏(x, PDScenarios) (“压力测试,违约概率”)xlabel(“年书”)伊拉贝尔(“PD”)传说(“基线”“不良”“严重”网格)在…上

图中包含一个轴对象。轴与标题压力测试,默认的概率含有型棒的3个对象的对象。这些对象代表基线,不良,重度。

终身PD和ECL

本节介绍如何使用寿命PD考克斯如何计算预期信贷损失(ECL)。

对于生命周期建模,PD模型是相同的,但使用的方式不同。你需要预测的PDs不仅仅是一个时期之前,而是每个特定贷款生命周期中的每一年。在贷款的整个生命周期中,还需要宏观场景。本示例设置了可选的长期宏观场景,计算每个场景下的生命周期pd,并计算相应的1年pd、边际pd和生存概率。在每个宏观场景下,对每一年的寿命和边际PDs进行可视化。然后为每个场景和加权平均生命周期ECL计算ECL。

为了具体化,本例在第三年开始时研究了一笔8年期贷款,并预测了几年后的一年期PD3.通过8.这笔贷款的期限。这个例子还计算了贷款剩余期限内的生存概率。生存概率之间的关系 S. T. 和一两年的有条件的PD或危险率 H T. ,有时也称为向前PDs,是:

S. 0. = 1 S. 1 = 1 - PD 1 S. T. = S. T. - 1 1 - PD T. = 1 - PD 1 1 - PD T.

终身PD(LPD)是贷款期限内的累积PD,由生存概率的补码给出:

LPD T. = 1 - S. T.

另一个利息量是边际PD (MPD),它是两个连续周期之间的生命周期PD的增加:

MPD T. + 1 = LPD T. + 1 - LPD T.

由此可知,边际PD也是连续时间段间生存概率的下降,也是危险率乘以生存概率:

MPD T. + 1 = S. T. - S. T. + 1 = PD T. + 1 S. T.

有关更多信息,请参见预测寿命Kaplan-Meier方法.这预测寿命功能支持终身PD,金宝app边缘PD和生存概率格式。

指定三个宏观经济情景,一个基线预测,以及两个基线增长的简单变动,即增加20%或减少20%更快的增长经济增长放缓,分别。本例中的场景以及相应的概率只是用于说明目的的简单场景。使用计量经济学工具箱™或统计学和机器学习工具箱™,可以使用更强大的模型构建更全面的情景集;见,例如,模拟美国经济(计量经济学工具箱).自动化方法通常可以模拟大量方案。在实践中,只需要少量场景,并选择这些场景以及它们的相应概率,组合定量工具和专家判断。

当前年龄=3;%目前开始贷款的第三年成熟= 8;贷款在第8年底结束yoblifetime =(截风:成熟)';numyearsremaining =长度(yoblifetime);datalifeTime =表;datalifeTime.id = =那些(numyearsremaining,1);datalifetime.yob = yoblifetime;datalifetime.scoregroup = Repmat(“高风险”、大小(dataLifetime.YOB));%高风险dataLifetime.GDP =零(大小(dataLifetime.YOB));dataLifetime.Market =零(大小(dataLifetime.YOB));用于生命周期分析的宏场景GDPPredict = (2.3;2.2;2.1;2.0;1.9;1.8);GDPPredict = [0.8*GDPPredict GDPPredict 1.2*GDPPredict];MarketPredict = [15;13;11; 9; 7; 5]; MarketPredict = [0.8*MarketPredict MarketPredict 1.2*MarketPredict]; ScenLabels = [“增长放缓”“基线”“更快的增长”];NumMacroScen =大小(GDPPredict, 2);%计算生命周期ECL的场景概率PScenario = [0.2;0.5;0.3];PDLifetime =零(大小(GDPPredict));PDMarginal =零(大小(GDPPredict));II = 1:NumMacroScen dataLifetime.GDP = GDPPredict(:,ⅱ);dataLifetime.Market = MarketPredict(:,ⅱ);PDLifetime(:,II)= predictLifetime(pdModelMacro,dataLifetime);%默认情况下返回生命周期PDPDMarginal(:,(二)= predictLifetime (pdModelMacro dataLifetime,'ProbabilityType''边缘');结束%从去年开始的生命周期PD值为0,以便可视化%的目的。tLifetime0 = (dataMacro.Year(结束):dataMacro.Year(结束)+ NumYearsRemaining) ';PDLifetime =[0(1、NumMacroScen); PDLifetime);tLifetime = tLifetime0(2:结束);图;subplot(2,1,1) plot(tLifetime0,PDLifetime) xticks(tLifetime0) grid . subplot(2,1,1) plot(tLifetime0,PDLifetime在…上xlabel('年')伊拉贝尔(“一生PD”) 标题(“按情景划分的终身PD”)图例(ScenLabels,“位置”“最佳”)子plot(2,1,2) bar(tLifetime, pd边际)网格在…上xlabel('年')伊拉贝尔(“边际PD”) 标题(“按情景划分的边际PD”)图例(ScenLabels)

图包含2个轴对象。轴对象1具有标题生命周期PD的方案包含3个类型的类型。这些物体代表了较慢的增长,基线,更快的增长。带有标题边缘PD的轴对象2包含3个类型栏的3个对象。这些物体代表了较慢的增长,基线,更快的增长。

根据情景,这些终身PDs是计算终身预期信用损失(ECL)的输入之一。ECL还要求违约损失(LGD)和违约风险敞口(EAD)的终身值,以及场景概率。为简单起见,本例假设LGD和EAD值为常数,但LGD和EAD模型的这些参数可能因场景和时间段而异。有关更多信息,请参阅fitLGDModelfitEADModel

终身ECL的计算还需要有效的利率(EIR)进行折扣。在此示例中,折扣因子在时间段结束时计算,但可以使用其他折扣时间。例如,您可以在时间段之间使用中点;也就是说,折扣第一年的折扣因素,折扣二年折扣为1.5年折扣因素,等等)。

通过这些投入,预期的信用损失T.的场景S.被定义为:

ECL T. ; S. = MPD T. ; S. LGD T. ; S. 含铅 T. ; S. 阀瓣 T.

在哪里T.表示一个时间段,S.表示一个场景,并且 阀瓣 T. = 1 1 + 艾尔 T.

对于每个场景,生命周期ECL是通过在时间上添加ECL来计算的,从分析中的第一个时间周期到产品的预期生命周期T..在这个例子中,它是5年(这个贷款是一个简单的贷款,还有5年到期):

ECL S. = T. = 1 T. ECL T. ; S.

最后,在所有场景下,计算这些预期信贷损失的加权平均值,以得到单个生命周期的ECL值 P. S. 表示方案概率:

ECL = S. = 1 numscenarios. ECL S. P. S.

乐金显示器= 0.55;%违约损失率EAD=100;%违约风险EIR=0.045;%有效利率DiscTimes = tLifetime-tLifetime0 (1);DiscFactors = 1. / (1 + EIR)。^ DiscTimes;ECL_t_s = (PDMarginal *乐金显示器*含铅)。* DiscFactors;百分比ECL乘以一年和场景ECL_s =总和(ECL_t_s);按场景计算的ECL总数发射极耦合逻辑= ECL_s * PScenario;% ECL在所有场景的加权平均值%以表格格式安排每年ECL。%追加ECL总每个方案和情景的概率。ECL_Disp = array2table ([ECL_t_s;ECL_s;PScenario ']);ECL_Disp.Properties。VariableNames = strcat (“设想_”,字符串(1:nummacrosen)';ECL_Disp.Properties.RowNames=[strcat(“ECL_”,字符串(tLifetime),“_s”);“ECL_total_s”;“Probability_s”];disp (ECL_Disp)
场景_1场景_2场景_3 __________ __________ __________ ECL_2005_s 0.95927 0.90012 0.8446 ECL_2006_s 0.703 0.66366 0.62646 ECL_2008_s 0.48217 0.45781 0.43463 ECL_2008_s 0.40518 0.38686 0.36931 ECL_2009_s 0.22384 0.21488 0.20624 ECL_2010_s 0.13866 0.13381 0.1291 ECL_total_s 2.9121 2.7571 2.6103 Probability_s 0.2 0.5 0.3
fprintf('寿命ECL:%克\ N',ECL)
终身ECL:2.7441

如果LGD和EAD不依赖于场景(即使它们随时间变化),则采用寿命PD曲线的加权平均值,以获得单个平均寿命PD曲线。

PDLifetimeWeightedAvg = PDLifetime * PScenario;ECLByWeightedPD =总和(diff *乐金显示器* o (PDLifetimeWeightedAvg)。* DiscFactors);fprintf(“生存期ECL,使用加权生存期PD: %g,由于LGD和EAD不变,结果相同。”...eclbyweightedpd)
寿命ECL,使用加权寿命PD:2.7441,同样的结果由于LGD和EAD恒定。

但是,当LGD和EAD值随场景而变化时,您必须首先在场景级别计算ECL值,然后找到ECL值的加权平均值。

结论

该示例展示了如何为pd拟合Cox模型,如何执行pd的压力测试,以及如何计算寿命pd和ECL。一个类似的例子,使用面板数据对消费者信贷违约概率的压力测试,遵循相同的工作流,但使用逻辑回归,而不是Cox回归。这fitLifetimePDModel功能支持金宝app考克斯物流Probit模型。本例末尾的生命周期PDs和ECL的计算也可以用logistic或probit模型进行。例如,请参见预期信用损失计算

参考

[1]贝森斯,巴特,丹尼尔·罗施,哈拉尔德·舍勒。信用风险分析:测量技术,应用,和例子在SAS。威利,2016年。

[2]贝里尼,Tiziano。IFRS 9和CECL信用风险建模和验证:在R和SAS中工作的实例的实用指南。圣地亚哥,CA:爱思唯尔,2019。

[3] 美联储,综合资本分析和审查(CCAR):https://www.federalreserve.gov/bankinforeg/ccar.htm

[4]英国央行,压力测试:https://www.bankofengland.co.uk/financial-stability

[5]欧洲银行管理局,全欧盟压力测试:https://www.eba.europa.eu/Risk-analysis-and-data/eu-wide-tress-ting.

另请参阅

|||||||||

相关例子

更多关于