simulate

Симулируйте миграции кредита с помощью creditMigrationCopula объект

Описание

пример

cmc = simulate(cmc,NumScenarios) выполняет полную симуляцию сценариев кредита и вычисляет изменения в значении из-за изменений кредитного рейтинга для портфеля, заданного в creditMigrationCopula объект. Для получения дополнительной информации об использовании creditMigrationCopula возразите, смотрите creditMigrationCopula.

Примечание

При создании creditMigrationCopula объект, можно установить 'UseParallel' свойство, если у вас есть Parallel Computing Toolbox™. Однажды 'UseParallel' свойство установлено, параллельной обработкой является использованный для расчета simulate.

пример

cmc = simulate(___,Name,Value) добавляют дополнительные аргументы пары "имя-значение" для (Copula, DegreesOfFreedom, и BlockSize).

Примеры

свернуть все

Загрузите сохраненные данные о портфеле.

load CreditMigrationData.mat;

Масштабируйте цены облигаций для положений портфеля для каждой связи.

migrationValues = migrationPrices .* numBonds;

Создайте creditMigrationCopula объект с использованием с четырьмя факторными моделями creditMigrationCopula.

cmc = creditMigrationCopula(migrationValues,ratings,transMat,...
lgd,weights,'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;

Используйте simulate функция, чтобы симулировать 100 000 сценариев. После использования симулируют, можно затем использовать portfolioRisk, riskContribution, confidenceBands, и getScenarios с обновленным creditMigrationCopula объект.

cmc = simulate(cmc,1e5)
cmc = 
  creditMigrationCopula with properties:

            Portfolio: [250x5 table]
    FactorCorrelation: [4x4 double]
         RatingLabels: [8x1 string]
     TransitionMatrix: [8x8 double]
             VaRLevel: 0.9900
          UseParallel: 0
      PortfolioValues: [1x100000 double]

Можно использовать riskContribution функция с creditMigrationCopula объект сгенерировать риск Contributions таблица.

Contributions = riskContribution(cmc);
Contributions(1:10,:)
ans=10×5 table
    ID      EL       Std       VaR       CVaR 
    __    ______    ______    ______    ______

     1    16.397    40.977    192.11    254.12
     2    9.1179    21.417      83.3    134.31
     3    5.7873    24.887    99.573    236.84
     4    6.4235     57.71    192.06    338.23
     5    22.739    72.371    289.12    544.69
     6    10.776    111.12    327.96    704.29
     7    2.9046     88.98    324.91     551.4
     8    12.152    42.123    189.38    265.97
     9    2.1567    4.0432    3.2359    26.112
    10    1.7495    2.4593    11.003    15.933

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

свернуть все

creditMigrationCopula объект, полученный из creditMigrationCopula.

Для получения дополнительной информации о creditMigrationCopula возразите, смотрите creditMigrationCopula.

Количество сценариев, чтобы симулировать, заданный как неотрицательное целое число. Сценарии обрабатываются в блоках, чтобы сохранить ресурсы машины.

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

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

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

Пример: cmc = simulate(cmc,NumScenarios,'Copula','t','DegreesOfFreedom',5,'BlockSize',1000)

Тип связки, заданной как разделенная запятой пара, состоящая из 'Copula' и вектор символов или строка. Возможные значения:

  • 'Gaussian' — Гауссова связка

  • 't' — связка t со степенями свободы, заданными при помощи DegreesOfFreedom.

Типы данных: char | string

Степени свободы для связки t, заданной как разделенная запятой пара, состоящая из 'DegreesOfFreedom' и неотрицательное числовое значение. Если Copula установлен в 'Gaussian', DegreesOfFreedom параметр проигнорирован.

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

Количество сценариев к процессу в каждой итерации, заданной как разделенная запятой пара, состоящая из 'BlockSize' и неотрицательное числовое значение. Настройте BlockSize для производительности, особенно при выполнении больших симуляций.

Если незаданный, BlockSize значения по умолчанию к значению приблизительно 1 000 000 / (Номер контрагентов). Например, если существует 100 контрагентов, BlockSize по умолчанию 10 000 сценариев.

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

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

свернуть все

creditMigrationCopula объект, возвращенный как обновленный объект, который заполняется с симулированным PortfolioValues.

Для получения дополнительной информации о creditMigrationCopula возразите, смотрите creditMigrationCopula.

Примечание

В simulate функция, Weights (заданный при использовании creditMigrationCopula) преобразовываются, чтобы гарантировать, что скрытые переменные имеют среднее значение 0 и отклонение 1.

Ссылки

[1] Crouhy, M., Galai, D. и Марк, R. “Сравнительный анализ Текущих Моделей Кредитного риска”. Журнал Банковского дела и Финансов. Издание 24, 2000, стр 59–117.

[2] Gordy, M. “Сравнительная Анатомия Моделей Кредитного риска”. Журнал Банковского дела и Финансов. Издание 24, 2000, стр 119–149.

[3] Gupton, G., палец, C. и Bhatia, M. “CreditMetrics – технический документ”. J. P. Morgan, Нью-Йорк, 1997.

[4] Jorion, P. Финансовое руководство менеджера по рискам. 6-й выпуск. Финансы Вайли, 2011.

[5] Löffler, G. и Posch, P. Credit Risk Modeling Using Excel и VBA. Финансы Вайли, 2007.

[6] Макнейл, A., Фрэй, R. и Embrechts, P. Количественное управление рисками: Концепции, методы и инструменты. Издательство Принстонского университета, 2005.

Введенный в R2017a

Для просмотра документации необходимо авторизоваться на сайте