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
станд
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