#include <qle/models/constantlosslatentmodel.hpp>
Public Member Functions | |
ConstantLossModel (const std::vector< std::vector< Real >> &factorWeights, const std::vector< Real > &recoveries, LatentModelIntegrationType::LatentModelIntegrationType integralType, const typename copulaPolicy::initTraits &ini=copulaPolicy::initTraits()) | |
ConstantLossModel (const Handle< Quote > &mktCorrel, const std::vector< Real > &recoveries, LatentModelIntegrationType::LatentModelIntegrationType integralType, Size nVariables, const typename copulaPolicy::initTraits &ini=copulaPolicy::initTraits()) | |
Public Member Functions inherited from ConstantLossLatentmodel< copulaPolicy > | |
ConstantLossLatentmodel (const std::vector< std::vector< Real >> &factorWeights, const std::vector< Real > &recoveries, LatentModelIntegrationType::LatentModelIntegrationType integralType, const initTraits &ini=initTraits()) | |
ConstantLossLatentmodel (const Handle< Quote > &mktCorrel, const std::vector< Real > &recoveries, LatentModelIntegrationType::LatentModelIntegrationType integralType, Size nVariables, const initTraits &ini=initTraits()) | |
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 |
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 |
Protected Member Functions | |
Real | defaultCorrelation (const Date &d, Size iName, Size jName) const |
Pearsons' default probability correlation. | |
Probability | probAtLeastNEvents (Size n, const Date &d) const |
Real | expectedRecovery (const Date &d, Size iName, const DefaultProbKey &k) const |
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 Member Functions inherited from DefaultLossModel | |
virtual Real | expectedTrancheLoss (const Date &d, Real recoveryRate=Null< Real >()) const |
virtual Probability | probOverLoss (const Date &d, Real lossFraction) const |
virtual Real | percentile (const Date &d, Real percentile) const |
Value at Risk given a default loss percentile. | |
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 QuantLib::Real | correlation () const |
Additional Inherited Members | |
Protected Attributes inherited from DefaultLatentModel< copulaPolicy > | |
boost::shared_ptr< Basket > | basket_ |
boost::shared_ptr< LMIntegration > | integration_ |
Protected Attributes inherited from DefaultLossModel | |
RelinkableHandle< QuantExt::Basket > | basket_ |
ConstantLossLatentModel interface for loss models. While it does not provide distribution type losses (e.g. expected tranche losses) because it lacks an integration algorithm it serves to allow pricing of digital type products like NTDs.
Alternatively fuse with the aboves class.
|
protectedvirtual |
Returns the probaility of having a given or larger number of defaults in the basket portfolio at a given time.
Reimplemented from DefaultLossModel.
|
protectedvirtual |
Expected RR for name conditinal to default by that date.
Reimplemented from DefaultLossModel.