QuantLib: OneFactorGaussianStudentCopula Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.6

- Main Page
- Related Pages
- Modules
- Classes
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | List of all members
OneFactorGaussianStudentCopula Class Reference

One-factor Gaussian-Student t-Copula. More...

`#include <ql/experimental/credit/onefactorstudentcopula.hpp>`

Inheritance diagram for OneFactorGaussianStudentCopula:
[legend]

## Public Member Functions
| OneFactorGaussianStudentCopula (const Handle< Quote > &correlation, int nz, Real maximum=10, Size integrationSteps=200)
Real | density (Real m) const
| Density function of M. More...
Real | cumulativeZ (Real z) const
| Cumulative distribution of Z. More...
Public Member Functions inherited from OneFactorCopula
| OneFactorCopula (const Handle< Quote > &correlation, Real maximum=5.0, Size integrationSteps=50, Real minimum=-5.0)
virtual Real | cumulativeY (Real y) const
| Cumulative distribution of Y. More...
virtual Real | inverseCumulativeY (Real p) const
| Inverse cumulative distribution of Y. More...
Real | correlation () const
| Single correlation parameter.
Real | conditionalProbability (Real prob, Real m) const
| Conditional probability. More...
std::vector< Real > | conditionalProbability (const std::vector< Real > &prob, Real m) const
| Vector of conditional probabilities. More...
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 ()
void | recalculate ()
void | freeze ()
void | unfreeze ()
Public Member Functions inherited from Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::iterator, bool > | registerWith (const boost::shared_ptr< Observable > &)
void | registerWithObservables (const boost::shared_ptr< Observer > &)
Size | unregisterWith (const boost::shared_ptr< Observable > &)
void | unregisterWithAll ()

## Additional Inherited Members
Protected Member Functions inherited from OneFactorCopula
Size | steps () const
Real | dm (Size i) const
Real | m (Size i) const
Real | densitydm (Size i) const
Protected Member Functions inherited from LazyObject
virtual void | calculate () const
Protected Attributes inherited from OneFactorCopula
Handle< Quote > | correlation_
Real | max_
Size | steps_
Real | min_
std::vector< Real > | y_
std::vector< Real > | cumulativeY_
Protected Attributes inherited from LazyObject
bool | calculated_
bool | frozen_

## Detailed Description

One-factor Gaussian-Student t-Copula.

The copula model

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

is specified here by setting the probability density functions for \( Z_i \) ( \( D_Z \)) to a Student t-distributions with \( N_z \) degrees of freedom, and for \( M \) ( \( D_M \)) to a Gaussian.

The variance of the Student t-distribution with \( \nu \) degrees of freedom is \( \nu / (\nu - 2) \). Since the copula approach requires zero mean and unit variance distributions, \( Z \) is scaled by \( \sqrt{(N_z - 2) / N_z}.\)

## Member Function Documentation

Real density | ( | Real | m | ) | const
| virtual

Density function of M.

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

Implements OneFactorCopula.

Real cumulativeZ | ( | Real | z | ) | const
| virtual

Cumulative distribution of Z.

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

Implements OneFactorCopula.