Совокупная информация о кредитных рейтингах в меньшем количестве рейтинговых категорий
агрегирует информацию о кредитных рейтингах, хранящуюся в totalsGrouped
= transprobgrouptotals(totals
,groupingEdges
)totals
входы в меньшее количество категорий оценок, которые определяются groupingEdges
аргумент.
Используйте исторические входные данные кредитного рейтинга из Data_TransProb.mat
. Загрузите входные данные из файловой Data_TransProb.mat
.
load Data_TransProb % Call TRANSPROB with two output arguments [transMat, sampleTotals] = transprob(data); transMat
transMat = 8×8
93.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.0011 0.0120 0.2582 1.4294 4.2898 81.2927 12.7167
0 0 0 0 0 0 0 100.0000
Группируйте в инвестиционный класс (рейтинги 1-4) и спекулятивный класс (рейтинги 5-7); Обратите внимание, что по умолчанию это последняя оценка (число 8).
edges = [4 7 8];
sampleTotalsGrp = transprobgrouptotals(sampleTotals,edges);
% Transition matrix at investment grade / speculative grade level
transMatIGSG = transprobbytotals(sampleTotalsGrp)
transMatIGSG = 3×3
98.5336 1.3608 0.1056
3.9155 92.9692 3.1153
0 0 100.0000
Получите 1-летнюю, 2-летнюю, 3-летнюю, 4-летнюю и 5-летнюю вероятности дефолта на уровне инвестиционного класса и спекулятивного уровня.
DefProb = zeros(2,5); for t = 1:5 transMatTemp = transprobbytotals(sampleTotalsGrp,'transInterval',t); DefProb(:,t) = transMatTemp(1:2,3); end DefProb
DefProb = 2×5
0.1056 0.2521 0.4359 0.6537 0.9027
3.1153 6.0157 8.7179 11.2373 13.5881
totals
- Общее количество наблюдаемых переходовВсего наблюдаемых переходов, заданных как структура или массив структур с длиной nTotals, с полями:
totalsVec
- разреженный вектор размера 1
-by- nRatings1
.
totalsMat
- Разреженная матрица размера nRatings1
-by- nRatings2
с nRatings1
≤ nRatings2
.
algorithm
- вектор символов со значениями 'duration'
или 'cohort'
.
Для 'duration'
алгоритм, totalsMat
(i, j) содержит общие переходы, наблюдаемые вне рейтинговых i, в рейтинговые j (все диагональные элементы 0). Общее время, потраченное на рейтинговые i, хранится в totalsVec
(<reservedrangesplaceholder1>). Для примера у вас есть три рейтинговые категории, Investment Grade (IG
), Спекулятивная степень (SG
), и по умолчанию (D
), и следующую информацию:
Total time spent IG SG D in rating: 4859.09 1503.36 1162.05 Transitions IG SG D out of (row) IG 0 89 7 into (column): 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 = 'duration'
Для 'cohort'
алгоритм, totalsMat
(i, j) содержит общие переходы от рейтинговых i к рейтинговым j и totalsVec
(i) - начальное значение в рейтинговом i. Для примера, учитывая следующую информацию:
Initial count IG SG D in rating: 4808 1572 1145 Transitions IG SG D from (row) IG 4721 80 7 to (column): SG 193 1347 32 D 0 0 1145
totals.totalsVec = [4808 1572 1145] totals.totalsMat = [4721 80 7 193 1347 32 0 0 1145 totals.algorithm = 'cohort'
Общие структуры итогов являются необязательными выходными аргументами из transprob
:
sampleTotals
- одна структура, суммирующая итоговую информацию для всего набора данных.
idTotals
- массив структур с итоговой информацией на уровне идентификатора.
Типы данных: struct
| structure
groupingEdges
- Показатель для группировки кредитных рейтингов по категориямИндикатор для группировки кредитных рейтингов в категории, заданный как числовой массив.
Эта таблица иллюстрирует, как сгруппировать список целых рейтингов в инвестиционный уровень (IG
) и спекулятивная степень (SG
Категории. Восемь рейтингов находятся в исходном списке. Информация о рейтингах 1
на 4
являются IG
, рейтинги 5
на 7
являются SG
, и рейтинговые 8
является собственной категорией. В этом примере массив группировок ребер [4 7 8]
.
Original ratings: 'AAA' 'AA' 'A' 'BBB' | 'BB' 'B' 'CCC' | 'D' | | Relative ordering: (1) (2) (3) (4) | (5) (6) (7) | (8) | | Grouped ratings: 'IG' | 'SG' | 'D' | | Grouping edges: (4) | (7) | (8)
В целом, если groupingEdges
имеет K элементы edge1
<edge2
< ...
<edge
K, рейтинги 1
на edge1
(включительно) сгруппированы в первую категорию, рейтинги edge1
+ 1
на edge2
во второй категории, и так далее.
Относительно последнего элемента, edge
K:
Если n Ratings1
равен n Ratings2
, затем edge
K должен быть равен n Ratings1
. Это приводит к K группам и n RatingsGrouped1
= <reservedrangesplaceholder1> <reservedrangesplaceholder0> = K.
Если n Ratings1
<<reservedrangesplaceholder1> <reservedrangesplaceholder0>, затем либо:
edge
K равен n Ratings1
, в каком случае рейтинги edge
K + 1
..., nRatings2
рассматриваются как собственные категории. Это приводит к K + (nRatings2
-edge K) группы, с nRatingsGrouped1
= K и nRatingsGrouped2
= K + (nRatings2
– edge
K); или
edge
K равен nRatings2
, в этом случае должен быть j-й краевой элемент, edge
j, таким образом edge
j равен nRatings1
. Это приводит к K группам и nRatingsGrouped1
= j и nRatingsGrouped2
= K.
Типы данных: double
totalsGrouped
- Агрегированная информация по категориямАгрегированная информация по категориям, возвращенная как структура или массив структур с длиной nTotals
, с полями:
totalsVec
- Вектор размера 1
-by- nRatingsGrouped1
.
totalsMat
- Матрица размера nRatingsGrouped1
-by- nRatingsGrouped2
.
algorithm
- Вектор символов, 'duration'
или 'cohort'
.
nRatingsGrouped1
и nRatingsGrouped2
определены в описании groupingEdges
. Каждая структура содержит агрегированную информацию по категориям на основе информации, представленной в соответствующей структуре в totals
, согласно группировке рейтингов, заданных groupingEdges
и в соответствии с algorithm
выбор.
Следуя примерам в описании totals
вход, предположим IG
и SG
сгруппированы в одну ND
(Не-По умолчанию) категория, с помощью ребер [2 3]
. Для 'cohort'
алгоритм, выход:
totalsGrouped.totalsVec = [6380 1145] totalsGrouped.totalsMat = [6341 39 0 1145] totalsGrouped.algorithm = 'cohort'
'duration'
алгоритм:totalsGrouped.totalsVec = [6362.45 1162.05] totalsGrouped.totalsMat = [0 39 0 0] totalsGrouped.algorithm = 'duration'
The cohort
алгоритм оценивает вероятности перехода, основываясь на последовательности моментальных снимков кредитных рейтингов в регулярно разнесенных точках во времени.
Если кредитный рейтинг компании изменяется дважды между двумя датами моментального снимка, промежуточный рейтинг упускается из виду, и только начальный и окончательный рейтинги влияют на оценки. Для получения дополнительной информации смотрите раздел Алгоритмы transprob
.
В отличие от cohort
алгоритм, duration
алгоритм оценивает вероятности перехода на основе полной истории кредитных рейтингов, рассматривая точные даты, в которые происходит миграция кредитного рейтинга.
В этом методе нет концепции моментальных снимков, и все миграции кредитного рейтинга влияют на оценки, даже когда рейтинг компании изменяется дважды за короткое время. Для получения дополнительной информации смотрите раздел Алгоритмы transprob
.
[1] Hanson, S., T. Schuermann. Доверительные интервалы для вероятностей дефолта. Журнал банковского дела и финансов. Том 30 (8), Elsevier, август 2006, стр. 2281-2301.
[2] Löffler, G., P. N. Posch. Моделирование кредитного риска с использованием Excel и VBA. Западный Сассекс, Англия: Wiley Finance, 2007.
[3] Schuermann, T. «Credit Migration Matrices». in E. Melnick, B. Everitt (eds.), Encyclopedia of Quantitative Risk Analysis and Assessment. Уайли, 2008.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.