主要内容

信用额度

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

描述

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

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

模型的输入是:

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

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

  • 过渡矩阵- 信用评级转换概率的矩阵。

  • LGD.- 默认丢失(1 -复苏).

  • 砝码-因子与特质模型权重

创建之后信用额度对象(如创建creditMigrationCopula特性), 使用模拟使用多因素模型来模拟信用迁移的功能。然后,有关详细报告,请使用以下功能:portfoliorisk.,风险贡献,信任带GetScenarios.

创建

描述

实例

cmc=creditMigrationCopula(迁移价值,评级,过渡矩阵,LGD.,砝码)创造一个信用额度对象这个信用额度对象具有以下属性:

  • 投资组合:

    包含以下变量的表:

    • 身份证件- ID识别每个交易对手

    • 迁移价值-各信用评级的交易对手头寸值

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

    • LGD.-违约损失

    • 砝码- 对手对手的因子和特质权重

  • 因子相关性:

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

  • 分级标签:

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

  • TransitionMatrix.:

    交易对手从初始信用评级过渡到最终信用评级的概率矩阵。行表示起始信用评级,列表示最终评级。最上面一行包含交易对手从最高评级开始的概率(例如AAA),下面一行保存了从默认状态开始的交易对手的数据。下面一行可以省略,表示违约方仍未违约。每行必须总和1..行和列的顺序必须与所定义的信用评级顺序匹配分级标签参数最后一列包含每个评级的违约概率。如果unspecified, the default rating labels are:“AAA级”、“AA”、“”、“BBB”,“BB”、“B”,“CCC”、“D”

  • 瓦莱夫:

    报告VaR和CVaR时使用的风险水平值。

  • PortfolioValues:

    A.努姆塞纳里奥斯——- - - - - -1.投资组合价值的向量。属性之前,此属性为空模拟作用

实例

cmc=creditMigrationCopula(___,名称、值)设置特性使用前面语法中的名称-值对和任何参数。例如,cmc=creditMigrationCopula(迁移值、评级、转换矩阵、LGD、权重、'VaRLevel',0.99).您可以指定多个名称-值对作为可选的名称-值对参数。

输入参数

全部展开

每个信用评级的交易对手位置的值,指定为anumcounterparties.——- - - - - -numratings.矩阵。每一行保存着每一个信用评级的交易对手的可能值。最后一个评级必须是违约评级。这个迁移价值输入设置投资组合所有物

默认评级的迁移值(最后一列迁移价值输入)是预恢复。这是一个参考值(例如,票面价值、当前评级的远期价值或其他),在模拟过程中乘以回收率,以获得违约情况下的资产价值。回收率定义为:1.-LGD.,在那里LGD.使用LGD.输入参数。这个LGD.是常数或从测试版分布汲取的随机数(参见图表的描述LGD.输入)。

笔记

这个信用额度模型模拟固定时间段(例如,一年)内投资组合价值的变化。这个迁移价值过渡矩阵必须针对特定的时间段。

数据类型:

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

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

数据类型:|细绳|单间牢房

信用评级转移概率,指定为numratings.——- - - - - -numratings.矩阵。该矩阵包含对特定信用评级转换的对手对手在某些固定时间段内的其他评级开始的概率。每行保存特定的起始信用评级的所有转换概率。这个过渡矩阵输入设置TransitionMatrix.所有物

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

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

笔记

这个信用额度模型模拟固定时间段(例如,一年)内投资组合价值的变化。这个迁移价值过渡矩阵必须针对特定的时间段。

数据类型:

损失给定的违约,指定为numcounterparties.——- - - - - -1.包含来自的元素的数值向量0通过1.,表示交易对手违约时损失的风险敞口份额。LGD.定义为(1)−复苏).例如,一个LGD.0.6意味着在发生违约的情况下,恢复率为40%。这个LGD.输入设置投资组合所有物

LGD.也可以指定为numcounterparties.——- - - - - -2.矩阵,其中第一列包含LGD平均值,第二列包含LGD标准偏差。然后,在违约情况下,从贝塔分布中随机抽取LGD值,并为违约对手提供参数。

LGD均值和标准偏差有效的开放间隔是:

  • 对于第一列,平均值在01.

  • 对于第二列,LGD标准偏差在0平方米(米*(1米))

数据类型:

因子和特质权重,指定为numcounterparties.————(NumFactors+1.)数组。每行包含特定交易对手的因子权重。每列包含潜在风险因素的权重。中的最后一列砝码包含每个交易对手的特质风险重量。特质权重代表了公司的特定信用风险。每个交易对手的重量总量(即每行)必须总和1..这个砝码输入设置投资组合所有物

例如,如果交易对手的信誉度由60%的美国、20%的欧洲和20%的特质组成,那么砝码向量是[0.6 0.2 0.2]

数据类型:

名称-值对参数

指定可选的逗号分隔的字符对名称、值参数。姓名是参数名和价值是对应的值。姓名必须出现在引号内。您可以按任意顺序指定多个名称和值对参数,如下所示:Name1, Value1,…,的家

例子:cmc=creditMigrationCopula(迁移值、评级、转换矩阵、LGD、权重、'VaRLevel',0.99)

交易对手的用户定义ID,指定为逗号分隔对,由“身份证”numcounterparties.——- - - - - -1.向量身份证件对于每个交易对手。身份证件用于确定在投资组合表和风险贡献表。身份证件必须是数字、字符串数组或字符向量的单元格数组。这个身份证件名称 - 值对参数设置投资组合所有物

如果没有说明,身份证件默认为数字向量(1:NumCounterparties).

数据类型:|细绳|单间牢房

风险水平价值(用于报告var.CVaR),指定为逗号分隔的配对组成“VaRLevel”和一个数字之间01..这个瓦莱夫名称 - 值对参数设置瓦莱夫所有物

数据类型:

因子相关矩阵,指定为逗号分隔对组成'factorcorlation'NumFactors——- - - - - -NumFactors定义风险因素之间相关性的矩阵。这个因子相关性名称 - 值对参数设置因子相关性所有物

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

数据类型:

所有可能信用评级的集合,指定为逗号分隔的一对,包括“分级标签”numratings.——- - - - - -1.向量,其中第一个元素是最高信用评级,最后一个元素是默认状态。这个分级标签名称 - 值对参数设置分级标签所有物

数据类型:单间牢房||细绳

FLAG使用并行处理进行模拟,指定为逗号分隔的对组成“使用并行”和标量值符合事实的错误的.这个使用并行名称 - 值对参数设置使用并行所有物

笔记

这个“使用并行”属性只能在创建信用额度对象,如果您有并行计算工具箱™. 一旦“使用并行”设置属性,并行处理使用风险贡献模拟

数据类型:必然的

特性

全部展开

信用投资组合的详细信息,指定为Matlab®表,其中包含作为输入传递到信用额度对象

这个投资组合表中每个构造函数输入都有一个列(迁移价值,评级,LGD.,砝码身份证件).表中每行代表一个交易对手。

例如:

UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU49660.750.25

数据类型:桌子

信用系数的相关矩阵,指定为NumFactors——- - - - - -NumFactors矩阵使用可选的名称-值对参数指定相关矩阵'factorcorlation'当您创建信用额度对象

数据类型:

设置所有可能的信用评级,使用可选的名称值输入参数指定“分级标签”当您创建信用额度对象

数据类型:|单间牢房|细绳

对手对手的概率从起始信用评级转换为最终信用评级,使用输入参数指定的转移矩阵当您创建信用额度对象这个rows represent the starting credit ratings and the columns represent the final ratings. The top row corresponds to the highest rating.

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

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

数据类型:

报告VaR和CVaR时使用的风险级别值,使用可选的名称-值对参数指定“VaRLevel”当您创建信用额度对象

数据类型:

投资组合值,指定为a1.——- - - - - -努姆塞纳里奥斯向量。创建信用额度对象,呢PortfolioValues属性为空。在调用模拟作用PortfolioValues使用每个场景的投资组合值填充。

数据类型:

标志为模拟使用并行处理,使用可选的名称-值对参数指定“使用并行”当您创建信用额度对象这个使用并行名称 - 值对参数设置使用并行所有物

笔记

这个“使用并行”属性只能在创建信用额度对象,如果您有并行计算工具箱。一旦“使用并行”设置属性,并行处理使用风险贡献模拟

数据类型:必然的

目标函数

模拟 使用信用额度对象
portfoliorisk. 生成投资组合级别的风险度量
风险贡献 为投资组合中的每个交易对手产生风险贡献
信任带 置信区间带
GetScenarios. 交易对手的场景

例子

全部崩溃

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

负载CreditMigrationData.mat;

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

migrationValues=migrationPrices.*numBonds;

创建一个信用额度对象的四因素模型,使用信用额度

cmc = creditMigrationCopula (transMat migrationValues,评级,......LGD,重量,'factorcorlation',factorcorr)
cmc=creditMigrationCopula带属性:公文包:[250x5表]因子相关:[4x4双精度]分级标签:[8x1字符串]转换矩阵:[8x8双精度]变量级别:0.9500使用并行:0公文包值:[]

设定瓦莱夫至99%。

cmc。var.Level = 0.99;

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

头(cmc.Portfolio)
ans =8×5表ID MigrationValues评分LGD重量__ _______________ ______ ___________________________________ 1 1×8的双 “A” 0.6509 0 0 0 0.5 0.5 2 1×8双 “BBB” 0.8283 0 0.55 0 0 0.45 3 1×8双 “AA” 0.6041 0 0.7 0 0 0.3 4 1×8双“BB“0.6509 0 0.55 0 0 0.45 5 1x8双”BBB“0.4966 0 0 0.75 0 0.25 6 1x8双”BB“0.8283 0 0 0 0.65 0.35 7 1x8双”BB“0.6041 0 0 0 0.65 0.35 8 1x8双倍”BB“0.4873 0.5 0 0 0 0.5

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

例如,这些是第一个交易对手的迁移值。请注意,默认值高于某些非默认评级。这是因为默认评级的迁移值是参考值(例如,面值、当前评级的远期值或其他)该值乘以模拟过程中的回收率,以获得发生违约时的资产价值。回收率为1-LGD.LGD.输入到信用额度是一个常数LGD.价值(备LGD.输入有一列)。当LGD.输入到信用额度指定为β分布的平均值和标准偏差(LGD.输入有两列)。

条形图(cmc.Portfolio.MigrationValues(1,:))xticklabels(cmc.RatingLabels)标题(“第一家公司的迁移值”)

图中包含一个Axis对象。具有第一个公司标题迁移值的Axis对象包含一个bar类型的对象。

使用模拟函数模拟100000个场景,然后使用portfoliorisk.作用

cmc =模拟(cmc, 1 e5)
cmc=creditMigrationCopula带属性:公文包:[250x5表]因子相关:[4x4双]评级标签:[8x1字符串]转换矩阵:[8x8双]变量级别:0.9900使用并行:0组合值:[2.0082e+06 1.9950e+06 1.9933e+06 2.0009e+06…]
portRisk=portfolioRisk(cmc)
Portrack =.1×4表EL STD VAR CVAR ______ _____ ___________ 4515.9 12963 57176 83975

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

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

图中包含Axis对象。具有投资组合值标题分布的Axis对象包含histogram类型的对象。

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

负载CreditMigrationData.mat;

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

migrationValues=migrationPrices.*numBonds;

创建一个信用额度对象的四因素模型,使用信用额度

cmc = creditMigrationCopula (transMat migrationValues,评级,......LGD,重量,'factorcorlation',factorcorr)
cmc=creditMigrationCopula带属性:公文包:[250x5表]因子相关:[4x4双精度]分级标签:[8x1字符串]转换矩阵:[8x8双精度]变量级别:0.9500使用并行:0公文包值:[]

设定瓦莱夫至99%。

cmc。var.Level = 0.99;

使用模拟函数模拟100000个场景,然后使用portfoliorisk.作用

cmc =模拟(cmc, 1 e5)
cmc=creditMigrationCopula带属性:公文包:[250x5表]因子相关:[4x4双]评级标签:[8x1字符串]转换矩阵:[8x8双]变量级别:0.9900使用并行:0组合值:[2.0082e+06 1.9950e+06 1.9933e+06 2.0009e+06…]
portRisk=portfolioRisk(cmc)
Portrack =.1×4表EL STD VAR CVAR ______ _____ ___________ 4515.9 12963 57176 83975

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

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

图中包含Axis对象。具有投资组合值标题分布的Axis对象包含histogram类型的对象。

覆盖投资组合所采用的价值,如果所有的交易对手都维持其当前的信用评级。

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

图中包含一个轴对象。具有投资组合值标题分布的Axis对象包含2个类型为histogram、line的对象。

参考文献

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

[2] 信贷风险模型的比较解剖银行与金融杂志。卷。24,2000,第119-149页。

[3] Gupton,G.,Finger,C.,和Bhatia,M。“信用媒体 - 技术文件。”J.P. Morgan,纽约,1997年。

[4] 约里安,P。金融风险经理手册。第6版。Wiley Finance,2011。

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

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

R2017a中引入