creditDefaultCopula Рабочий процесс симуляции

Этот пример показывает общий рабочий процесс для использования creditDefaultCopula объект для портфеля инструментов кредита.

Для примера усовершенствованного рабочего процесса с помощью creditDefaultCopula возразите, смотрите Моделирование Коррелированые Значения по умолчанию со Связками.

Шаг 1. Создайте объект creditDefaultCopula с 2D факторной моделью.

Загрузите сохраненные данные о портфеле. Создайте creditDefaultCopula объект с использованием 2D факторной модели со значениями EAD, PDlgd , и Weights2F.

load CreditPortfolioData.mat;
cdc = creditDefaultCopula(EAD, PD, LGD,Weights2F,'FactorCorrelation',FactorCorr2F);
disp(cdc)
  creditDefaultCopula with properties:

            Portfolio: [100x5 table]
    FactorCorrelation: [2x2 double]
             VaRLevel: 0.9500
          UseParallel: 0
      PortfolioLosses: []
disp(cdc.Portfolio(1:10:100,:))
    ID     EAD          PD        LGD              Weights          
    __    ______    __________    ____    __________________________

     1    21.627     0.0050092    0.35      0.35         0      0.65
    11    29.338     0.0050092    0.55      0.35         0      0.65
    21    3.8275     0.0020125    0.25    0.1125    0.3375      0.55
    31    26.286     0.0020125    0.55    0.1125    0.0375      0.85
    41    42.868     0.0050092    0.55      0.25         0      0.75
    51    7.1259    0.00099791    0.25         0      0.25      0.75
    61    10.678     0.0020125    0.35         0      0.15      0.85
    71     2.395    0.00099791    0.55         0      0.15      0.85
    81    26.445      0.060185    0.55         0      0.45      0.55
    91    7.1637       0.11015    0.25      0.35         0      0.65

Шаг 2. Установите VaRLevel на 99%.

Установите VarLevel свойство для creditDefaultCopula возразите против 99% (значение по умолчанию составляет 95%).

cdc.VaRLevel = 0.99;

Шаг 3. Запустите симуляцию.

Используйте simulate функционируйте, чтобы запустить симуляцию на creditDefaultCopula объект для 100 000 сценариев.

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

            Portfolio: [100x5 table]
    FactorCorrelation: [2x2 double]
             VaRLevel: 0.9900
          UseParallel: 0
      PortfolioLosses: [30.1008 3.6910 3.2895 19.2151 7.5761 44.5088 ... ]

Шаг 4. Сгенерируйте отчет для портфельного риска.

Используйте portfolioRisk функция, чтобы получить отчет для мер по риску и доверительные интервалы для ELстандvar, и CVaR.

[portRisk,RiskConfidenceInterval] = portfolioRisk(cdc)
portRisk=1×4 table
      EL       Std       VaR      CVaR 
    ______    ______    _____    ______

    24.876    23.778    102.4    121.28

RiskConfidenceInterval=1×4 table
           EL                 Std                 VaR                 CVaR      
    ________________    ________________    ________________    ________________

    24.729    25.023    23.674    23.883    101.19     103.5    120.13    122.42

Шаг 5. Визуализируйте распределение.

Используйте histogram функционируйте, чтобы отобразить распределение для ELvar, и CVaR.

histogram(cdc.PortfolioLosses);
title('Distribution of Portfolio Losses');

Figure contains an axes object. The axes object with title Distribution of Portfolio Losses contains an object of type histogram.

Шаг 6. Сгенерируйте отчет вкладов риска.

Используйте riskContribution функционируйте, чтобы отобразить вклад риска. Вклады риска, EL и CVaR, дополнение. Если вы суммируете каждую из этих двух метрик по всем контрагентам, вы сообщили о значениях для целого портфеля в portfolioRisk таблица.

rc = riskContribution(cdc);

disp(rc(1:10,:))
    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

Шаг 7. Симулируйте рискозависимость с t связкой.

Используйте simulate функция с дополнительными входными параметрами для Copula и t. Сохраните результаты в новый creditDefaultCopula объект (cct).

cdct = simulate(cdc,1e5,'Copula','t','DegreesOfFreedom',10)
cdct = 
  creditDefaultCopula with properties:

            Portfolio: [100x5 table]
    FactorCorrelation: [2x2 double]
             VaRLevel: 0.9900
          UseParallel: 0
      PortfolioLosses: [3.6910 1.9775 128.4550 2.1852 4.8512 0 26.2682 0 ... ]

Шаг 8. Сравните полосы доверия для различных связок.

Используйте confidenceBands функция, чтобы сравнить полосы доверия для двух различных связок.

confidenceBands(cdc,'RiskMeasure','Std','ConfidenceIntervalLevel',0.90,'NumPoints',10) 
ans=10×4 table
    NumScenarios    Lower      Std      Upper 
    ____________    ______    ______    ______

       10000        23.525    23.799    24.079
       20000        23.564    23.758    23.955
       30000        23.543    23.701    23.861
       40000        23.621    23.758    23.897
       50000        23.565    23.687    23.811
       60000        23.604    23.716    23.829
       70000        23.688    23.792    23.897
       80000        23.663     23.76    23.858
       90000        23.639     23.73    23.823
       1e+05        23.691    23.778    23.866

confidenceBands(cdct,'RiskMeasure','Std','ConfidenceIntervalLevel',0.90,'NumPoints',10)
ans=10×4 table
    NumScenarios    Lower      Std      Upper 
    ____________    ______    ______    ______

       10000        31.923    32.294    32.675
       20000        31.775    32.036    32.302
       30000        31.759    31.972    32.188
       40000        31.922    32.107    32.295
       50000        32.012    32.179    32.347
       60000        31.911    32.062    32.216
       70000        31.879    32.019    32.161
       80000        31.909     32.04    32.173
       90000        31.866     31.99    32.114
       1e+05        31.933     32.05    32.169

Смотрите также

| | | | | |

Связанные примеры

Больше о

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