QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.32
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
InhomogeneousPoolLossModel< copulaPolicy > Class Template Reference

Default loss distribution convolution for finite non homogeneous pool. More...

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

+ Inheritance diagram for InhomogeneousPoolLossModel< copulaPolicy >:
+ Collaboration diagram for InhomogeneousPoolLossModel< copulaPolicy >:

Public Types

typedef copulaPolicy copulaType
 

Public Member Functions

 InhomogeneousPoolLossModel (const ext::shared_ptr< ConstantLossLatentmodel< copulaPolicy > > &copula, Size nBuckets, Real max=5., Real min=-5., Size nSteps=50)
 
Real expectedTrancheLoss (const Date &d) const override
 
Real percentile (const Date &d, Real percentile) const override
 Value at Risk given a default loss percentile. More...
 
Real expectedShortfall (const Date &d, Probability percentile) const override
 Expected shortfall given a default loss percentile. More...
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 

Protected Member Functions

Distribution lossDistrib (const Date &d) const
 
- Protected Member Functions inherited from DefaultLossModel
 DefaultLossModel ()=default
 
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. More...
 
virtual std::vector< RealsplitESFLevel (const Date &d, Real loss) const
 Associated ESF fraction to each counterparty. More...
 
virtual std::map< Real, ProbabilitylossDistribution (const Date &) const
 Full loss distribution. More...
 
virtual Real densityTrancheLoss (const Date &d, Real lossFraction) const
 Probability density of a given loss fraction of the basket notional. More...
 
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. More...
 
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_
 
Size nBuckets_
 
Real attach_
 
Real detach_
 
Real notional_
 
Real attachAmount_
 
Real detachAmount_
 
std::vector< Realnotionals_
 
- Protected Attributes inherited from DefaultLossModel
RelinkableHandle< Basketbasket_
 

Private Member Functions

void resetModel () override
 Concrete models do now any updates/inits they need on basket reset. More...
 

Private Attributes

const Real max_
 
const Real min_
 
const Size nSteps_
 
const Real delta_
 

Detailed Description

template<class copulaPolicy>
class QuantLib::InhomogeneousPoolLossModel< copulaPolicy >

Default loss distribution convolution for finite non homogeneous pool.

Definition at line 46 of file inhomogeneouspooldef.hpp.

Member Typedef Documentation

◆ copulaType

Definition at line 52 of file inhomogeneouspooldef.hpp.

Constructor & Destructor Documentation

◆ InhomogeneousPoolLossModel()

InhomogeneousPoolLossModel ( const ext::shared_ptr< ConstantLossLatentmodel< copulaPolicy > > &  copula,
Size  nBuckets,
Real  max = 5.,
Real  min = -5.,
Size  nSteps = 50 
)

Definition at line 54 of file inhomogeneouspooldef.hpp.

Member Function Documentation

◆ resetModel()

void resetModel ( )
overrideprivatevirtual

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

Implements DefaultLossModel.

Definition at line 114 of file inhomogeneouspooldef.hpp.

◆ lossDistrib()

Distribution lossDistrib ( const Date d) const
protected

Definition at line 131 of file inhomogeneouspooldef.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ expectedTrancheLoss()

Real expectedTrancheLoss ( const Date d) const
overridevirtual

Reimplemented from DefaultLossModel.

Definition at line 73 of file inhomogeneouspooldef.hpp.

+ Here is the call graph for this function:

◆ percentile()

Real percentile ( const Date d,
Real  percentile 
) const
overridevirtual

Value at Risk given a default loss percentile.

Reimplemented from DefaultLossModel.

Definition at line 82 of file inhomogeneouspooldef.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ expectedShortfall()

Real expectedShortfall ( const Date d,
Probability  percentile 
) const
overridevirtual

Expected shortfall given a default loss percentile.

Reimplemented from DefaultLossModel.

Definition at line 86 of file inhomogeneouspooldef.hpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ copula_

const ext::shared_ptr<ConstantLossLatentmodel<copulaPolicy> > copula_
protected

Definition at line 93 of file inhomogeneouspooldef.hpp.

◆ nBuckets_

Size nBuckets_
protected

Definition at line 94 of file inhomogeneouspooldef.hpp.

◆ attach_

Real attach_
mutableprotected

Definition at line 95 of file inhomogeneouspooldef.hpp.

◆ detach_

Real detach_
protected

Definition at line 95 of file inhomogeneouspooldef.hpp.

◆ notional_

Real notional_
protected

Definition at line 95 of file inhomogeneouspooldef.hpp.

◆ attachAmount_

Real attachAmount_
protected

Definition at line 95 of file inhomogeneouspooldef.hpp.

◆ detachAmount_

Real detachAmount_
protected

Definition at line 95 of file inhomogeneouspooldef.hpp.

◆ notionals_

std::vector<Real> notionals_
mutableprotected

Definition at line 96 of file inhomogeneouspooldef.hpp.

◆ max_

const Real max_
private

Definition at line 101 of file inhomogeneouspooldef.hpp.

◆ min_

const Real min_
private

Definition at line 102 of file inhomogeneouspooldef.hpp.

◆ nSteps_

const Size nSteps_
private

Definition at line 103 of file inhomogeneouspooldef.hpp.

◆ delta_

const Real delta_
private

Definition at line 104 of file inhomogeneouspooldef.hpp.