这个例子探讨了如何使用一个多因素关联模型来模拟相关的交易对手违约。
根据违约风险、违约概率和违约信息,对交易对手的投资组合进行潜在损失估计。一个creditDefaultCopula
对象用潜在变量对每个债务人的信用价值进行建模。潜在变量由一系列加权的基础信用因素和每个债务人的特殊信用因素组成。根据债务人的违约概率,潜在变量被映射到每个场景中债务人的违约或非违约状态。组合风险度量、交易对手级别的风险贡献和模拟收敛信息在万博1manbetxcreditDefaultCopula
目的。
此示例还探讨了对Copula类型的风险措施的敏感性(高斯Copula与tcopula)用于模拟。
该投资组合包括100个交易对手及其违约时的相关信贷风险敞口(ead.
),默认概率(PD.
),并拒绝丢失(乐金显示器
)。用一个creditDefaultCopula
对象,您可以在某些固定时间段内模拟默认值和损耗(例如,一年)。的ead.
,PD.
, 和乐金显示器
输入必须特定于特定时间范围。
在此示例中,每个对手映射到具有一组权重的两个基础信用因子。的重量2F.
变量是一个NumCounterparties-by-3
矩阵,其中每一行包含单个交易方的权重。前两列是两个信用因素的权重,最后一列是每个交易对手的特殊权重。本例中还提供了两个基本因素的相关矩阵(factorcor2f.
)。
加载CreditPortfoliodata.mat.谁ead.PD.乐金显示器重量2F.factorcor2f.
Name Size Bytes Class Attributes EAD 100x1 800 double factorcor2f 2x2 32 double LGD 100x1 800 double PD 100x1 800 double Weights2F 100x3 2400 double
初始化creditDefaultCopula
对象与投资组合信息和因子相关性。
RNG('默认');CC = CreditDefaultCopula(EAD,PD,LGD,重量2F,“FactorCorrelation”,factorcor2f);%将VAR水平变为99%。cc.VaRLevel = 0.99;disp (cc)
CreditDefaultCopula具有属性:投资组合:[100x5表]因子相关性:[2x2 double] varlevel:0.9900使用adplelial:0 portfolioloss:[]
cc.portfolio(1:5,:)
ANS = 5x5表ID EAD PD LGD重量_____________________________________ 21.627 0.0050092 0.35 0.35 0 0.65 2 3.2595 0.010180 0.35 0 0.45 0.55 3 20.391 0.11015 0.55 0.15 0 0.85 4.7534 0.0125 0.35 0.25 0 0.75 5.7193 0.060185 0.35 0.35 0 0.65
使用该模拟多因素模型模拟
功能。默认情况下,使用高斯库。此功能内部地图将实现潜在变量的默认状态映射到默认状态并计算相应的损耗。模拟后,creditDefaultCopula
对象填充了portfoliolosses.
和CounterpartyLosses
具有仿真结果的特性。
cc =模拟(cc、1 e5);disp (cc)
creditDefaultCopula with properties: Portfolio: [100x5 table] FactorCorrelation: [2x2 double] VaRLevel: 0.9900 UseParallel: 0 PortfolioLosses: [1x100000 double]
的portfoliorisk.
功能返回总投资组合损失分布的风险措施,以及可选择的各自置信区间。在集合中报告了价值 - 风险(VAR)和条件值 - 风险(CVAR)varlevel.
本物业creditDefaultCopula
目的。
[Pr,pr_ci] = portfoliorisk(cc);流('投资组合风险措施:\ n');disp (pr)流('\ n \ n \ ncelfident措施的风险措施:\ n');disp (pr_ci)
投资组合风险措施:el std var cvar ______ _______________________________________211212812.4 121.28风险措施的信心间隔
看看投资组合损失的分布。期望损失(EL)、VaR和CVaR用竖线表示。经济资本由VaR和EL之间的差值给出,用EL和VaR之间的阴影区域表示。
直方图(CC.Portfolosites)标题(“投资组合的损失”);包含('亏损($)')ylabel('频率') 抓住在%覆盖直方图上的风险措施。xlim([0 1.1 * pr.CVaR]) = @(x,color) plot([x x],ylim,'行宽'2,'颜色',颜色);Plotline(Pr.el,“b”);plotline(pr.var,“r”);cvarline = plotline(pr.cvar,'M');遮蔽预期损失和经济资本的区域。plotband = @(x,color)补丁([x pliplr(x)],[0 0 Repmat(Max(ylim),1,2)],...的颜色,“FaceAlpha”,0.15);elband = plotband([0 pr.el],'蓝色的');ulband = plotband([公关。EL pr.VaR),“红色”);传奇([elband、ulband cvarline),...{'预期损失',“经济资本”,'CVAR(99%)'},...'地点','北');
找到投资组合中的集中度风险风险协调
功能。风险协调
返回每个交易对手对投资组合EL和CVAR的贡献。这些添加剂捐款总和到相应的总投资组合风险措施。
RC =风险协调(CC);据报道了EL和CVAR的%风险贡献。RC(1:5,:)
ans = 5 × 5 table ID EL Std VaR CVaR __________ __________ _________ _________ 1 0.036031 0.022762 0.083828 0.13625 2 0.068357 0.039295 0.23373 0.24984 3 1.2228 0.60699 2.3184 2.3775 4 0.002877 0.00079014 0.0024248 0.0013137 5 0.12127 0.037144 0.18474 0.24622
通过他们的CVAR捐款找到最耐风险的交易对手。
[rc_sorted,idx] = sortrows(RC,'cvar',“下降”);rc_sorted(1:5,:)
ans = 5x5 table ID EL Std VaR CVaR __ _______ ______ ______ ______ 89 2.2647 2.2063 8.2676 8.9997 96 1.3515 1.6514 6.6157 7.7062 66 0.90459 1.474 6.4168 7.5149 22 1.5745 1.8663 6.0121 7.3814 16 1.6352 1.5288 6.3404 7.3462
绘制交易对手暴露和CVAR贡献。具有最高CVAR贡献的交易对手被绘制在红色和橙色。
图;指标= 50;colorVector = rc_sorted.cvar;分散(CC.Portfolio(IDX,:)。EAD,RC_SORTed.cvar,...pointSize colorVector,“填充”)Colormap('喷射') 标题('Cvar贡献与曝光')xlabel(“曝光”)ylabel('cvar贡献') 网格在
使用信心量
函数来研究模拟的融合。默认情况下,报告了CVAR置信带,但使用可选支持所有风险措施的置信带万博1manbetx危险
争论。
cb = confidenceBands (cc);%置信区间存储在一个表中。CB(1:5,:)
ANS = 5x4表NUMSCENARIOS较低的CVAR上___________________________ ______ ______1000 106.7 121.99 137.28 2000 109.18 117.28 125.38 3000 114.68 121.63 128.58 4000 114.02 120.06 126.11 5000 114.77 120.11 5000 114.77 120.36 125.94
绘制信心乐队,看看估算率如何融合。
图;图(...cb.numscenarios,...cb {: {'上''cvar''降低'}},...'行宽'2);标题(“CVaR: 95%置信区间vs.场景#”);包含(“场景#”);ylabel ('cvar + 95%ci') 传奇(上带的,'cvar','下乐队');网格在
找出必要的场景数量,以实现特定宽度的置信带。
width =(cb.upper - cb.lower)./ cb.cvar;图;绘图(CB.numscenarios,宽* 100,'行宽'2);标题('CVAR:95%置信区间宽度与#的情景');包含(“场景#”);ylabel ('CI的宽度为值%') 网格在击中乐队在1%(双面)范围内的%找到点% CVaR。阈值= 0.02;scenidx = find(width <= thresh,1,'第一的');scenvalue = cb.numscenarios(scenidx);widewvalue =宽度(scenidx);持有在绘图(XLIM,100 * [WideveValue WidtleValue],...[scenvalue scenvalue],ylim,...'行宽'2);标题('置信区间需要2%宽度的情况');
切换到A.tCopula增加了交易对手之间的默认相关性。这导致了对投资组合损失的更胖的尾部分布,并在压力方案中具有更高的潜在损失。
使用a重新运行模拟tCopula和计算新的投资组合风险度量。默认的自由度(dof)为tcopula是五个。
CC_T =模拟(CC,1E5,'系词',“t”);pr_t = portfoliorisk(cc_t);
了解投资组合风险如何变化t连系动词。
流(“与高斯Copula的投资组合风险:\ n”);disp (pr)流(' n\ nt关联的投资组合风险(dof = 5): n');DISP(PR_T)
高斯关联组合风险:EL Std VaR CVaR ______ ______ _____ ______ 24.876 23.778 102.4 121.28 t关联组合风险(dof = 5): EL Std VaR CVaR ______ ______ ______ ______ 24.808 38.749 186.08 250.59
比较每个模型的尾部损失。
%绘制高斯copula尾部。图;子图(2,1,1)P1 =直方图(CC.Portfolososes);持有在plotline(pr.var,[1 0.5 0.5])plotline(pr.cvar,[1 0 0])xlim([0.8 * pr.var 1.2 * pr_t.cvar]);ylim([0 1000]);网格在传奇(“损失分配”,“VaR”,'cvar') 标题(“高斯关联的投资组合损失”);包含('亏损($)');ylabel ('频率');%绘制T copula尾巴。subplot(2,1,2) p2 = histogram(cc_t.PortfolioLosses);持有在plotline(pr_t.var,[1 0.5 0.5])plotline(pr_t.cvar,[1 0 0])xlim([0.8 * pr.var 1.2 * pr_t.cvar]);ylim([0 1000]);网格在传奇(“损失分配”,“VaR”,'cvar');标题('投资组合损失与t Copula (dof = 5)');包含('亏损($)');ylabel ('频率');
尾部风险措施var和cvar使用的使用显着更高tCopula具有五度自由。默认相关性较高t因此,COPULAS,多个交易对手默认有更多场景。自由度的数量起着重要作用。对于非常高的自由度,结果与tcopula的结果与高斯copula相似。五个自由度是一个非常低的数字,因此,结果显示出惊人的差异。此外,这些结果强调了极端损失的潜力是非常敏感的选择联系符和自由度的数目。
信心量
|creditDefaultCopula
|getScenarios
|portfoliorisk.
|风险协调
|模拟