QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
RecursiveLossModel< copulaPolicy > Class Template Reference

#include <ql/experimental/credit/recursivelossmodel.hpp>

Inheritance diagram for RecursiveLossModel< copulaPolicy >:

Public Member Functions

 RecursiveLossModel (const ext::shared_ptr< ConstantLossLatentmodel< copulaPolicy > > &m, Size nbuckets=1)
Real expectedTrancheLoss (const Date &date) const override
std::vector< ReallossProbability (const Date &date) const
std::map< Real, ProbabilitylossDistribution (const Date &d) const override
 Full loss distribution.
Real percentile (const Date &d, Real percentile) const override
 Value at Risk given a default loss percentile.
Real expectedShortfall (const Date &d, Real perctl) const override
 Expected shortfall given a default loss percentile.
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()

Protected Member Functions

void resetModel () override
 Concrete models do now any updates/inits they need on basket reset.
virtual Probability probOverLoss (const Date &d, Real lossFraction) const
virtual std::vector< RealsplitVaRLevel (const Date &d, Real loss) const
 Associated VaR fraction to each counterparty.
virtual std::vector< RealsplitESFLevel (const Date &d, Real loss) const
 Associated ESF fraction to each counterparty.
virtual Real densityTrancheLoss (const Date &d, Real lossFraction) const
 Probability density of a given loss fraction of the basket notional.
virtual std::vector< ProbabilityprobsBeingNthEvent (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 Real expectedRecovery (const Date &, Size iName, const DefaultProbKey &) const

Protected Attributes

const ext::shared_ptr< ConstantLossLatentmodel< copulaPolicy > > copula_
Protected Attributes inherited from DefaultLossModel
RelinkableHandle< Basketbasket_

Detailed Description

template<class copulaPolicy>
class QuantLib::RecursiveLossModel< copulaPolicy >

Recursive STCDO default loss model for a heterogeneous pool of names. The pool names are heterogeneous in their default probabilities, notionals and recovery rates. Correlations are given by the latent model. The recursive pricing algorithm used here is described in Andersen, Sidenius and Basu; "All your hedges in one basket", Risk, November 2003, pages 67-72

Notice that using copulas other than Gaussian it is only an
approximation (see remark on p.68).

\todo Make the loss unit equal to some small fraction depending on the
portfolio loss weights (notionals and recoveries). As it is now this
is ok for pricing but not for risk metrics. See the discussion in O'Kane
18.3.2
\todo Intengrands should all use the inverted probabilities for 
performance instead of calling the copula inversion with the same vals.

Member Function Documentation

◆ resetModel()

template<class CP>
void resetModel ( )
overrideprotectedvirtual

Concrete models do now any updates/inits they need on basket reset.

Implements DefaultLossModel.

◆ expectedTrancheLoss()

template<class CP>
Real expectedTrancheLoss ( const Date & date) const
overridevirtual

Reimplemented from DefaultLossModel.

◆ lossDistribution()

template<class CP>
std::map< Real, Probability > lossDistribution ( const Date & ) const
overridevirtual

Full loss distribution.

Reimplemented from DefaultLossModel.

◆ percentile()

template<class CP>
Real percentile ( const Date & d,
Real percentile ) const
overridevirtual

Value at Risk given a default loss percentile.

Reimplemented from DefaultLossModel.

◆ expectedShortfall()

template<class CP>
Real expectedShortfall ( const Date & d,
Real percentile ) const
overridevirtual

Expected shortfall given a default loss percentile.

Reimplemented from DefaultLossModel.