creditDefaultCopula
Этот пример показывает общий рабочий процесс для использования объекта creditDefaultCopula
для портфеля инструментов кредита.
Для примера усовершенствованного рабочего процесса с помощью объекта creditDefaultCopula
смотрите Моделирование Коррелированые Значения по умолчанию со Связками.
Загрузите сохраненные данные о портфеле. Создайте объект creditDefaultCopula
с использованием 2D факторной модели со значениями 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
Установите свойство VarLevel
для объекта creditDefaultCopula
к 99% (значение по умолчанию составляет 95%).
cdc.VaRLevel = 0.99;
Используйте функцию 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]
Используйте функцию portfolioRisk
, чтобы получить отчет для мер по риску и доверительные интервалы для EL
, Std
, VaR
и CVaR
.
[portRisk,RiskConfidenceInterval] = portfolioRisk(cdc)
portRisk=1×4 table
EL Std VaR CVaR
______ ______ ______ ______
24.774 23.693 101.57 120.22
RiskConfidenceInterval=1×4 table
EL Std VaR CVaR
________________ ________________ ________________ _______________
24.627 24.92 23.589 23.797 100.65 102.82 119.1 121.35
Используйте функцию histogram
, чтобы отобразить распределение для EL
, VaR
и CVaR
.
histogram(cdc.PortfolioLosses);
title('Distribution of Portfolio Losses');
Используйте функцию riskContribution
, чтобы отобразить вклад риска. Вклады риска, EL
и CVaR
, являются дополнением. Если вы суммируете каждую из этих двух метрик по всем контрагентам, вы сообщили о значениях для целого портфеля в таблице portfolioRisk
.
rc = riskContribution(cdc); disp(rc(1:10,:))
ID EL Std VaR CVaR __ __________ __________ ________ __________ 1 0.038604 0.02495 0.10482 0.12868 2 0.067068 0.036472 0.17378 0.24527 3 1.2527 0.62684 2.0384 2.3103 4 0.0023253 0.00073407 0 0.0026274 5 0.11766 0.042185 0.27028 0.26223 6 0.12437 0.07545 0.37669 0.47915 7 0.82913 0.3475 1.6 1.6516 8 0.00085629 4.3929e-05 0.001544 0.00089197 9 0.91406 0.87311 3.55 4.009 10 0.24352 0.36543 1.5864 2.2781
Используйте функцию 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]
Используйте функцию confidenceBands
, чтобы сравнить полосы уверенности для двух различных связок.
confidenceBands(cdc,'RiskMeasure','Std','ConfidenceIntervalLevel',0.90,'NumPoints',10)
ans=10×4 table
NumScenarios Lower Std Upper
____________ ______ ______ ______
10000 23.467 23.739 24.019
20000 23.781 23.977 24.176
30000 23.589 23.747 23.908
40000 23.484 23.62 23.758
50000 23.486 23.608 23.732
60000 23.521 23.632 23.745
70000 23.558 23.662 23.767
80000 23.575 23.672 23.769
90000 23.602 23.693 23.785
1e+05 23.606 23.693 23.78
confidenceBands(cdct,'RiskMeasure','Std','ConfidenceIntervalLevel',0.90,'NumPoints',10)
ans=10×4 table
NumScenarios Lower Std Upper
____________ ______ ______ ______
10000 32.578 32.957 33.345
20000 32.428 32.694 32.966
30000 32.505 32.723 32.945
40000 32.131 32.318 32.507
50000 32.018 32.185 32.353
60000 31.875 32.026 32.179
70000 31.984 32.124 32.266
80000 32.006 32.137 32.27
90000 31.939 32.063 32.188
1e+05 31.903 32.02 32.138
asrf
| confidenceBands
| creditDefaultCopula
| getScenarios
| portfolioRisk
| riskContribution
| simulate