QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Protected Member Functions | Friends | List of all members
RandomDefaultLM< copulaPolicy, USNG > Class Template Reference

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

Public Member Functions

 RandomDefaultLM (const ext::shared_ptr< DefaultLatentModel< copulaPolicy > > &model, const std::vector< Real > &recoveries=std::vector< Real >(), Size nSims=0, Real accuracy=1.e-6, BigNatural seed=2863311530UL)
 
 RandomDefaultLM (const ext::shared_ptr< ConstantLossLatentmodel< copulaPolicy > > &model, Size nSims=0, Real accuracy=1.e-6, BigNatural seed=2863311530UL)
 

Protected Member Functions

void nextSample (const std::vector< Real > &values) const
 
void initDates () const
 
Real getEventRecovery (const defaultSimEvent &evt) const
 
Real expectedRecovery (const Date &, Size iName, const DefaultProbKey &) const
 
Real latentVarValue (const std::vector< Real > &factorsSample, Size iVar) const
 
Size basketSize () const
 

Friends

class RandomLM< ::QuantLib::RandomDefaultLM, copulaPolicy, USNG >
 

Detailed Description

template<class copulaPolicy, class USNG = SobolRsg>
class QuantLib::RandomDefaultLM< copulaPolicy, USNG >

Random default with deterministic recovery event type.

Stores sims results in a bitfield buffer for lean memory storage. Although strictly speaking this is not guaranteed by the compiler it amounts to reducing the memory storage by half. Some computations, like conditional statistics, precise that all sims results be available.

Default only latent model simulation with trivially fixed recovery amounts.

Examples
BasketLosses.cpp, and LatentModel.cpp.