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: [2.0082e+06 1.9950e+06 1.9933e+06 2.0009e+06 ... ]

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

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

     1    15.521    41.153    238.72    279.18
     2      8.49    18.838    92.074    122.19
     3    6.0937    20.069    113.22    181.53
     4    6.6964    55.885    272.23    313.25
     5    23.583    73.905    360.32    573.39
     6    10.722    114.97    445.94    728.38
     7    1.8393    84.754    262.32    490.39
     8    11.711    39.768    175.84    253.29
     9    2.2154    4.4038    22.797    31.039
    10    1.7453    2.5545    9.8801    17.603

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

свернуть все

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

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

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

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

Аргументы name-value

Задайте дополнительные разделенные запятой пары 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
Для просмотра документации необходимо авторизоваться на сайте