Logo
Reference manual - version qle_version
Public Types | Public Member Functions | Protected Member Functions | List of all members
GaussianLHPLossModel Class Reference

#include <qle/models/gaussianlhplossmodel.hpp>

+ Inheritance diagram for GaussianLHPLossModel:

Public Types

typedef GaussianCopulaPolicy copulaType
 

Public Member Functions

 GaussianLHPLossModel (const Handle< Quote > &correlQuote, const std::vector< Handle< QuantLib::RecoveryRateQuote >> &quotes)
 
 GaussianLHPLossModel (Real correlation, const std::vector< Real > &recoveries)
 
 GaussianLHPLossModel (const Handle< Quote > &correlQuote, const std::vector< Real > &recoveries)
 
void update () override
 
Real expectedTrancheLoss (const Date &d, Real recoveryRate=Null< Real >()) const override
 
Real probOverLoss (const Date &d, Real remainingLossFraction) const override
 
Real expectedShortfall (const Date &d, Probability perctl) const override
 Returns the ESF as an absolute amount (rather than a fraction)
 
Real percentile (const Date &d, Real perctl) const override
 Value at Risk given a default loss percentile.
 
Probability averageProb (const Date &d) const
 
Real averageRecovery (const Date &d) const
 

Protected Member Functions

Real percentilePortfolioLossFraction (const Date &d, Real perctl) const
 
Real expectedRecovery (const Date &d, Size iName, const DefaultProbKey &ik) const override
 
- Protected Member Functions inherited from DefaultLossModel
virtual Real expectedShortfall (const Date &d, Real percentile) const
 Expected shortfall given a default loss percentile.
 
virtual std::vector< Real > splitVaRLevel (const Date &d, Real loss) const
 Associated VaR fraction to each counterparty.
 
virtual std::vector< Real > splitESFLevel (const Date &d, Real loss) const
 Associated ESF fraction to each counterparty.
 
virtual std::map< Real, Probability > lossDistribution (const Date &) const
 Full loss distribution.
 
virtual Real densityTrancheLoss (const Date &d, Real lossFraction) const
 Probability density of a given loss fraction of the basket notional.
 
virtual std::vector< Probability > probsBeingNthEvent (Size n, const Date &d) const
 
virtual Real defaultCorrelation (const Date &d, Size iName, Size jName) const
 Pearsons' default probability correlation.
 
virtual Probability probAtLeastNEvents (Size n, const Date &d) const
 
virtual QuantLib::Real correlation () const
 

Additional Inherited Members

- Protected Attributes inherited from DefaultLossModel
RelinkableHandle< QuantExt::Basketbasket_
 

Detailed Description

Portfolio loss model with analytical expected tranche loss for a large homogeneous pool with Gaussian one-factor copula. See for example "The Normal Inverse Gaussian Distribution for Synthetic CDO pricing.", Anna Kalemanova, Bernd Schmid, Ralf Werner, Journal of Derivatives, Vol. 14, No. 3, (Spring 2007), pp. 80-93. http://www.defaultrisk.com/pp_crdrv_91.htm

It can be used to price a credit derivative or to provide risk metrics of a portfolio.

Member Function Documentation

◆ probOverLoss()

Real probOverLoss ( const Date &  d,
Real  remainingLossFraction 
) const
overridevirtual

The passed remainingLossFraction is in live tranche units, not portfolio as a fraction of the remaining(live) tranche (i.e. a_remaining=0% and det_remaining=100%)

Reimplemented from DefaultLossModel.

◆ expectedRecovery()

Real expectedRecovery ( const Date &  ,
Size  iName,
const DefaultProbKey &   
) const
overrideprotectedvirtual

Expected RR for name conditinal to default by that date.

Reimplemented from DefaultLossModel.