transprobbytotals

Оцените вероятности перехода с помощью totals вход структуры

Описание

пример

[transMat,sampleTotals] = transprobbytotals(totals) оценивает вероятности перехода с помощью totals структурный вход. transprobbytotals полезен для удаления информации о выбросах, получения начальных доверительных интервалов или вычисления оценок вероятности перехода для различных параметров периодичности (1-летние переходы, 2-летние переходы и так далее) эффективно.

пример

[transMat,sampleTotals] = transprobbytotals(___,Name,Value) добавляет необязательные аргументы пары "имя-значение".

Примеры

свернуть все

Используйте исторические входные данные кредитного рейтинга из Data_TransProb.mat и transprob чтобы сгенерировать вход для transprobbytotals:

load Data_TransProb

% Call TRANSPROB with three output arguments
[transMat, sampleTotals, idTotals] = 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

Предположим, что компании 4 и 27 являются выбросами, и вы хотите удалить их из предварительно обработанных idTotals структурировать массив и оценить новые вероятности перехода.

idTotals([4 27]) = [];
[transMat1, sampleTotals1] = transprobbytotals(idTotals);
transMat1
transMat1 = 8×8

   93.1172    5.8427    0.8231    0.1763    0.0377    0.0012    0.0001    0.0017
    1.6213   93.1501    4.3584    0.6614    0.1631    0.0055    0.0004    0.0397
    0.1239    2.9027   92.2297    4.0628    0.5367    0.0661    0.0028    0.0753
    0.0236    0.2313    5.0070   90.1825    3.7986    0.4734    0.0642    0.2193
    0.0216    0.1134    0.6357    5.7959   88.9866    3.4497    0.2920    0.7050
    0.0010    0.0062    0.1081    0.8697    7.3367   86.7217    2.5171    2.4395
    0.0002    0.0011    0.0120    0.2591    1.4340    4.3034   81.3027   12.6875
         0         0         0         0         0         0         0  100.0000

Получите вероятности дефолта 1 год, 2 года, 3 года, 4 года и 5 лет без информации о выбросах (то есть с помощью sampleTotals1).

DefProb = zeros(7,5);
for t = 1:5
    transMatTemp = transprobbytotals(sampleTotals1,'transInterval',t);
    DefProb(:,t) = transMatTemp(1:7,8);
end
DefProb
DefProb = 7×5

    0.0017    0.0070    0.0159    0.0285    0.0450
    0.0397    0.0828    0.1299    0.1813    0.2377
    0.0753    0.1606    0.2567    0.3640    0.4831
    0.2193    0.4675    0.7430    1.0445    1.3700
    0.7050    1.4668    2.2759    3.1232    4.0000
    2.4395    4.9282    7.4071    9.8351   12.1847
   12.6875   23.1184   31.7177   38.8282   44.7266

Входные параметры

свернуть все

Всего наблюдаемых переходов, заданных как структура или массив структур с длиной nTotals, с полями:

  • totalsVec - разреженный вектор размера 1-by- nRatings1.

  • totalsMat - Разреженная матрица размера nRatings1-by- nRatings2 с nRatings1nRatings2.

  • 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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: transMat = transprobbytotals(Totals1,'transInterval',5)

Количество моментальных снимков кредитного рейтинга в год, которые будут учитываться для оценки, заданное как разделенная разделенными запятой парами, состоящая из 'snapsPerYear' и числовое значение 1, 2, 3, 4, 6, или 12.

Примечание

Этот параметр используется только со 'cohort' algorithm.

Типы данных: double

Длина интервала перехода, в годах, задается как разделенная разделенными запятой парами, состоящая из 'transInterval' и числовое значение.

Типы данных: double

Выходные аргументы

свернуть все

Матрица переходных вероятностей в процентах, возвращенная как nRatings1-by- nRatings2 матрица переходов.

Структура с выборочными итогами, возвращенная с полями:

  • totalsVec - Вектор размера 1-by- nRatings1.

  • totalsMat - Матрица размера nRatings1-by- nRatings2 с nRatings1nRatings2.

  • algorithm - вектор символов со значениями 'duration' или 'cohort'.

Если totals является массивом структур, sampleTotals содержит агрегированную информацию. То есть sampleTotals.totalsVec - сумма totals(<reservedrangesplaceholder1>). totalsVec по всем k и аналогично для totalsMat. Когда totals сама по себе является одной структурой, sampleTotals и totals те же самые.

Подробнее о

свернуть все

Оценка когорты

Алгоритм когорты оценивает вероятности перехода на основе последовательности снимков кредитных рейтингов в регулярно разнесенных точках во времени.

Если кредитный рейтинг компании изменяется дважды между двумя датами моментального снимка, промежуточный рейтинг упускается из виду, и только начальный и окончательный рейтинги влияют на оценки.

Оценка длительности

В отличие от когортного метода, алгоритм длительности оценивает вероятности перехода на основе полной истории кредитных рейтингов, рассматривая точные даты, в которые происходят миграции кредитного рейтинга.

В этом методе нет концепции моментальных снимков, и все миграции кредитного рейтинга влияют на оценки, даже когда рейтинг компании изменяется дважды за короткое время.

Ссылки

[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.

Введенный в R2010b