www.gusucode.com > risk 工具箱matlab源码程序 > risk/+risk/+internal/latent2losses.m

    function [portLosses, counterpartyLosses] = latent2losses(Y,EAD,PD,LGD,copula,dof)
% Convert latent variable realizations to default losses.

%   Copyright 2016 The MathWorks, Inc.

% Default indicator
if strcmpi(copula,'Gaussian')
    isDefault = bsxfun(@lt,Y,norminv(PD));
elseif strcmpi(copula,'t')
    isDefault = bsxfun(@lt,Y,tinv(PD,dof));
end

counterpartyLosses = bsxfun(@times,bsxfun(@times,isDefault,EAD),LGD);
portLosses = sum(counterpartyLosses,1);