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

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

Inheritance diagram for RandomLossLM< copulaPolicy, USNG >:

Public Member Functions

 RandomLossLM (const ext::shared_ptr< SpotRecoveryLatentModel< copulaPolicy > > &copula, Size nSims=0, Real accuracy=1.e-6, BigNatural seed=2863311530UL)
Public Member Functions inherited from LazyObject
bool isCalculated () const
void forwardFirstNotificationOnly ()
void alwaysForwardNotifications ()
void recalculate ()
void freeze ()
void unfreeze ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()

Protected Member Functions

void nextSample (const std::vector< Real > &values) const
void initDates () const
Real getEventRecovery (const defaultSimEvent &evt) const
Real latentVarValue (const std::vector< Real > &factorsSample, Size iVar) const
Size basketSize () const
Real conditionalRecovery (Real latentVarSample, Size iName, const Date &d) const
Protected Member Functions inherited from RandomLM< RandomLossLM, copulaPolicy, SobolRsg >
 RandomLM (Size numFactors, Size numLMVars, copulaPolicy copula, Size nSims, BigNatural seed)
void update () override
void performCalculations () const override
void performSimulations () const
const std::vector< simEvent< RandomLossLM< copulaPolicy, SobolRsg > > > & getSim (const Size iSim) const
Real getEventRecovery (const simEvent< RandomLossLM< copulaPolicy, SobolRsg > > &evt) const
Probability probAtLeastNEvents (Size n, const Date &d) const override
std::vector< ProbabilityprobsBeingNthEvent (Size n, const Date &d) const override
Real defaultCorrelation (const Date &d, Size iName, Size jName) const override
 Pearsons' default probability correlation.
Real expectedTrancheLoss (const Date &d) const override
virtual std::pair< Real, RealexpectedTrancheLossInterval (const Date &d, Probability confidencePerc) const
std::map< Real, ProbabilitylossDistribution (const Date &d) const override
 Full loss distribution.
virtual Histogram computeHistogram (const Date &d) const
Real expectedShortfall (const Date &d, Real percent) const override
 Expected shortfall given a default loss percentile.
Real percentile (const Date &d, Real percentile) const override
 Value at Risk given a default loss percentile.
virtual std::tuple< Real, Real, RealpercentileAndInterval (const Date &d, Real percentile) const
std::vector< RealsplitVaRLevel (const Date &date, Real loss) const override
virtual std::vector< std::vector< Real > > splitVaRAndError (const Date &date, Real loss, Probability confInterval) const
virtual void calculate () const
virtual Probability probOverLoss (const Date &d, Real lossFraction) const
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 Real expectedRecovery (const Date &, Size iName, const DefaultProbKey &) const

Friends

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

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
const Size numFactors_
const Size numLMVars_
const Size nSims_
std::vector< std::vector< simEvent< RandomLossLM< copulaPolicy, SobolRsg > > > > simsBuffer_
copulaPolicy copula_
ext::shared_ptr< copulaRNG_type > copulasRng_
bool calculated_ = false
bool frozen_ = false
bool alwaysForward_
Protected Attributes inherited from DefaultLossModel
RelinkableHandle< Basketbasket_
static const Size maxHorizon_

Detailed Description

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

Random spot recovery rate loss model simulation for an arbitrary copula.