simulate

Моделируйте кредитные дефолты с помощью creditDefaultCopula объект

Описание

пример

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

Примечание

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

пример

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

Примеры

свернуть все

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

load CreditPortfolioData.mat;

Создайте creditDefaultCopula объект с двухфакторной моделью.

cdc = creditDefaultCopula(EAD,PD,LGD,Weights2F,'FactorCorrelation',FactorCorr2F)
cdc = 
  creditDefaultCopula with properties:

            Portfolio: [100x5 table]
    FactorCorrelation: [2x2 double]
             VaRLevel: 0.9500
          UseParallel: 0
      PortfolioLosses: []

Установите VaRLevel до 99%.

cdc.VaRLevel = 0.99;

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

cdc = simulate(cdc,1e5)
cdc = 
  creditDefaultCopula with properties:

            Portfolio: [100x5 table]
    FactorCorrelation: [2x2 double]
             VaRLevel: 0.9900
          UseParallel: 0
      PortfolioLosses: [1x100000 double]

Можно использовать riskContribution с creditDefaultCopula объект, чтобы сгенерировать риск Contributions таблица.

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

     1      0.036031      0.022762     0.083828       0.13625
     2      0.068357      0.039295      0.23373       0.24984
     3        1.2228       0.60699       2.3184        2.3775
     4      0.002877    0.00079014    0.0024248     0.0013137
     5       0.12127      0.037144      0.18474       0.24622
     6       0.12638      0.078506      0.39779       0.48334
     7       0.84284        0.3541       1.6221        1.8183
     8    0.00090088    0.00011379    0.0016463    0.00089197
     9       0.93117       0.87638       3.3868        3.9936
    10       0.26054       0.37918       1.7399        2.3042

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

свернуть все

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

Для получения дополнительной информации о creditDefaultCopula объект, см. creditDefaultCopula.

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

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

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

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

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

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

  • 'Gaussian' - Гауссова копула

  • 't' - A t копула со степенями свободы, заданными с помощью DegreesOfFreedom.

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

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

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

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

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

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

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

свернуть все

Обновленный creditDefaultCopula объект. Объект заполняется моделируемым PortfolioLosses.

Для получения дополнительной информации о creditDefaultCopula объект, см. creditDefaultCopula.

Примечание

В simulate function, the Weights (задается при использовании creditDefaultCopula) преобразуются, чтобы убедиться, что скрытые переменные имеют среднее значение 0 и отклонение 1.

Ссылки

[1] Crouhy, M., Galai, D. and Mark, R. «Сравнительный анализ текущих моделей кредитного риска». Журнал банковского дела и финансов. Том 24, 2000, стр. 59-117.

[2] Горди, М. «Сравнительная анатомия моделей кредитного риска». Журнал банковского дела и финансов. Том 24, 2000, стр. 119-149.

[3] Gupton, G., Finger, C., and Bhatia, M. «CreditMetrics - Technical Document». J. P. Морган, Нью-Йорк, 1997.

[4] Jorion, P. Financial Risk Manager Handbook. 6-е издание. Wiley Finance, 2011.

[5] Löffler, G. and Posch, P. Credit Risk Modeling Using Excel и VBA. Wiley Finance, 2007.

[6] McNeil, A., Frey, R. and Embrechts, P. Quantitative Risk Management: Концепции, Technologies, and Tools. Пресса Принстонского университета, 2005.

Введенный в R2017a