QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
#include <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) | |
![]() | |
~RandomLM () override=default | |
![]() | |
LazyObject () | |
~LazyObject () override=default | |
void | update () override |
bool | isCalculated () const |
void | forwardFirstNotificationOnly () |
void | alwaysForwardNotifications () |
void | recalculate () |
void | freeze () |
void | unfreeze () |
![]() | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
![]() | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
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 override |
Real | latentVarValue (const std::vector< Real > &factorsSample, Size iVar) const |
Size | basketSize () const |
![]() | |
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< derivedRandomLM< copulaPolicy, USNG > > > & | getSim (const Size iSim) const |
Real | getEventRecovery (const simEvent< derivedRandomLM< copulaPolicy, USNG > > &evt) const |
Probability | probAtLeastNEvents (Size n, const Date &d) const override |
std::vector< Probability > | probsBeingNthEvent (Size n, const Date &d) const override |
Real | defaultCorrelation (const Date &d, Size iName, Size jName) const override |
Pearsons' default probability correlation. More... | |
Real | expectedTrancheLoss (const Date &d) const override |
virtual std::pair< Real, Real > | expectedTrancheLossInterval (const Date &d, Probability confidencePerc) const |
std::map< Real, Probability > | lossDistribution (const Date &d) const override |
Full loss distribution. More... | |
virtual Histogram | computeHistogram (const Date &d) const |
Real | expectedShortfall (const Date &d, Real percent) const override |
Expected shortfall given a default loss percentile. More... | |
Real | percentile (const Date &d, Real percentile) const override |
Value at Risk given a default loss percentile. More... | |
virtual ext::tuple< Real, Real, Real > | percentileAndInterval (const Date &d, Real percentile) const |
std::vector< Real > | splitVaRLevel (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 |
![]() | |
DefaultLossModel ()=default | |
virtual Probability | probOverLoss (const Date &d, Real lossFraction) const |
virtual std::vector< Real > | splitESFLevel (const Date &d, Real loss) const |
Associated ESF fraction to each counterparty. More... | |
virtual Real | densityTrancheLoss (const Date &d, Real lossFraction) const |
Probability density of a given loss fraction of the basket notional. More... | |
Private Types | |
typedef simEvent< RandomDefaultLM > | defaultSimEvent |
Private Member Functions | |
void | resetModel () override |
Concrete models do now any updates/inits they need on basket reset. More... | |
Private Attributes | |
const ext::shared_ptr< DefaultLatentModel< copulaPolicy > > | model_ |
const std::vector< Real > | recoveries_ |
Real | accuracy_ |
std::vector< Probability > | horizonDefaultPs_ |
Friends | |
class | RandomLM< ::QuantLib::RandomDefaultLM, copulaPolicy, USNG > |
Additional Inherited Members | |
![]() | |
typedef set_type::iterator | iterator |
![]() | |
const Size | numFactors_ |
const Size | numLMVars_ |
const Size | nSims_ |
std::vector< std::vector< simEvent< derivedRandomLM< copulaPolicy, USNG > > > > | simsBuffer_ |
copulaPolicy | copula_ |
ext::shared_ptr< copulaRNG_type > | copulasRng_ |
![]() | |
bool | calculated_ = false |
bool | frozen_ = false |
bool | alwaysForward_ |
![]() | |
RelinkableHandle< Basket > | basket_ |
![]() | |
static const Size | maxHorizon_ = 4050 |
Random default with deterministic recovery event type.
Default only latent model simulation with trivially fixed recovery amounts.
Definition at line 806 of file randomdefaultlatentmodel.hpp.
|
private |
Definition at line 809 of file randomdefaultlatentmodel.hpp.
|
explicit |
Definition at line 818 of file randomdefaultlatentmodel.hpp.
|
explicit |
Definition at line 832 of file randomdefaultlatentmodel.hpp.
|
protected |
Definition at line 920 of file randomdefaultlatentmodel.hpp.
|
protected |
Definition at line 863 of file randomdefaultlatentmodel.hpp.
|
protected |
Definition at line 877 of file randomdefaultlatentmodel.hpp.
|
overrideprotectedvirtual |
Expected RR for name conditinal to default by that date.
Reimplemented from DefaultLossModel.
Definition at line 880 of file randomdefaultlatentmodel.hpp.
Definition at line 885 of file randomdefaultlatentmodel.hpp.
|
protected |
Definition at line 891 of file randomdefaultlatentmodel.hpp.
|
overrideprivatevirtual |
Concrete models do now any updates/inits they need on basket reset.
Implements DefaultLossModel.
Definition at line 893 of file randomdefaultlatentmodel.hpp.
|
friend |
Definition at line 832 of file randomdefaultlatentmodel.hpp.
|
private |
Definition at line 812 of file randomdefaultlatentmodel.hpp.
|
private |
Definition at line 813 of file randomdefaultlatentmodel.hpp.
|
private |
Definition at line 815 of file randomdefaultlatentmodel.hpp.
|
mutableprivate |
Definition at line 912 of file randomdefaultlatentmodel.hpp.