Logo
Reference manual - version qle_version
Functions
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 More...
 
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 More...
 
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) More...
 
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) More...
 
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 QuantExt::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 QuantExt::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]

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]

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.