transprob

从信用评级数据估算转移概率

描述

例子

(的Transmat,sampleTotals,idTotals] = transprob(数据)构建从信用评级的历史数据的转换矩阵。

例子

(的Transmat,sampleTotals,idTotals] = transprob(___,名称,值)加入了可选的名称 - 值对的参数。

例子

全部收缩

使用历史信用评级表作为输入数据Data_TransProb.mat显示前十行,并计算转换矩阵:

加载Data_TransProb数据(1:10,:)
ANS =10×3表标识日期评分____________ _______________ _______ { '00010283'} {'10 -nov-1984 '} {' CCC '} {' 00010283 '} {'12  -  5月,1986年'} { 'B'} { '00010283'} {'29 -Jun-1988 '} {' CCC '} {' 00010283 '} {'12  - 癸1991'} { 'd'} { '00013326'} {'09 -Feb-1985 '} {' A”} { '00013326'} {'24 -Feb-1994 '} {' AA”} { '00013326'} {'10 -nov-2000 '} {' BBB '} {' 00014413' } {'23 -Dec-1982 '} {' B '} { '00014413'} {'20 -Apr-1988 '} {' BB'} { '00014413'} {'16 -Jan-1998 '} {' B”}
%估算转移概率使用默认设置的Transmat = transprob(数据)
transMat =8×893.1170 5.8428 0.8232 0.1763 0.0376 0.0012 0.0001 0.0017 1.6166 93.1518 4.3632 0.6602 0.1626 0.0055 0.0004 0.0396 0.1237 2.9003 92.2197 4.0756 0.5365 0.0661 0.0028 0.0753 0.0236 0.2312 5.0059 90.1846 3.7979 0.4733 0.0642 0.2193 0.0216 0.1134 0.6357 5.7960 88.9866 3.4497 0.2919 0.7050 0.0010 0.0062 0.1081 0.8697 7.3366 86.7215 2.5169 2.4399 0.0002 0.00110.0120 0.2582 1.4294 4.2898 81.2927 12.7167 0 0 0 0 0 0 0 100.0000

使用历史信用评级表输入数据Data_TransProb.mat使用计算转换矩阵队列算法:

%估算转变概率与“队列”算法transMatCoh = transprob(数据,'算法',“队列”)
transMatCoh =8×893.1345 5.9335 0.7456 0.1553 0.0311 0 0 0 1.7359 92.9198 4.5446 0.6046 0.1560 0 0 0.0390 0.1268 2.9716 91.9913 4.3124 0.4711 0.0544 0.0725 0.0210 0.3785 5.0683 89.7792 4.0379 0.4627 0.0421 0.2103 0.0221 0.1105 0.6851 6.2320 88.3757 3.6464 0.2873 0.6409 0 0 0.0761 0.7230 7.9909 86.1872 2.7397 2.2831 0 0 0 0.3094 1.8561 4.5630 80.8971 12.3743 100.0000 0 0 0 0 0 0 0

使用与评级投资级的历史信用评级数据('IG'),投机级别('SG')和默认('d'),从Data_TransProb.mat显示前十行,并计算转换矩阵:

dataIGSG(1:10,:)
ANS =10×3表标识日期评分____________ _______________ ______ { '00011253'} {'04 -Apr-1983 '} {' IG '} {' 00012751 '} {'17 -Feb-1985'} { 'SG'} { '00012751'} {'19  -  5月-1986 '} {' d”} { '00014690'} {'17 -Jan-1983 '} {' IG '} {' 00012144 '} {'21 -nov-1984'} { 'IG'} { '00012144'} {'25 -mar-1992 '} {' SG '} {' 00012144 '} {'07  -  5月,1994年'} { 'IG'} { '00012144'} {'23 -Jan-2000 '} {' SG '} {' 00012144 '} {'20 -Aug-2001'} { 'IG'} { '00012937'} {'07 -Feb-1984 '} {' IG'}
transMatIGSG = transprob (dataIGSG,'标签'{'IG','SG','d'})
transMatIGSG =3×398.6719 1.2020 0.1261 3.5781 93.3318 3.0901 0 0 100.0000

对投资级别(1),投机级别(2)和默认(3.),从Data_TransProb.mat显示前十行,并计算转换矩阵:

dataIGSGnum(1:10,:)
ANS =10×3表标识日期评分____________ _______________ ______ { '00011253'} {'04 -Apr-1983 '} {1' 00012751 '} {'17 -Feb-1985'} 2 { '00012751'} {'19  -  5月,1986' 年}3 { '00014690'} {'17 -Jan-1983 '} {1' 00012144 '} {'21 -nov-1984'} {1 '00012144'} {'25 -mar-1992 '} 2 {' 00012144'} {'07  -  5月,1994年 '} {1' 00012144 '} {'23 -Jan-2000'} 2 { '00012144'} {'20 -Aug-2001 '} {1' 00012937' } {'07  -FEB-1984' } 1
transMatIGSGnum = transprob(dataIGSGnum,'标签',{1,2,3})
transMatIGSGnum =3×398.6719 1.2020 0.1261 3.5781 93.3318 3.0901 0 0 100.0000

使用MATLAB®表格包含历史信用评级单元阵列输入数据(dataCellFormat)从Data_TransProb.mat,估计转移概率使用默认设置。

加载Data_TransProb的Transmat = transprob(dataCellFormat)
transMat =8×893.1170 5.8428 0.8232 0.1763 0.0376 0.0012 0.0001 0.0017 1.6166 93.1518 4.3632 0.6602 0.1626 0.0055 0.0004 0.0396 0.1237 2.9003 92.2197 4.0756 0.5365 0.0661 0.0028 0.0753 0.0236 0.2312 5.0059 90.1846 3.7979 0.4733 0.0642 0.2193 0.0216 0.1134 0.6357 5.7960 88.9866 3.4497 0.2919 0.7050 0.0010 0.0062 0.1081 0.8697 7.3366 86.7215 2.5169 2.4399 0.0002 0.00110.0120 0.2582 1.4294 4.2898 81.2927 12.7167 0 0 0 0 0 0 0 100.0000

使用历史信用评级单元阵列输入数据(dataCellFormat),使用计算出转换矩阵队列算法:

%估算转变概率与“队列”算法transMatCoh = transprob(dataCellFormat,'算法',“队列”)
transMatCoh =8×893.1345 5.9335 0.7456 0.1553 0.0311 0 0 0 1.7359 92.9198 4.5446 0.6046 0.1560 0 0 0.0390 0.1268 2.9716 91.9913 4.3124 0.4711 0.0544 0.0725 0.0210 0.3785 5.0683 89.7792 4.0379 0.4627 0.0421 0.2103 0.0221 0.1105 0.6851 6.2320 88.3757 3.6464 0.2873 0.6409 0 0 0.0761 0.7230 7.9909 86.1872 2.7397 2.2831 0 0 0 0.3094 1.8561 4.5630 80.8971 12.3743 100.0000 0 0 0 0 0 0 0

这个例子说明了如何可视化被用作输入到信用评级的转变transprob功能。这个例子还描述了如何transprob当公司数据在分析的开始日期之后开始,或者当分析的结束日期在最后一次观察到的转换之后开始时,函数处理评级转换。

样本数据

设置用于说明目的虚构的样本数据。

数据= {'ABC',”2015年- 2月17日,'AA';'ABC',6 - 7月- 2017 ','一种';'LMN',的12 - 8月- 2014,'B';'LMN','9-NOV-2015','CCC';'LMN',的7 - 9月- 2016,'d';“XYZ”,“2013年5月- 14 -,'BB';“XYZ”,'21 -Jun-2016','BBB'};数据= cell2table(数据,'VariableNames'{'ID',“日期”,'评分'});DISP(数据)
标识日期评分_______ _______________ _______ { 'ABC'} {'17 -Feb-2015 '} {' AA”} { 'ABC'} { '6-JUL-2017'} { 'A'} { 'LMN'} {'12 -Aug-2014 '} {' B”} { 'LMN'} { '9-NOV-2015'} { 'CCC'} { 'LMN'} { '7九月2016'} { 'd'} { 'XYZ'} {'14  -  5月,2013 '} {' BB '} { 'XYZ'} {'21 -Jun-2016 '} {' BBB'}

transprob功能了解到,此面板数据格式表示的日期时,一个新的等级被分配给一个给定的公司。transprob假设这样的评级保持不变,除非后续行明确表示等级的变化。例如,对于公司'ABC',transprob明白的'一种'评级为任何日期后保持不变6 - 7月- 2017 '(无限期)。

计算转换矩阵和转换计数

transprob函数返回一个转移概率矩阵作为主输出。也有包含许多转换是如何发生的其他信息可选输出。欲了解更多信息,请参阅transprob对两者的可选的信息输出“队列”“持续时间”方法。

为了便于说明,这个例子可以让你挑StartYear(仅限于2014要么2015年在这个例子中)和EndYear(2016要么2017年)。这个例子也使用hDisplayTransitions辅助功能(见本地函数)来格式化转换信息,以便于阅读。

StartYear =2014;EndYear =2017年;的startDate =日期时间(StartYear,12,31,“场所”,'EN_US');endDate = datetime (EndYear, 12日31日“场所”,'EN_US');RatingLabels = [“AAA”,“AA”,“一个”,“BBB”,“BB”,“B”,“CCC”,“D”];[TM,ST,它] = transprob(数据,'开始日期'startDate可以,“endDate”,结束日期,'算法',“队列”,'标签',RatingLabels);

的过渡概率的Transmat输出指示收视率之间迁移的概率。的概率以%表示,也就是说,他们是乘以100。

hDisplayTransitions(TM,RatingLabels,“过渡矩阵”)
转移矩阵AAA AA A BBB BB乙CCC d ___ __ ___ ___ __ _ ___ ___ AAA 100 0 0 0 0 0 0 0 AA 0 50 50 0 0 0 0 0 A 0 0 100 0 0 0 0 0 BBB 0 0 0 1000 0 0 0 0 BB 0 0 50 50 0 0 0 B 0 0 0 0 0 0 100 0 0 CCC 0 0 0 0 0 0 100 0 d 0 0 0 0 0 0 100

过渡计数存储在sampleTotals可选的输出并注明许多过渡整个样本收视率之间是如何发生的(也就是说,所有的公司)。

hDisplayTransitions(st.totalsMat,RatingLabels,“过渡计数,所有的公司”)
过渡计数,所有的公司AAA AA A BBB BB乙CCC d ___ __ _ ___ __ _ ____ AAA 0 0 0 0 0 0 0 0 AA 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 BBB 00 0 1 0 0 0 0 BB 0 0 0 1 1 0 0 0 B 0 0 0 0 0 0 1 0 CCC 0 0 0 0 0 0 0 1 d 0 0 0 0 0 0 0 1

第三输出transprobidTotals它包含一个公司一个公司的ID级别的转换信息(与公司在输入数据中出现的顺序相同)。

选择一个公司,显示过渡计数和变迁的相应可视化。的hPlotTransitions辅助功能(见本地函数部分)显示公司的转换历史。

CompanyID =“ABC”;UniqueIDs =唯一的(data.ID,“稳定”);[〜,CompanyIndex] = ismember(CompanyID,UniqueIDs);hDisplayTransitions(它(CompanyIndex).totalsMat,RatingLabels,strcat的(“过渡计数,公司ID:”,CompanyID))
过渡方面,ABC公司ID: AAA AA BBB BB B CCC D ___ __ _一幅_ _ _ AAA 0 0 0 0 0 0 0 0 AA 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 BBB 0 0 0 0 0 0 0 0 BB 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0
hPlotTransitions(CompanyID,的startDate,结束日期,数据,RatingLabels)

要了解如何transprob句柄数据时第一观测日期是分析,或的开始日期,其最后观察到的日期发生分析的结束日期之前后,考虑下面的例子。对于公司'ABC'假设分析具有的开始日期2014年- 12月31日和结束日期2017年- 12月31日。只有两个报道这家公司为分析时间窗口的转变。对于第一个观察'ABC'发生在17 - 2月 - 2015年。因此,2015年- 12月31日快照是该公司第一次观察。通过2016年- 12月31日,公司保持在原来的'AA'评级。通过2017年- 12月31日,降级到'一种'是记录。与此一致,转换计数显示从'AA''AA'(从2015年底到2016年底),一个过渡'AA''一种'(从2016年末到2017年底)。图中显示的最后得分为红色虚线强调的是,最后的评分中的数据外推无限的未来。没有外推到过去;公司的历史将被忽略,直到公司的评价是已知的整个过渡时期(2015年- 12月31日通过2016年- 12月31日如果是'ABC')。

计算转移矩阵含NR(未评级)评级

考虑仅包含单个公司不同的样本数据“DEF”。数据包含公司的变迁“DEF”'一种''NR'评级,从随后的转变'NR''BBB'

dataNR = {“DEF”,的17 - 3月- 2011,'一种';“DEF”,'24 -mar-2014','NR';“DEF”,”26日- 9月- 2016,'BBB'};dataNR = cell2table(dataNR,'VariableNames'{'ID',“日期”,'评分'});DISP(dataNR)
标识日期评分_______ _______________ _______ { 'DEF'} {'17 -mar-2011 '} {' A '} { 'DEF'} {'24 -mar-2014 '} {' NR'} { 'DEF'} {'26 -sep-2016 '} {' BBB“}

transprob对待'NR'作为另一个评级。下面的过渡矩阵显示了过渡到和退出的估计概率'NR'

StartYearNR = 2010;EndYearNR = 2018;startDateNR =日期时间(StartYearNR,12,31,“场所”,'EN_US');endDateNR =日期时间(EndYearNR,12,31,“场所”,'EN_US');CompanyID_NR =“DEF”;RatingLabelsNR = [“AAA”,“AA”,“一个”,“BBB”,“BB”,“B”,“CCC”,“D”,“NR”];[tmNR ~, itNR] = transprob (dataNR,'开始日期',startDateNR,“endDate”,endDateNR,'算法',“队列”,'标签',RatingLabelsNR);hDisplayTransitions(tmNR,RatingLabelsNR,“过渡矩阵”)
过渡矩阵AAA AA BBB BB B CCC D NR ______ AAA ____ ____ ______ ____ ____一幅中国画100 0 0 0 0 0 0 0 0 AA 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66.667 33.333 BBB 100 0 0 0 0 0 0 0 0 0 0 0 0 100 BB 0 0 0 0 B 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 CCC 0 0 D 0 0 0 0 0 0 0 100 0 NR 0 0 0 0 0 0 0 50

显示转变计数和转换的对应的可视化。

hDisplayTransitions(itNR.totalsMat,RatingLabelsNR,strcat的(“过渡计数,公司ID:”,CompanyID_NR))
转型,公司ID: DEF AAA AA BBB BB B CCC D NR ___ _ _一幅_ _ _ _ AAA 0 0 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 BBB 0 0 0 2 0 0 0 0 0 BB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0 0 NR 0 0 0 1 0 0 0 0 1
hPlotTransitions(CompanyID_NR,startDateNR,endDateNR,dataNR,RatingLabelsNR)

要删除'NR'从转换矩阵中,使用“excludeLabels”名值输入参数中transprob。标签,排除列表中可以或可以不被在名称 - 值对参数指定标签。例如,RatingLabelsRatingLabelsNR生成相同的输出transprob

[tmNR, stNR itNR] = transprob (dataNR,'开始日期',startDateNR,“endDate”,endDateNR,'算法',“队列”,'标签',RatingLabelsNR,“excludeLabels”,'NR');hDisplayTransitions(tmNR,RatingLabels,“过渡矩阵”)
过渡矩阵AAA AA BBB BB B CCC AAA中国画一幅中国画D一幅中国画100 100 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 BBB 0 0 0 0 0 0 0 0 0 0 0 100 BB 0 0 0 0 0 0 0 0 100 100 0 0 CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 D

显示转变计数和转换的对应的可视化。

hDisplayTransitions(itNR.totalsMat,RatingLabels,strcat的(“过渡计数,公司ID:”,CompanyID_NR))
过渡方面,公司ID: DEF AAA AA BBB BB B CCC D ___ __ _一幅_ _ _ AAA 0 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 BBB 0 0 0 2 0 0 0 0 BB 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0
hPlotTransitions(CompanyID_NR,startDateNR,endDateNR,dataNR,RatingLabels)

与之前的情节一致,过渡计数仍然显示来自两个转变'一种''一种'(从2012年底到2014年底),和两次过渡'BBB''BBB'(2017年底至2019年底)。

然而,从以前的剧情不同,指定'NR'使用“excludeLabels”的名称 - 值输入参数transprob属性中移除所有进出的转换'NR'评级。

本地函数

功能hDisplayTransitions(TransitionsData,RatingLabels,标题)帮助函数来格式化转换信息输出TransitionsAsTable = array2table(TransitionsData,...'VariableNames',RatingLabels,'RowNames',RatingLabels);fprintf中('\ n%s的\ n \ n',标题)DISP(TransitionsAsTable)结束功能hPlotTransitions(CompanyID,的startDate,结束日期,数据,RatingLabels)%助手功能形象化评级之间的过渡印第安纳州=字符串(data.ID) = = CompanyID;DatesOriginal = datetime (data.Date(印第安纳州),“场所”,'EN_US');RatingsOriginal =分类(data.Rating(茚基),flipud(RatingLabels(:)),flipud(RatingLabels(:)));楼梯(DatesOriginal,RatingsOriginal,'行宽',2);%指示等级外推到未来(任意选择91结束日期作为情节的最后日期后%天)endDateExtrap =结束日期+ 91;如果DatesOriginal(end) DatesExtrap = [DatesOriginal(end);endDateExtrap];RatingsExtrap = [RatingsOriginal(结束);RatingsOriginal(结束)];楼梯(DatesExtrap RatingsExtrap,'行宽',2,“线型”,':')结束持有;添加表示快照日期的行%transprob使用1作为默认为“snapsPerYear”,硬编码在这里为简便起见对cfdates的调用生成的快照日期与transprob使用的快照日期完全相同snapsPerYear = 1;snapDates = cfdates(的startDate-1,结束日期,snapsPerYear)';yLimits = ylim;II = 1:长度(snapDates)线([snapDates(ⅱ)snapDates(II)],yLimits,“颜色”,“米”)结束标题(strcat的(“公司ID:”,CompanyID))结束

输入参数

全部收缩

使用transprob给定信用等级的历史数据(即,信用迁移数据),以估算转变概率,所述数据输入可以是以下之一:

  • 一个nRecords-通过-3.MATLAB®表中包含了表单的信用评级历史数据:

    标识日期评分__________ _____________ ______ '00010283' '10 -nov-1984' 'CCC' '00010283' '12  -  5月,1986' 年 'B' '00010283' '29 -Jun-1988' 'CCC' '00010283' '12- 癸1991' 'd' '00013326' '09 -Feb-1985' 'A' '00013326' '24 -Feb-1994' 'AA' '00013326' '10 -nov-2000' 'BBB' '00014413''23  - 癸1982' 'B'
    其中每行包含一个ID(第1列)、一个日期(第2列)和一个信用评级(第3列)。第3列是在相应日期分配给相应ID的评级。同一ID对应的所有信息必须存储在连续的行中。不需要按日期对这些信息进行排序,但是为了提高效率,建议这样做。当使用MATLAB表输入时,列的名称是不相关的,但ID,日期和评分信息被假定为在第一,第二和第三列,分别。此外,使用表输入时,第一和第三列可以是分类的阵列,并且第二可为日期时间阵列。下面总结为表输入支持的数据类型:金宝app

    数据输入类型 ID(第1列) 日期(第二列) 评级(第3列)

    • 数值数组

    • 字符向量的单元阵列

    • 分类数组

    • 数值数组

    • 字符向量的单元阵列

    • 日期时间排列

    • 数值数组

    • 字符向量的单元阵列

    • 分类数组

  • 一个nRecords-通过-3.包含表单的历史信用评级数据字符向量的单元阵列:

    '00010283' '10 -nov-1984' 'CCC' '00010283' '12  -  5月,1986' 年 'B' '00010283' '29 -Jun-1988' 'CCC' '00010283' '12  - 癸1991' 'd” '00013326' '09 -Feb-1985' 'A' '00013326' '24 -Feb-1994' 'AA' '00013326' '10 -nov-2000' 'BBB' '00014413' '23  - 癸1982'B'
    其中每行包含一个ID(第1列)、一个日期(第2列)和一个信用评级(第3列)。第3列是在相应日期分配给相应ID的评级。同一ID对应的所有信息必须存储在连续的行中。不需要按日期对这些信息进行排序,但是为了提高效率,建议这样做。id、日期和评级以字符向量格式存储,但也可以以数字格式输入。下面总结了支持的单元格数组输入数据类型:金宝app

    数据输入类型 ID(第1列) 日期(第二列) 评级(第3列)
    细胞

    • 数字元素

    • 特征向量元素

    • 数字元素

    • 特征向量元素

    • 数字元素

    • 特征向量元素

  • 一种预处理后的数据结构transprobprep。该数据结构包含的字段'idStart','numericDates','numericRatings''ratingsLabels'

数据类型:|细胞|结构

名称 - 值对参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和是对应的值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例:的Transmat = transprob(数据, '算法', '队列')

估计算法,指定由逗号分隔的对组成'算法'并用的值的字符向量“持续时间”要么“队列”

数据类型:烧焦

估计时间窗的结束日期,指定为逗号分隔的一对组成的“endDate”以及日期字符向量、序列号或日期时间对象。的结束日期不能前的日期开始日期

数据类型:烧焦||约会时间

信用等级量表,指定由逗号分隔的对组成'标签'nRatings-通过-1, 要么1-通过-nRatings字符向量的单元阵列。

标签必须与在第三列所使用评级的标签一致数据。使用针对数字评分数的单元阵列,以及用于对分类的评分字符向量的单元阵列。

请注意

当输入参数数据从以前调用而获得的经过预处理的数据结构transprobprep,这个可选输入'标签是因为未使用的标签'ratingsLabels'现场transprobprep优先。

数据类型:细胞

要考虑的估计每年信用评级的快照数量,指定为以逗号分隔对包括'snapsPerYear'和的数值1,2,3.,4,6, 要么12

请注意

此参数仅与使用“队列”算法

数据类型:

估计时间窗的开始时间,指定为逗号分隔的一对组成的'开始日期'以及日期字符向量、序列号或日期时间对象。

数据类型:烧焦||约会时间

过渡时间间隔的长度,以年,被指定为逗号分隔的一对组成的“transInterval”和一个数值。

数据类型:

标签被从过渡概率计算中排除,指定为逗号分隔的一对组成的“excludeLabels”和字符向量,字符串或数字评分。

如果多个标签被排除在外,“excludeLabels”必须是包含所有要排除的标签的单元格数组。所给标签的类型“excludeLabels”必须在指定的数据类型一致标签输入。

标签的列表,以排除可能或不可能在指定标签

数据类型:|烧焦|

输出参数

全部收缩

以百分比转移概率矩阵,返回为nRatings-通过-nRatings转移矩阵。

与样本总数,与域返回的结构:

  • totalsVec- 大小的矢量1-通过-nRatings

  • totalsMat- 大小的矩阵nRatings-通过-nRatings

  • 算法- 其值的字符向量“持续时间”要么“队列”

为了“持续时间”算法,totalsMat(,j)包含评级的观察出总过渡在评级j(所有的对角元素是零)。花在等级的总时间存储在totalsVec()。例如,如果有三个等级类别,投资级(IG),投机级别(SG号)和预设(D),以及下列资料:

花费的总时间IG SG d在评级:4859.09 1503.36 1162.05过渡IG SG d出(行)IG 0 89 7到(列):SG 202 0 32 d 0 0 0
然后
totals.totalsVec = [4859.09 1503.36 1162.05] totals.totalsMat = [0 89 7 202 0 32 0 0 0] totals.algorithm = '持续时间'

为了“队列”算法,totalsMat(,j)包含从等级中观察到的总过渡对评级jtotalsVec()是排名的初始计数。例如,给定以下信息:

初始计数IG SG D在评级:4808 1572 1145过渡IG SG D从(行)IG 4721 80 7到(列):SG 193 1347 32 D 0 0 1145
然后

总数。至talsVec = [4808 1572 1145] totals.totalsMat = [4721 80 7 193 1347 32 0 0 1145 totals.algorithm = 'cohort'

的ID总数,返回作为大小的一个结构阵列nIDs-通过-1,其中n的ID是不同的ID的在1列中的数字数据当这是一个表或单元格数组,或者,相等地,等于的长度idStart现场零下1时数据是从经过预处理的数据结构transprobprep。对于样本中的每个ID,idTotals包含一个具有以下字段的结构:

  • totalsVec- 大小的稀疏矢量1-通过-nRatings

  • totalsMat- 大小的稀疏矩阵nRatings-通过-nRatings

  • 算法- 其值的字符向量“持续时间”要么“队列”

这些字段包含与输出相同的信息sampleTotals,但在ID级别。例如,对于“持续时间”,idTotals(k)。totalsVec包含的总时间k-该公司在每个评级上的花费。

更多关于

全部收缩

队列估计

该队列算法估计基于对信用评级的快照上规则的间隔点在时间序列中的转移概率。

如果一家公司的信用评级在两个快照日期之间发生两次变化,那么中间评级将被忽略,只有初始评级和最终评级会影响评估结果。

持续时间估计

不同于队列方法,持续时间算法估计基础上,充分的信用评级历史上的转移概率,看着上发生的信用评级迁移的确切日期。

有一个在这个方法没有快照的概念,所有的信用评级迁移影响的估计,即使公司的评级在短期内改变两次。

算法

全部收缩

队列估计

算法首先确定一个序列t0,...,TK快照日期。所用的时间,以年,两个连续的快照日期之间tK-1tk等于1/NS,其中NS是每年快照的数量。这些K+1日期确定K过渡期。

该算法计算 N n 的过渡时期的数量n开始于评级。这些都增加了对所有债务人获得N中,样品中义务人的数量启动期间在等级。数周期,其中义务人n开始于评级并以评级结束j,或迁移j,表示通过 N j n ,也被计算。这些也加起来GET N j ,迁移的总数量从j该样本。

转移概率从估计j在一个周期中,表示由 P j

P j = N j N

这些概率被布置在一个周期转移矩阵P0,那里的我,我进入P0Pj

如果每年快照的数量NS为4(季度快照),概率在P03个月(或0.25年)的转移概率。您可能,但是,有兴趣在1年或2年的过渡概率。后者的时间间隔被称为变换间隔,Δt,它是用来转换P0成最终的转换矩阵,P,根据下式:

P = P 0 n 年代 * t

例如,如果NS=4和Δt=2,P包含季报快照估计两年的过渡概率。

请注意

对于队列算法,可选的输出参数idTotalssampleTotalstransprob包含以下信息:

  • idTotals .totalsVec (n)= ( N n )

  • idTotals(n)的.totalsMat= ( N , j n ) j

  • idTotals(n)的崔晓军薜永生=“队列”

  • sampleTotals.totalsVec= ( N )

  • sampleTotals.totalsMat= ( N , j ) j

  • sampleTotals.algorithm=“队列”

为了提高效率,矢量和矩阵中idTotals被存储为稀疏阵列。

当收视率必须被排除(见excludeLabels名称 - 值输入参数),涉及排除的评分的所有转变,从样品中除去。例如,如果“NR”等级必须排除任何过渡到“NR”“NR”都被排除在样本之外。对于其他所有等级的总次数进行相应的调整。欲了解更多信息,请参阅可视化的数据转换为transprob

持续时间估计

该算法计算 T n ,总时间义务人n花费排名估计时间范围内。这些量加起来,在所有债务人获得 T ,总时间排名的花,集体,由样品中的所有义务人。该算法还计算 T j n ,数量倍债务人n从评级迁移对评级j不等于j,估计时间范围内。而且它也增加了,直到得到 T j ,迁移的总数目,由样品中的所有义务人,在评级j不等于j

为了估计转移概率,持续时间算法首先计算一个生成器矩阵 Λ 。这个矩阵的每个非对角线项是升学率的估计出评级在评级j, 并且是

λ j = T j T , j

对角线项计算如下:

λ = - Σ j λ j

生成矩阵和区间Δ过渡t(例如,Δt=2对应两年的转移概率),得到的转移矩阵为 P = EXP ( Δ t Λ ) ,其中EXP表示矩阵取幂(expm在MATLAB中)。

请注意

在这段时间算法,可选的输出参数idTotalssampleTotalstransprob包含以下信息:

  • idTotals .totalsVec (n)= ( T n )

  • idTotals(n)的.totalsMat= ( T , j n ) j

  • idTotals(n)的崔晓军薜永生=“持续时间”

  • sampleTotals.totalsVec= ( T )

  • sampleTotals.totalsMat= ( T , j ) j

  • sampleTotals.algorithm=“持续时间”

为了提高效率,矢量和矩阵中idTotals被存储为稀疏阵列。

当收视率必须被排除(见excludeLabels名称 - 值输入参数),涉及的所有转变中排除的评分被从样品中除去。例如,如果“NR”等级必须排除任何过渡到“NR”“NR”都被排除在样本之外。总时间花费在“NR”(或任何其他排除评级)也被删除。

参考文献

[1]汉森,S.,舒曼。违约概率的置信区间银行与金融杂志。第30卷(8),爱思唯尔,2006年8月,第2281-2301页。

Loffler, G., P. N. Posch。信用风险建模使用Excel和VBA。西萨塞克斯郡,英格兰:威利财务,2007年。

[3] Schuermann,T. “信用迁移矩阵”。在E.梅尔尼克,B.埃弗里特(编),百科全书定量风险分析和评估。Wiley出版社,2008年。

介绍R2010b中