主要内容

creditMigrationCopula

模拟分析多因素信用迁移评级模型

描述

creditMigrationCopula将具有一组交易对手的信用敏感头寸组合作为输入,并对信用评级迁移进行基于copula的多因素模拟。针对每种情况计算交易对手信用评级迁移和投资组合价值的后续变化,并报告若干风险度量。

creditMigrationCopula将每个交易对手与一个被称为潜在变量的随机变量关联起来,该随机变量映射到基于评级转换矩阵的信用评级。对于每种情况,基于交易对手的已实现信用评级,重新计算与每个交易对手的头寸价值。这些潜在变量是通过使用多因素模型来模拟的,其中系统性信贷波动是用一系列风险因素模拟的。这些因素可以基于行业部门(如金融或航空航天),地理区域(如美国或欧元区),或任何其他潜在的信贷风险驱动因素。每个交易对手都被分配了一系列权重,以确定它们对每个潜在信贷因素的敏感性。

模型的输入是:

  • migrationValues-每个信用评级的交易对手仓位值。

  • 评级-每个交易对手的当前信用评级。

  • 转移矩阵-信用评级转换概率矩阵。

  • 乐金显示器-默认损失(1 â '复苏).

  • 权重-因子和特质模型权重

在您创建creditMigrationCopula对象(如创建creditMigrationCopula而且属性),用模拟函数,利用多因素模型模拟信用迁移。然后,对于详细的报告,使用以下函数:portfolioRiskriskContributionconfidenceBands,getScenarios

创建

描述

例子

cmc= creditMigrationCopula (migrationValues评级转移矩阵乐金显示器权重创建一个creditMigrationCopula对象。的creditMigrationCopula对象具有以下属性:

  • 投资组合

    包含以下变量的表:

    • ID-标识对方的ID

    • migrationValues-每个信用评级的交易对手头寸值

    • 评级-每个交易对手的当前信用评级

    • 乐金显示器-默认损失

    • 权重-交易对手方的因素和特殊权重

  • FactorCorrelation

    因子相关矩阵,aNumFactors——- - - - - -NumFactors定义风险因素之间相关性的矩阵。

  • RatingLabels

    所有可能的信用评级的集合。

  • 转移矩阵

    交易对手从初始信用评级过渡到最终信用评级的概率矩阵。行表示初始信用评级,列表示最终评级。最上面一行是交易对手从最高评级开始的概率(例如AAA),最下面一行是交易对手的数据,从默认状态开始。最末一行可以省略,表示违约的交易对手方仍处于违约状态。每一行之和必须为1.代码中定义的信用评级顺序必须与行和列的顺序匹配RatingLabels参数。最后一列是每个评级的违约概率。如果未指定,默认评级标签为:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

  • VaRLevel

    风险价值水平,用于报告VaR和CVaR。

  • PortfolioValues

    一个NumScenarios——- - - - - -1投资组合价值的向量。方法之前,此属性为空模拟函数。

例子

cmc= creditMigrationCopula (___名称,值属性使用名称-值对和前面语法中的任何参数。例如,cmc = creditMigrationCopula (migrationValues,评级转移矩阵,乐金显示器,重量、VaRLevel, 0.99).可以指定多个名称-值对作为可选的名称-值对参数。

输入参数

全部展开

每个信用评级的交易对手仓位值,以NumCounterparties——- - - - - -NumRatings矩阵。每一行都包含每个信用评级的交易对手头寸的可能值。最后一个评级必须是默认评级。的migrationValues输入设置投资组合财产。

默认评级的迁移值(的最后一列)migrationValuespre-recovery输入)。这是一个参考值(例如,面值、当前评级的远期价值或其他),在模拟过程中乘以恢复速率,以获得在违约情况下资产的价值。恢复速率定义为1-乐金显示器,在那里乐金显示器使用乐金显示器输入参数。的乐金显示器是一个常数还是一个从beta分布中抽取的随机数(参见乐金显示器输入)。

请注意

creditMigrationCopula模型模拟固定时间段内(例如,一年)投资组合价值的变化。的migrationValues而且转移矩阵必须针对特定的时间段。

数据类型:

每个交易对手方的当前信用评级,指定为NumCounterparties——- - - - - -1向量,表示初始信用状态。所有有效信用评级及其顺序的集合是通过使用可选的来定义的RatingLabels参数。的评级输入设置投资组合财产。

如果RatingLabels未指定时,默认评级标签为:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

数据类型:|字符串|细胞

信用评级转换概率,用a表示NumRatings——- - - - - -NumRatings矩阵。该矩阵包含了从某一特定信用评级开始的交易对手在一段固定时间内转变为其他评级的概率。每一行都包含特定初始信用评级的所有转换概率。的转移矩阵输入设置转移矩阵财产。

最上面一行是交易对手从最高评级开始的概率(例如AAA).底部一行表示交易对手方从默认状态开始的概率。最末一行可以省略,表示违约的交易对手方仍处于违约状态。每一行之和必须为1

代码中定义的信用评级顺序必须与行和列的顺序匹配RatingLabels参数。最后一列是每个评级的违约概率。如果RatingLabels未指定时,默认评级标签为:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

请注意

creditMigrationCopula模型模拟固定时间段内(例如,一年)投资组合价值的变化。的migrationValues而且转移矩阵必须针对特定的时间段。

数据类型:

损失给定默认值,指定为NumCounterparties——- - - - - -1包含元素的数字向量0通过1,代表当交易对手违约时损失的风险敞口比例。乐金显示器定义为(1 â '复苏).例如,一个乐金显示器0.6意味着在违约事件中有40%的恢复率。的乐金显示器输入设置投资组合财产。

乐金显示器也可以指定为NumCounterparties——- - - - - -2矩阵,其中第一列为LGD均值,第二列为LGD标准差。然后,在违约的情况下,从beta分布中随机抽取LGD值,并为违约对手方提供参数。

LGD均值和标准差的有效开放区间为:

  • 对于第一列,平均值在0而且1

  • 对于第二列,LGD标准差介于0而且sqrt (m * (1 - m))

数据类型:

因子和特质权重,指定为NumCounterparties————(NumFactors+1)数组。每一行都包含特定交易对手的因素权重。每一列都包含一个潜在风险因素的权重。最后一列权重包含每个交易对手的特殊风险权重。特殊权重代表公司特有的信用风险。每个交易对手方(即每一行)的权重之和必须为1.的权重输入设置投资组合财产。

例如,如果一个交易对手的信誉由60%的美国、20%的欧洲和20%的特质构成,那么权重向量是(0.6 0.2 0.2)

数据类型:

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:cmc = creditMigrationCopula (migrationValues,评级转移矩阵,乐金显示器,重量、VaRLevel, 0.99)

对方的用户定义id,指定为逗号分隔的一对,由“ID”和一个NumCounterparties——- - - - - -1向量的IDS代表每个对手方。ID用于识别暴露在投资组合表和风险贡献表。ID必须是数字、字符串数组或字符向量的单元格数组。的ID名称-值对参数设置投资组合财产。

如果未指定的,ID默认为数值向量(1: NumCounterparties).

数据类型:|字符串|细胞

风险级别值(用于报告VaR而且CVaR),指定为逗号分隔的对,由“VaRLevel”和介于两者之间的数字0而且1.的VaRLevel名称-值对参数设置VaRLevel财产。

数据类型:

因子相关矩阵,指定为逗号分隔对,由“FactorCorrelation”和一个NumFactors——- - - - - -NumFactors定义风险因素之间相关性的矩阵。的FactorCorrelation名称-值对参数设置FactorCorrelation财产。

如果未指定,则因子相关矩阵默认为单位矩阵,这意味着因子不相关。

数据类型:

所有可能的信用评级的集合,指定为逗号分隔的对,由“RatingLabels”和一个NumRatings——- - - - - -1向量,其中第一个元素是最高的信用评级,最后一个元素是默认状态。的RatingLabels名称-值对参数设置RatingLabels财产。

数据类型:细胞||字符串

标志使用并行处理进行模拟,指定为逗号分隔的对,由“UseParallel”的标量值真正的.的UseParallel名称-值对参数设置UseParallel财产。

请注意

“UseParallel”属性只能在创建creditMigrationCopula对象,如果您有并行计算工具箱™。一旦“UseParallel”属性,则使用并行处理riskContribution模拟

数据类型:逻辑

属性

全部展开

详细的信用组合,指定为MATLAB®表,其中包含作为输入传递到creditMigrationCopula对象。

投资组合表的每个构造函数输入都有一个列(MigrationValues评级乐金显示器权重,ID).表格的每一行代表一个交易对手方。

例如:

ID MigrationValues等级LGD权重__ _______________ ____________ ____________ 1 [1x8双]"A" 0.6509 0.5 0.5 2 [1x8双]"BBB" 0.8283 0.55 0.45 3 [1x8双]"AA" 0.6041 0.7 0.3 4 [1x8双]"BB" 0.6509 0.55 0.45 5 [1x8双]"BBB" 0.4966 0.75 0.25

数据类型:表格

信用因素相关矩阵,具体为aNumFactors——- - - - - -NumFactors矩阵。通过使用可选的名称-值对参数指定相关矩阵“FactorCorrelation”创建creditMigrationCopula对象。

数据类型:

的所有可能的信用评级的集合,使用可选的名称-值输入参数指定“RatingLabels”创建creditMigrationCopula对象。

数据类型:|细胞|字符串

交易对手从初始信用评级过渡到最终信用评级的概率,使用输入参数指定的转移矩阵创建creditMigrationCopula对象。行表示初始信用评级,列表示最终评级。最上面一行对应的是最高评级。

最上面一行是交易对手从最高评级开始的概率(例如AAA),最下面一行是交易对手的数据,从默认状态开始。最末一行可以省略,表示违约的交易对手方仍处于违约状态。每一行之和必须为1

代码中定义的信用评级顺序必须与行和列的顺序匹配RatingLabels参数。最后一列是每个评级的违约概率。如果RatingLabels未指定时,默认评级标签为:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

数据类型:

在报告VaR和CVaR时使用的风险级别值,使用可选的名称-值对参数指定“VaRLevel”创建creditMigrationCopula对象。

数据类型:

组合值,指定为1——- - - - - -NumScenarios向量。在创建了creditMigrationCopula对象,PortfolioValues属性是空的。调用模拟函数,PortfolioValues由每个场景的投资组合值填充。

数据类型:

标志来对模拟使用并行处理,使用可选的名称-值对参数指定“UseParallel”当您创建creditMigrationCopula对象。的UseParallel名称-值对参数设置UseParallel财产。

请注意

“UseParallel”属性只能在创建creditMigrationCopula对象,如果您有“并行计算工具箱”。一旦“UseParallel”属性,则使用并行处理riskContribution模拟

数据类型:逻辑

对象的功能

模拟 模拟信用迁移使用creditMigrationCopula对象
portfolioRisk 生成投资组合级别的风险度量
riskContribution 为投资组合中的每个对手方生成风险贡献
confidenceBands 置信区间的乐队
getScenarios 交易对手的场景

例子

全部折叠

加载保存的投资组合数据。

负载CreditMigrationData.mat

为每种债券的投资组合头寸计算债券价格。

migrationValues = migrationPrices .* numBonds;

创建一个creditMigrationCopula对象与四因素模型使用creditMigrationCopula

cmc = creditMigrationCopula (transMat migrationValues,评级,...乐金显示器,重量,“FactorCorrelation”factorCorr)
cmc = creditMigrationCopula属性:Portfolio: [250x5 table] FactorCorrelation: [4x4 double] RatingLabels: [8x1 string] TransitionMatrix: [8x8 double] VaRLevel: 0.9500 UseParallel: 0 PortfolioValues: []

设置VaRLevel到99%。

cmc。VaRLevel = 0.99;

投资组合属性包含关于迁移值、评级、lgd和权重的信息。

头(cmc.Portfolio)
ID MigrationValues评级乐金显示器的重量  __ _______________ ______ ______ ___________________________________ 1 1×8双”“0.6509 0 0 0 0.5 0.5 - 2 1×8双" BBB " 0.8283 0.45 0.55 0 0 0 3 1×8双“AA”0.6041 0 0.7 0.3 0 0 4 1×8双“BB”0.6509 0 0.55 0.45 0 0 5 1×8双" BBB " 0.4966 0 0 0.75 0.25 0 6 1×8双“BB”0.8283 0 0 0 0.65 0.35 7 1×8双“BB”0.6041 0 0 0 0.65 0.35 1 8×8双“BB”0.4873 0.5 0.5 0 0 0

迁移值中的列与评级的顺序相同,默认评级位于最后一列。

例如,这些是第一个对手方的迁移值。请注意,default的值高于某些非default评级。这是因为默认评级的迁移值是一个参考值(例如,面值、当前评级的向前值或其他值),在模拟过程中乘以恢复速率,以获得在违约情况下资产的值。恢复速率为1-乐金显示器乐金显示器输入creditMigrationCopula是一个常数乐金显示器价值(乐金显示器输入只有一列)。恢复速率为随机数乐金显示器输入creditMigrationCopula指定为beta分布的平均值和标准偏差(乐金显示器输入有两列)。

栏(cmc.Portfolio.MigrationValues (1:)) xticklabels (cmc.RatingLabels)标题(“第一公司的迁移价值”

图中包含一个axes对象。标题为Migration Values for First Company的axes对象包含一个类型为bar的对象。

使用模拟函数来模拟100,000个场景,然后使用portfolioRisk函数。

cmc =模拟(cmc, 1 e5)
cmc = creditMigrationCopula with properties: Portfolio: [250x5 table] FactorCorrelation: [4x4 double] RatingLabels: [8x1 string] TransitionMatrix: [8x8 double] VaRLevel: 0.9900 UseParallel: 0 PortfolioValues: [2.0082e+06 1.9950e+06 1.9933e+06 2.0009e+06…]
portRisk = portfolioRisk (cmc)
portRisk =1×4表EL性病VaR CVaR  ______ _____ _____ _____ 4515.9 12963 57176 83975

查看投资组合价值的直方图。

h =直方图(cmc.PortfolioValues, 125);标题(“投资组合价值的分布”);

图中包含一个axes对象。标题为“投资组合值分布”的axis对象包含一个类型为直方图的对象。

加载保存的投资组合数据。

负载CreditMigrationData.mat

为每种债券的投资组合头寸计算债券价格。

migrationValues = migrationPrices .* numBonds;

创建一个creditMigrationCopula对象与四因素模型使用creditMigrationCopula

cmc = creditMigrationCopula (transMat migrationValues,评级,...乐金显示器,重量,“FactorCorrelation”factorCorr)
cmc = creditMigrationCopula属性:Portfolio: [250x5 table] FactorCorrelation: [4x4 double] RatingLabels: [8x1 string] TransitionMatrix: [8x8 double] VaRLevel: 0.9500 UseParallel: 0 PortfolioValues: []

设置VaRLevel到99%。

cmc。VaRLevel = 0.99;

使用模拟函数来模拟100,000个场景,然后使用portfolioRisk函数。

cmc =模拟(cmc, 1 e5)
cmc = creditMigrationCopula with properties: Portfolio: [250x5 table] FactorCorrelation: [4x4 double] RatingLabels: [8x1 string] TransitionMatrix: [8x8 double] VaRLevel: 0.9900 UseParallel: 0 PortfolioValues: [2.0082e+06 1.9950e+06 1.9933e+06 2.0009e+06…]
portRisk = portfolioRisk (cmc)
portRisk =1×4表EL性病VaR CVaR  ______ _____ _____ _____ 4515.9 12963 57176 83975

查看投资组合价值的直方图。

h =直方图(cmc.PortfolioValues, 125);标题(“投资组合价值的分布”);

图中包含一个axes对象。标题为“投资组合值分布”的axis对象包含一个类型为直方图的对象。

如果所有的交易对手保持他们当前的信用评级,覆盖投资组合的价值。

CurrentRatingValue = portRisk。EL +的意思(cmc.PortfolioValues);持有情节([CurrentRatingValue CurrentRatingValue],[0马克斯(h.Values)],...“线宽”2);网格

图中包含一个axes对象。标题为“投资组合值分布”的axis对象包含两个类型为直方图、直线的对象。

参考文献

[1] Crouhy, M., Galai, D.和Mark, R. <当前信用风险模型的比较分析>。银行与金融杂志。2000年第24卷,第59 - 117页。

[2] Gordy, M. <信用风险模型的比较解剖学>。银行与金融杂志。第24卷,2000年,第119 - 149页。

格普顿,G.,芬格,C.,巴蒂亚,M.。“CreditMetrics -技术文档。”jp摩根,纽约,1997年。

[4] Jorion, P。金融风险管理手册。第六版。威利金融,2011。

[5] Löffler, G.和波施,P。基于Excel和VBA的信用风险建模。威利金融,2007。

A.麦克尼尔,R.弗雷,P.埃布莱希茨。定量风险管理:概念、技术和工具。普林斯顿大学出版社,2005。

版本历史

介绍了R2017a

Baidu
map