主要内容

creditMigrationCopula

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

描述

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

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

模型的输入是:

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

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

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

  • 乐金显示器-损失给定默认(1−复苏).

  • 重量-因素和特殊模型权重

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

创建

描述

例子

CMC.= creditMigrationCopula (migrationValues评分TransitionMatrix.乐金显示器重量的)创建一个creditMigrationCopula对象。这creditMigrationCopula对象具有以下属性:

  • 投资组合

    具有以下变量的表:

    • ID-识别每个交易对手的ID

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

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

    • 乐金显示器- 损耗默认

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

  • 因子相关性

    因子相关矩阵,anum..——- - - - - -num..矩阵定义风险因素之间的相关性。

  • RatingLabels

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

  • 转移矩阵

    对手对手转换从起始信用评级到最终信用评级的概率矩阵。行表示初始信用评级,列表示最终评级。顶行持有以最高评级(例如AAA.),下面一行保存了从默认状态开始的交易对手的数据。下面一行可以省略,表示违约方仍未违约。每一行的和必须为1.中定义的信用评级的顺序必须与行和列的顺序匹配RatingLabels参数。最后一列给出了每种评级的违约概率。如果未指定,则默认评级标签为:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

  • VaRLevel

    报告var和cvar时使用的值 - 风险级别。

  • PortfolioValues

    一种numscenarios.——- - - - - -1投资组合价值的向量。属性之前,此属性为空模拟功能。

例子

CMC.= creditMigrationCopula (___名称,价值的)属性使用前面语法中的名称-值对和任何参数。例如,CMC = CreditMigrationCopula(迁移值,评级,转换船,LGD,重量,'varlevel',0.99).您可以指定多个名称-值对作为可选的名称-值对参数。

输入参数

全部展开

每一信用评级的交易对手头寸值,具体为aNumCounterparties——- - - - - -NumRatings矩阵。每一行保存着每一个信用评级的交易对手的可能值。最后一个评级必须是违约评级。这migrationValues输入设置投资组合财产。

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

笔记

creditMigrationCopula模型在固定时间段(例如,一年)上模拟了产品组合价值的变化。这migrationValuesTransitionMatrix.必须针对特定的时间段。

数据类型:

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

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

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

信用评级转换概率,指定为aNumRatings——- - - - - -NumRatings矩阵。这个矩阵包含了交易对手从某一特定信用评级开始,在某个固定时间内转变为其他信用评级的概率。每一行包含特定开始信用评级的所有转移概率。这TransitionMatrix.输入设置转移矩阵财产。

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

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

笔记

creditMigrationCopula模型在固定时间段(例如,一年)上模拟了产品组合价值的变化。这migrationValuesTransitionMatrix.必须针对特定的时间段。

数据类型:

损失给定的违约,指定为NumCounterparties——- - - - - -1数字矢量与元素0.通过1,表示当交易对手违约时损失的风险敞口的比例。乐金显示器定义为(1−复苏).例如,一个乐金显示器0.6意味着在发生违约的情况下,恢复率为40%。这乐金显示器输入设置投资组合财产。

乐金显示器或者可以指定为一个NumCounterparties——- - - - - -2矩阵,第一列保持LGD平均值,第二列保持LGD标准偏差。然后,在默认情况下,从Beta分布随机绘制LGD值,为默认对手提供的参数提供参数。

LGD均值和标准偏差的有效开距为:

  • 对于第一列,平均值在0.1

  • 对于第二列,LGD的标准差为0.sqrt (m * (1 - m))

数据类型:

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

例如,如果交易对手的信用等级由60%的美国人,20%的欧洲人和20%的异类组成,那么重量向量是(0.6 0.2 0.2)

数据类型:

名称值对参数

指定可选的逗号分离对名称,价值参数。的名字是参数名称和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:CMC = CreditMigrationCopula(迁移值,评级,转换船,LGD,重量,'varlevel',0.99)

交易对手的用户定义id,指定为逗号分隔的对,包括'ID'和一个NumCounterparties——- - - - - -1向量的ID每个交易对手方都有一个S。ID用于识别投资组合表和风险贡献表。ID必须是数字,字符串数组或字符向量的单元数组。这ID名称-值对参数设置投资组合财产。

如果未指定,ID默认为数字向量(1:numcounterparties.).

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

风险等级的价值(用于报告VaRCVaR),指定为逗号分隔的对,由'varlevel'和中间的数字0.1.这VaRLevel名称-值对参数设置VaRLevel财产。

数据类型:

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

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

数据类型:

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

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

标志来对模拟使用并行处理,指定为逗号分隔的对,由'使用指惯'和的标量值真正的错误的.这使用指α.名称-值对参数设置使用指α.财产。

笔记

'使用指惯'属性只能在创建creditMigrationCopula对象如果您有并行计算工具箱™。一旦'使用指惯'属性设置时,使用并行处理riskContribution模拟

数据类型:逻辑

属性

全部展开

详细的信用组合,指定为MATLAB®表,其中包含作为输入传入的所有投资组合数据creditMigrationCopula对象。

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

例如:

ID MigrationValues Rating LGD Weights __ _______________ ____________ ____________ 1 [1x8 double] "A" 0.6509 0.5 0.5 2 [1x8 double] "BBB" 0.8283 0.55 0.45 3 [1x8 double] "AA" 0.6041 0.7 0.3 4 [1x8 double] "BB" 0.6509 0.55 0.45 5 [1x8 double] "BBB" 0.4966 0.75 0.25

数据类型:表格

信用因素的关联矩阵,记为num..——- - - - - -num..矩阵。使用可选名称值对参数指定相关矩阵“FactorCorrelation”当你创造的时候creditMigrationCopula对象。

数据类型:

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

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

交易对手从开始信用评级转换到最终信用评级的概率,由输入参数指定的转移矩阵当你创造的时候creditMigrationCopula对象。行表示初始信用评级,列表示最终评级。最上面一行对应的是最高的评级。

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

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

数据类型:

在使用可选名称 - 值对参数指定的var和cvar时使用的风险级别的值'varlevel'当你创造的时候creditMigrationCopula对象。

数据类型:

投资组合值,指定为a1——- - - - - -numscenarios.向量。在创建了creditMigrationCopula对象,PortfolioValues财产是空的。在你调用之后模拟功能,PortfolioValues使用每个场景上的投资组合值填充。

数据类型:

标志为模拟使用并行处理,使用可选的名称-值对参数指定'使用指惯'当你创建一个creditMigrationCopula对象。这使用指α.名称-值对参数设置使用指α.财产。

笔记

'使用指惯'属性只能在创建creditMigrationCopula如果您有并行计算工具箱,则对象。一旦'使用指惯'属性设置时,使用并行处理riskContribution模拟

数据类型:逻辑

对象功能

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

例子

全部收缩

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

加载CreditMigrationData.mat.;

为每一种债券按投资组合仓位调整债券价格。

MigrationValues =迁移前。* numbonds;

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

cmc = creditMigrationCopula (transMat migrationValues,评级,...乐金显示器,重量,“FactorCorrelation”factorCorr)
cmc = creditMigrationCopula with properties: 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)
ans =8×5表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.357 1 × 8双“BB”0.6041 0 0 0 0.65 0.35 8 1 × 8双“BB”0.4873 0.5 0 0 0 0.5

迁移值中的列与额定值的顺序相同,最后一列中的默认等级。

例如,这些是第一个交易对手的迁移值。请注意default的值高于一些非默认评级。这是因为默认评级的迁移值是一个参考值(例如,面值、当前评级的远期值或其他),该参考值乘以模拟期间的回收率,以获得在发生违约时资产的价值。恢复速率为1-乐金显示器乐金显示器输入creditMigrationCopula是一个常数乐金显示器价值(乐金显示器输入有一列)。时,回收率为一个随机量乐金显示器输入creditMigrationCopula被指定为Beta分布的平均值和标准偏差(乐金显示器输入有两列)。

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

图中包含一个轴对象。第一个公司标题迁移值的轴对象包含类型栏的对象。

使用模拟模拟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);标题(“投资组合价值的分布”);

图中包含一个轴对象。标题为“Portfolio Values Distribution”的轴对象包含一个类型直方图对象。

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

加载CreditMigrationData.mat.;

为每一种债券按投资组合仓位调整债券价格。

MigrationValues =迁移前。* numbonds;

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

cmc = creditMigrationCopula (transMat migrationValues,评级,...乐金显示器,重量,“FactorCorrelation”factorCorr)
cmc = creditMigrationCopula with properties: 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);标题(“投资组合价值的分布”);

图中包含一个轴对象。标题为“Portfolio Values Distribution”的轴对象包含一个类型直方图对象。

如果所有交易对手保持当前的信用评级,则将投资组合的价值叠加。

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

图中包含一个轴对象。具有产品标题分布的轴对象包含2型直方图,行的2个对象。

参考文献

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

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

Gupton, G., Finger, C., Bhatia, M." CreditMetrics -技术文档"J. P.摩根,纽约,1997。

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

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

[6]麦克尼尔,A.,Frey,R.和Horthechts,P。量化风险管理:概念,技术和工具。普林斯顿大学出版社,2005。

在R2017A介绍