#include <qle/models/gaussianlhplossmodel.hpp>
Public Types | |
typedef GaussianCopulaPolicy | copulaType |
Public Member Functions | |
GaussianLHPLossModel (const Handle< Quote > &correlQuote, const std::vector< Handle< QuantLib::RecoveryRateQuote > > "es) | |
GaussianLHPLossModel (Real correlation, const std::vector< Real > &recoveries) | |
GaussianLHPLossModel (const Handle< Quote > &correlQuote, const std::vector< Real > &recoveries) | |
void | update () override |
Real | expectedTrancheLoss (const Date &d, Real recoveryRate=Null< Real >()) const override |
Real | probOverLoss (const Date &d, Real remainingLossFraction) const override |
Real | expectedShortfall (const Date &d, Probability perctl) const override |
Returns the ESF as an absolute amount (rather than a fraction) More... | |
Real | percentile (const Date &d, Real perctl) const override |
Value at Risk given a default loss percentile. More... | |
Probability | averageProb (const Date &d) const |
Real | averageRecovery (const Date &d) const |
Protected Member Functions | |
Real | percentilePortfolioLossFraction (const Date &d, Real perctl) const |
Real | expectedRecovery (const Date &d, Size iName, const DefaultProbKey &ik) const override |
Protected Member Functions inherited from DefaultLossModel | |
DefaultLossModel () | |
virtual Real | expectedShortfall (const Date &d, Real percentile) const |
Expected shortfall given a default loss percentile. More... | |
virtual std::vector< Real > | splitVaRLevel (const Date &d, Real loss) const |
Associated VaR fraction to each counterparty. More... | |
virtual std::vector< Real > | splitESFLevel (const Date &d, Real loss) const |
Associated ESF fraction to each counterparty. More... | |
virtual std::map< Real, Probability > | lossDistribution (const Date &) const |
Full loss distribution. More... | |
virtual Real | densityTrancheLoss (const Date &d, Real lossFraction) const |
Probability density of a given loss fraction of the basket notional. More... | |
virtual std::vector< Probability > | probsBeingNthEvent (Size n, const Date &d) const |
virtual Real | defaultCorrelation (const Date &d, Size iName, Size jName) const |
Pearsons' default probability correlation. More... | |
virtual Probability | probAtLeastNEvents (Size n, const Date &d) const |
virtual QuantLib::Real | correlation () const |
Private Member Functions | |
void | resetModel () override |
Concrete models do now any updates/inits they need on basket reset. More... | |
Real | expectedTrancheLossImpl (Real remainingNot, Real prob, Real averageRR, Real attachLimit, Real detachLimit) const |
Private Attributes | |
Real | sqrt1minuscorrel_ |
Handle< Quote > | correl_ |
std::vector< Handle< QuantLib::RecoveryRateQuote > > | rrQuotes_ |
Real | beta_ |
BivariateCumulativeNormalDistribution | biphi_ |
Static Private Attributes | |
static CumulativeNormalDistribution const | phi_ = CumulativeNormalDistribution() |
Additional Inherited Members | |
Protected Attributes inherited from DefaultLossModel | |
RelinkableHandle< QuantExt::Basket > | basket_ |
Portfolio loss model with analytical expected tranche loss for a large homogeneous pool with Gaussian one-factor copula. See for example "The Normal Inverse Gaussian Distribution for Synthetic CDO pricing.", Anna Kalemanova, Bernd Schmid, Ralf Werner, Journal of Derivatives, Vol. 14, No. 3, (Spring 2007), pp. 80-93. http://www.defaultrisk.com/pp_crdrv_91.htm
It can be used to price a credit derivative or to provide risk metrics of a portfolio.
Definition at line 62 of file gaussianlhplossmodel.hpp.
typedef GaussianCopulaPolicy copulaType |
Definition at line 64 of file gaussianlhplossmodel.hpp.
GaussianLHPLossModel | ( | const Handle< Quote > & | correlQuote, |
const std::vector< Handle< QuantLib::RecoveryRateQuote > > & | quotes | ||
) |
GaussianLHPLossModel | ( | Real | correlation, |
const std::vector< Real > & | recoveries | ||
) |
Definition at line 46 of file gaussianlhplossmodel.cpp.
GaussianLHPLossModel | ( | const Handle< Quote > & | correlQuote, |
const std::vector< Real > & | recoveries | ||
) |
Definition at line 57 of file gaussianlhplossmodel.cpp.
|
override |
Definition at line 73 of file gaussianlhplossmodel.hpp.
|
overrideprivatevirtual |
Concrete models do now any updates/inits they need on basket reset.
Implements DefaultLossModel.
Definition at line 83 of file gaussianlhplossmodel.hpp.
|
private |
attachLimit | as a fraction of the underlying live portfolio notional |
Definition at line 68 of file gaussianlhplossmodel.cpp.
|
overridevirtual |
Reimplemented from DefaultLossModel.
Definition at line 94 of file gaussianlhplossmodel.hpp.
|
overridevirtual |
The passed remainingLossFraction is in live tranche units, not portfolio as a fraction of the remaining(live) tranche (i.e. a_remaining=0% and det_remaining=100%)
Reimplemented from DefaultLossModel.
Definition at line 95 of file gaussianlhplossmodel.cpp.
|
override |
Returns the ESF as an absolute amount (rather than a fraction)
Definition at line 130 of file gaussianlhplossmodel.cpp.
|
protected |
Definition at line 154 of file gaussianlhplossmodel.cpp.
|
overrideprotectedvirtual |
Expected RR for name conditinal to default by that date.
Reimplemented from DefaultLossModel.
Definition at line 131 of file gaussianlhplossmodel.hpp.
|
overridevirtual |
Value at Risk given a default loss percentile.
Reimplemented from DefaultLossModel.
Definition at line 137 of file gaussianlhplossmodel.hpp.
Probability averageProb | ( | const Date & | d | ) | const |
Definition at line 147 of file gaussianlhplossmodel.hpp.
Real averageRecovery | ( | const Date & | d | ) | const |
Definition at line 163 of file gaussianlhplossmodel.hpp.
|
mutableprivate |
Definition at line 181 of file gaussianlhplossmodel.hpp.
|
private |
Definition at line 183 of file gaussianlhplossmodel.hpp.
|
private |
Definition at line 184 of file gaussianlhplossmodel.hpp.
|
private |
Definition at line 196 of file gaussianlhplossmodel.hpp.
|
private |
Definition at line 197 of file gaussianlhplossmodel.hpp.
|
staticprivate |
Definition at line 198 of file gaussianlhplossmodel.hpp.