creditDefaultCopula
Рабочий процесс симуляцииВ этом примере показан общий рабочий процесс использования creditDefaultCopula
объект для портфеля кредитных инструментов.
Для примера расширенного рабочего процесса с использованием creditDefaultCopula
объект, см. Моделирование коррелированных значений по умолчанию с Копуласом.
Загрузите сохраненные данные портфеля. Создайте 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
Установите 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.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
Используйте 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.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
Используйте 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.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
asrf
| confidenceBands
| creditDefaultCopula
| getScenarios
| portfolioRisk
| riskContribution
| simulate