Logo
Reference manual - version qle_version
Public Member Functions | List of all members
ExtendedConstantLossLatentModel< copulaPolicy > Class Template Reference

#include <qle/models/extendedconstantlosslatentmodel.hpp>

+ Inheritance diagram for ExtendedConstantLossLatentModel< copulaPolicy >:

Public Member Functions

 ExtendedConstantLossLatentModel (const std::vector< std::vector< Real >> &factorWeights, const std::vector< Real > &recoveries, const std::vector< std::vector< Real >> &recoveryProbabilities, const std::vector< std::vector< Real >> &recoveryRates, LatentModelIntegrationType::LatentModelIntegrationType integralType, const initTraits &ini=initTraits())
 
 ExtendedConstantLossLatentModel (const Handle< Quote > &mktCorrel, const std::vector< Real > &recoveries, const std::vector< std::vector< Real >> &recoveryProbabilities, const std::vector< std::vector< Real >> &recoveryRates, LatentModelIntegrationType::LatentModelIntegrationType integralType, Size nVariables, const initTraits &ini=initTraits())
 
void checkStochasticRecoveries ()
 
Real conditionalRecovery (const Date &d, Size iName, const std::vector< Real > &mktFactors) const
 
Real conditionalRecovery (Probability uncondDefP, Size iName, const std::vector< Real > &mktFactors) const
 
Real conditionalRecoveryInvP (Real invUncondDefP, Size iName, const std::vector< Real > &mktFactors) const
 
Real conditionalRecovery (Real latentVarSample, Size iName, const Date &d) const
 
const std::vector< Real > & recoveries () const
 
Real expectedRecovery (const Date &d, Size iName, const DefaultProbKey &defKeys) const
 
const std::vector< std::vector< Real > > & recoveryProbabilities ()
 
const std::vector< std::vector< Real > > & recoveryRateGrids ()
 
- Public Member Functions inherited from DefaultLatentModel< copulaPolicy >
 DefaultLatentModel (const std::vector< std::vector< Real >> &factorWeights, LatentModelIntegrationType::LatentModelIntegrationType integralType, const initTraits &ini=initTraits())
 
 DefaultLatentModel (const Handle< Quote > &mktCorrel, Size nVariables, LatentModelIntegrationType::LatentModelIntegrationType integralType, const initTraits &ini=initTraits())
 
void resetBasket (const boost::shared_ptr< Basket > basket) const
 
Probability conditionalDefaultProbability (Probability prob, Size iName, const std::vector< Real > &mktFactors) const
 
Probability conditionalDefaultProbabilityInvP (Real invCumYProb, Size iName, const std::vector< Real > &m) const
 
Probability probOfDefault (Size iName, const Date &d) const
 
Real defaultCorrelation (const Date &d, Size iNamei, Size iNamej) const
 
Probability probAtLeastNEvents (Size n, const Date &date) const
 

Additional Inherited Members

- Protected Member Functions inherited from DefaultLatentModel< copulaPolicy >
void update () override
 
Probability conditionalDefaultProbability (const Date &date, Size iName, const std::vector< Real > &mktFactors) const
 
Probability condProbProduct (Real invCumYProb1, Real invCumYProb2, Size iName1, Size iName2, const std::vector< Real > &mktFactors) const
 
Real conditionalProbAtLeastNEvents (Size n, const Date &date, const std::vector< Real > &mktFactors) const
 Conditional probability of n default events or more.
 
const boost::shared_ptr< LMIntegration > & integration () const override
 access to integration:
 
- Protected Attributes inherited from DefaultLatentModel< copulaPolicy >
boost::shared_ptr< Basketbasket_
 
boost::shared_ptr< LMIntegration > integration_
 

Detailed Description

template<class copulaPolicy>
class QuantExt::ExtendedConstantLossLatentModel< copulaPolicy >

Constant deterministic loss amount default latent model, extended to cover a discrete distribution of recovery rates following Krekel (2008), https://ssrn.com/abstract=11340228. For each obligor we pass a vector of J recovery probabilities p_1, ..., p_J and recovery rates in decreasing order r_1 > r_2 > ... > r_J contional on default. If this data is empty, the extended model will fall back on the ConstantLossLatentModel.