QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
OneFactorGaussianCopula Class Reference

One-factor Gaussian Copula. More...

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

Inheritance diagram for OneFactorGaussianCopula:

Public Member Functions

 OneFactorGaussianCopula (const Handle< Quote > &correlation, Real maximum=5, Size integrationSteps=50)
Real density (Real m) const override
 Density function of M.
Real cumulativeZ (Real z) const override
 Cumulative distribution of Z.
Real cumulativeY (Real y) const override
Real testCumulativeY (Real y) const
Real inverseCumulativeY (Real p) const override
Public Member Functions inherited from OneFactorCopula
 OneFactorCopula (Handle< Quote > correlation, Real maximum=5.0, Size integrationSteps=50, Real minimum=-5.0)
Real correlation () const
 Single correlation parameter.
Real conditionalProbability (Real prob, Real m) const
 Conditional probability.
std::vector< RealconditionalProbability (const std::vector< Real > &prob, Real m) const
 Vector of conditional probabilities.
Real integral (Real p) const
template<class F>
Real integral (const F &f, std::vector< Real > &probabilities) const
template<class F>
Distribution integral (const F &f, const std::vector< Real > &nominals, const std::vector< Real > &probabilities) const
int checkMoments (Real tolerance) const
Public Member Functions inherited from LazyObject
void update () override
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 ()

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
Protected Member Functions inherited from OneFactorCopula
Size steps () const
Real dm (Size i) const
Real m (Size i) const
Real densitydm (Size i) const
virtual void calculate () const
Protected Attributes inherited from OneFactorCopula
Handle< Quotecorrelation_
Real max_
Size steps_
Real min_
std::vector< Realy_
std::vector< RealcumulativeY_
bool calculated_ = false
bool frozen_ = false
bool alwaysForward_

Detailed Description

One-factor Gaussian Copula.

The copula model

\[ Y_i = a_i\,M+\sqrt{1-a_i^2}\:Z_i \]

is specified here by setting the desnity function for all variables, \( M, Z,\) and also \( Y \) to the standard normal distribution \( \phi(x) = \exp(-x^2/2) / \sqrt{2\pi}. \)

Member Function Documentation

◆ density()

Real density ( Real m) const
overridevirtual

Density function of M.

Derived classes must override this method and ensure zero mean and unit variance.

Implements OneFactorCopula.

◆ cumulativeZ()

Real cumulativeZ ( Real z) const
overridevirtual

Cumulative distribution of Z.

Derived classes must override this method and ensure zero mean and unit variance.

Implements OneFactorCopula.

◆ cumulativeY()

Real cumulativeY ( Real y) const
overridevirtual

overrides the base class implementation based on table data

Reimplemented from OneFactorCopula.

◆ inverseCumulativeY()

Real inverseCumulativeY ( Real p) const
overridevirtual

overrides the base class implementation based on table data

Reimplemented from OneFactorCopula.