Агрегирование информации о кредитных рейтингах в меньшее количество категорий рейтингов
агрегирует информацию о кредитных рейтингах, хранящуюся в 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около-nRatings1.
totalsMat - Разреженная матрица размера nRatings1около-nRatings2 с nRatings1 ≤ nRatings2.
algorithm - символьный вектор со значениями; 'duration' или 'cohort'.
Для 'duration' алгоритм, totalsMat(i, j) содержит суммарные переходы, наблюдаемые вне рейтинга i, в рейтинг j (все диагональные элементы равны 0). Общее время, затраченное на оценку i, хранится вtotalsVec(i). Например, у вас есть три категории рейтинга, инвестиционный класс (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 0totals.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, иtotalsVeci) является первоначальным подсчетом в рейтинге 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 1145totals.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К, оценки 1 кому edge1 (включительно) сгруппированы в первую категорию, оценки edge1+1 кому edge2 во второй категории и так далее.
Относительно последнего элемента, edgeК:
Если nRatings1 равно nRatings2, то edgeK должно быть равно nRatings1. Это приводит к K группам, и nRatingsGrouped1 = nRatingsGrouped2 = K.
Если nRatings1 < nRatings2, затем либо:
edgeK равно nRatings1, в этом случае оценки edgeK +1,...,nRatings2 рассматриваются как собственные категории. Это приводит к K + (nRatings2-edgeK) группы, с nRatingsGrouped1 = K и nRatingsGrouped2 = К + (nRatings2 – edgeК); или
edgeK равно nRatings2, в этом случае должен быть j-й краевой элемент, edgej, такой, что edgej равно nRatings1. Это приводит к K группам, и nRatingsGrouped1 = j и nRatingsGrouped2 = K.
Типы данных: double
totalsGrouped - Агрегированная информация по категориямАгрегированная информация по категориям, возвращаемая в виде структуры или массива структуры длиной nTotals, с полями:
totalsVec - Вектор размера 1около-nRatingsGrouped1.
totalsMat - Матрица размера nRatingsGrouped1около-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' cohort алгоритм оценивает вероятности перехода на основе последовательности снимков кредитных рейтингов в регулярно разнесенные моменты времени.
Если кредитный рейтинг компании изменяется дважды между двумя моментальными датами, промежуточный рейтинг игнорируется, и только первоначальный и окончательный рейтинги влияют на оценки. Дополнительные сведения см. в разделе Алгоритмы transprob.
В отличие от cohort алгоритм, duration алгоритм оценивает вероятности перехода на основе полной истории кредитных рейтингов, просматривая точные даты, в которые происходят миграции кредитных рейтингов.
В этом методе нет концепции снимков, и все миграции кредитного рейтинга влияют на оценки, даже когда рейтинг компании меняется дважды в течение короткого времени. Дополнительные сведения см. в разделе Алгоритмы transprob.
[1] Хэнсон, С., Т. Шуэрман. «Доверительные интервалы для вероятностей дефолта». Журнал банковских и финансовых операций. Том 30 (8), Elsevier, август 2006, стр. 2281-2301.
[2] Лёффлер, Г., П. Н. Пош. Моделирование кредитных рисков с использованием Excel и VBA. Западный Сассекс, Англия: Wiley Finance, 2007.
[3] Шуэрманн, Т. «Матрицы кредитной миграции». в Э. Мельник, Б. Эверитт (ред.), Энциклопедия количественного анализа и оценки рисков. Уайли, 2008.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.