www.gusucode.com > fininst 案例源码程序 matlab代码 > fininst/ViewtheExposureProfilesofaParticularCounterpartyExample.m

    %% View Exposure Profiles of a Particular Counterparty  

% Copyright 2015 The MathWorks, Inc.


%% 
% After computing the mark-to-market contract values for a portfolio of
% swaps over many scenarios, view the exposure profiles of a particular
% counterparty. 
%%
% First, load data containing the mark-to-market contract
% values for a portfolio of swaps over many scenarios. 
load ccr.mat  
%%
% Compute the exposure by counterparty.
[exposures, expcpty] = creditexposures(values,swaps.Counterparty,...
'NettingID',swaps.NettingID);
%% 
% Compute the credit exposure profiles for all counterparties. 
 cpProfiles = exposureprofiles(simulationDates,exposures)  

%% 
% Visualize the exposure profiles for a particular counterparty. 
cpIdx = find(expcpty == 4);
numDates = numel(simulationDates);
plot(simulationDates,cpProfiles(cpIdx).PFE,...
        simulationDates,cpProfiles(cpIdx).MPFE * ones(numDates,1),...
        simulationDates,cpProfiles(cpIdx).EE,...
        simulationDates,cpProfiles(cpIdx).EPE * ones(numDates,1),...
        simulationDates,cpProfiles(cpIdx).EffEE,...
        simulationDates,cpProfiles(cpIdx).EffEPE * ones(numDates,1));
legend({'PFE (95%)','Max PFE','Exp Exposure (EE)',...
        'Time-Avg EE (EPE)','Max past EE (EffEE)',...
        'Time-Avg EffEE (EffEPE)'})
datetick('x','mmmyy','keeplimits')
title(sprintf('Counterparty %d Exposure Profiles',cpIdx));
ylabel('Exposure ($)')
xlabel('Simulation Dates')