Main Content

Analyze the Sensitivity of Concentration to a Given Exposure

This example shows how to sweep through a range of values for an existing exposure from 0 to double the current value and plot the corresponding values. This could be used as one criterion (among others) for assessing portfolio limits.

Load credit portfolio data and use exposure at default (EAD) as the portfolio values. Compute current values of concentration indices.

load CreditPortfolioData.mat
P = EAD;
CurrentConcentration = concentrationIndices(P)
CurrentConcentration=1×8 table
        ID            CR                                                                Deciles                                                              Gini         HH          HK          HT         TE   
    ___________    ________    _________________________________________________________________________________________________________________________    _______    ________    ________    ________    _______

    "Portfolio"    0.058745    0     0.01118    0.026911     0.04605    0.072783     0.12318     0.18735     0.26993     0.41164     0.61058           1    0.55751    0.023919    0.013363    0.022599    0.53485

Choose an index of interest. For instance, select a loan with maximum exposure.

[~,IndMax] = max(P); 
CurrentExposure = P(IndMax);

Sweep through a range of multipliers for the selected exposure and get the corresponding concentration measures.

Multiplier = 0.0:0.05:2;
% Compute concentration with selected exposure removed from portfolio
P(IndMax) = 0;
ciSensitivity = concentrationIndices(P,'ID','Multiplier 0.0');
ciSensitivity = repmat(ciSensitivity,length(Multiplier),1);
for ii=2:length(Multiplier)
   P(IndMax) = CurrentExposure*Multiplier(ii);
   ci = concentrationIndices(P,'ID',['Multiplier ' num2str(Multiplier(ii))]);
   ciSensitivity(ii,:) = ci;
end
% Display first five rows
disp(ciSensitivity(1:5,:))
           ID               CR                                                                Deciles                                                              Gini         HH          HK          HT         TE   
    _________________    ________    _________________________________________________________________________________________________________________________    _______    ________    ________    ________    _______

    "Multiplier 0.0"     0.059442    0    0.010489     0.02675    0.046735    0.073191     0.12451     0.19172     0.27683      0.4195     0.62355           1    0.55051    0.023102    0.013314    0.022248    0.51826
    "Multiplier 0.05"    0.059257    0     0.01184    0.028502    0.048772    0.076074     0.12723     0.19424     0.27908      0.4213     0.62472           1     0.5467    0.022968    0.013185    0.022061    0.50991
    "Multiplier 0.1"     0.059074    0    0.011804    0.028413    0.048621    0.076846     0.12994     0.19673     0.28132      0.4231     0.62589           1    0.54456    0.022855    0.013156    0.021957     0.5059
    "Multiplier 0.15"    0.058891    0    0.011767    0.028326     0.04847    0.076608     0.12966      0.1972     0.28354     0.42488     0.62704           1    0.54355    0.022762    0.013143    0.021908    0.50352
    "Multiplier 0.2"     0.058709    0    0.011731    0.028238    0.048321    0.076372     0.12926     0.19659     0.28324     0.42665     0.62819           1    0.54313    0.022688    0.013139    0.021888     0.5022

Plot the sensitivity to changes in exposure for a particular index.

IndexID = 'HH';
figure;
plot(Multiplier',ciSensitivity.(IndexID))
hold on
plot(1,CurrentConcentration.(IndexID),'*')
hold off
title(['Sensitivity of ' IndexID ' Index'])
xlabel('Exposure Multiplier')
ylabel('Concentration Index')
legend(IndexID,'Current')
grid on

See Also

Related Examples

More About