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