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

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

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

Шаг 1. Создайте объект creditDefaultCopüa с двухфакторной моделью.

Загрузите сохраненные данные портфеля. Создайте creditDefaultCopula объект с двухфакторной моделью, использующий со значениями EAD, PD, LGD, и 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: [1x100000 double]

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

Используйте portfolioRisk функция для получения отчета по показателям риска и доверительным интервалам для EL, Std, 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 функция для отображения распределения для EL, VaR, и CVaR.

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

Figure contains an axes. The axes 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: [1x100000 double]

Шаг 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

См. также

| | | | | |

Похожие примеры

Подробнее о

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