Logo
Reference manual - version qle_version
deltagammavar.hpp File Reference

functions to compute delta or delta-gamma VaR numbers More...

#include <qle/math/covariancesalvage.hpp>
#include <ql/math/comparison.hpp>
#include <ql/math/array.hpp>
#include <ql/math/matrix.hpp>
#include <ql/math/matrixutilities/choleskydecomposition.hpp>
#include <ql/math/matrixutilities/pseudosqrt.hpp>
#include <ql/math/randomnumbers/rngtraits.hpp>
#include <boost/accumulators/accumulators.hpp>
#include <boost/accumulators/statistics/stats.hpp>
#include <boost/accumulators/statistics/tail_quantile.hpp>
#include <boost/foreach.hpp>

Functions

Real deltaVar (const Matrix &omega, const Array &delta, const Real p, const CovarianceSalvage &sal=NoCovarianceSalvage())
 function that computes a delta VaR
Real deltaGammaVarNormal (const Matrix &omega, const Array &delta, const Matrix &gamma, const Real p, const CovarianceSalvage &sal=NoCovarianceSalvage())
 function that computes a delta-gamma normal VaR
template<class RNG>
Real deltaGammaVarMc (const Matrix &omega, const Array &delta, const Matrix &gamma, const Real p, const Size paths, const Size seed, const CovarianceSalvage &sal=NoCovarianceSalvage())
 function that computes a delta-gamma VaR using Monte Carlo (single quantile)
template<class RNG>
std::vector< Real > deltaGammaVarMc (const Matrix &omega, const Array &delta, const Matrix &gamma, const std::vector< Real > &p, const Size paths, const Size seed, const CovarianceSalvage &sal=NoCovarianceSalvage())
 function that computes a delta-gamma VaR using Monte Carlo (multiple quantiles)
void check (const Real p)
void check (const Matrix &omega, const Array &delta)
void check (const Matrix &omega, const Array &delta, const Matrix &gamma)
template<typename A>
Real absMax (const A &a)
Real deltaGammaVarCornishFisher (const Matrix &omega, const Array &delta, const Matrix &gamma, const Real p, const CovarianceSalvage &sal=NoCovarianceSalvage())
Real deltaGammaVarSaddlepoint (const Matrix &omega, const Array &delta, const Matrix &gamma, const Real p, const CovarianceSalvage &sal=NoCovarianceSalvage())

Detailed Description

functions to compute delta or delta-gamma VaR numbers

Function Documentation

◆ deltaVar()

Real deltaVar ( const Matrix & omega,
const Array & delta,
const Real p,
const CovarianceSalvage & sal = NoCovarianceSalvage() )

function that computes a delta VaR

For a given covariance matrix and a delta vector this function computes a parametric var w.r.t. a given confidence level for multivariate normal risk factors.

◆ deltaGammaVarNormal()

Real deltaGammaVarNormal ( const Matrix & omega,
const Array & delta,
const Matrix & gamma,
const Real p,
const CovarianceSalvage & sal = NoCovarianceSalvage() )

function that computes a delta-gamma normal VaR

For a given a covariance matrix, a delta vector and a gamma matrix this function computes a parametric var w.r.t. a given confidence level. The gamma matrix is taken into account when computing the variance of the PL distribution, but the PL distribution is still assumed to be normal.

◆ deltaGammaVarMc() [1/2]

template<class RNG>
Real deltaGammaVarMc ( const Matrix & omega,
const Array & delta,
const Matrix & gamma,
const Real p,
const Size paths,
const Size seed,
const CovarianceSalvage & sal = NoCovarianceSalvage() )

function that computes a delta-gamma VaR using Monte Carlo (single quantile)

For a given a covariance matrix, a delta vector and a gamma matrix this function computes a parametric var w.r.t. a given confidence level. The var quantile is estimated from Monte-Carlo realisations of a second order sensitivity based PL.

◆ deltaGammaVarMc() [2/2]

template<class RNG>
std::vector< Real > deltaGammaVarMc ( const Matrix & omega,
const Array & delta,
const Matrix & gamma,
const std::vector< Real > & p,
const Size paths,
const Size seed,
const CovarianceSalvage & sal = NoCovarianceSalvage() )

function that computes a delta-gamma VaR using Monte Carlo (multiple quantiles)

For a given a covariance matrix, a delta vector and a gamma matrix this function computes a parametric var w.r.t. a vector of given confidence levels. The var quantile is estimated from Monte-Carlo realisations of a second order sensitivity based PL.