Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

VolSurface Class Reference

#include <VolatilityAndCorrelation.h>

Inheritance diagram for VolSurface:

CONST_VolSurface JR_VolSurface M_VolSurface List of all members.

Detailed Description

Deterministic volatility surface for a FactorLoading. The actual volatility function of the process (in applications to finance usually asset returns, that is asset logarithms or Libor logarithms) is then given as

where is a scaling factor to calibrate the annualized volatility of . In the case of a DriftlessLMM is the the logarithm of forward transported Libor .

To simplify calibration we assume that all volatility surface types depend on four Real parameters a,b,c,d. This suffices for all types which are implemented and the maximal parameter set becomes part of the interface. In general this is objectionable but here it simplifies the calibration of factorloadings. The calibration routines use the maximal (and hence the same) set of parameters for all types of surfaces even though any particular type may not depend on all parameters.

For simplicity k[0] is included in the calibration (although it has no effect in the case of Libors). The entire volatility structure then depends on the vector k of scaling factors and the parameters a,b,c,d, an n+4 dimensional vector. In the case of Libors the vector k is part of the LiborFactorLoading.

Definition at line 76 of file VolatilityAndCorrelation.h.

Public Member Functions

 VolSurface (Real a_, Real b_, Real c_, Real d_, int type)
int getType () const
virtual Real sigma (Real t, Real T) const=0
virtual Real integral_sgsg (Real t, Real T_1, Real T_2) const=0
Real integral_sgsg (Real s, Real t, Real T_1, Real T_2) const
void testVolSurfaceIntegrals (int N, Real precision)
void setParameters (Real _a, Real _b, Real _c, Real _d)
virtual std::ostream & printSelf (std::ostream &os) const=0
string volSurfaceType ()

Static Public Member Functions

VolSurface * sample (int type)
string volSurfaceType (int type)

Static Public Attributes

const int M = 0
const int JR = 1
const int CONST = 2

Protected Attributes

int volType
Real a
Real b
Real c
Real d


Constructor & Destructor Documentation

VolSurface::VolSurface Real    a_,
Real    b_,
Real    c_,
Real    d_,
int    type
[inline]
 

Parameters:
a_,b,c,d parameters of the vol surface
type vol surface type M, JR or CONST.

Definition at line 102 of file VolatilityAndCorrelation.h.

References Real.


Member Function Documentation

int VolSurface::getType   const [inline]
 

Type ID, implemented: M, JR, CONST.

Definition at line 108 of file VolatilityAndCorrelation.h.

VolSurface* VolSurface::sample int    type [static]
 

A sample surface of the type = M, JR, CONST.

string VolSurface::volSurfaceType int    type [static]
 

"CONST", "M" or "JR", converts integer type ID to string.

virtual Real VolSurface::sigma Real    t,
Real    T
const [pure virtual]
 

The volatility surface .

Implemented in JR_VolSurface, M_VolSurface, and CONST_VolSurface.

virtual Real VolSurface::integral_sgsg Real    t,
Real    T_1,
Real    T_2
const [pure virtual]
 

The indefinite integral

Needed for covariation integrals.

Implemented in JR_VolSurface, M_VolSurface, and CONST_VolSurface.

Referenced by integral_sgsg().

Real VolSurface::integral_sgsg Real    s,
Real    t,
Real    T_1,
Real    T_2
const [inline]
 

The definite integral

Needed for covariation integrals.

Definition at line 136 of file VolatilityAndCorrelation.h.

References integral_sgsg(), and Real.

void VolSurface::testVolSurfaceIntegrals int    N,
Real    precision
 

Diagnostic. Monte Carlo test of the volatility integrals integral_sgsg(Real,Real,Real,Real). Analytic formulas tested against Monte Carlo over a range of integration intervals.

Parameters:
N number of Monte Carlo sample points.
precision maximal acceptable relative error in percent.

void VolSurface::setParameters Real    _a,
Real    _b,
Real    _c,
Real    _d
[inline]
 

Sets the parameters (calibration).

Definition at line 155 of file VolatilityAndCorrelation.h.

virtual std::ostream& VolSurface::printSelf std::ostream &    os const [pure virtual]
 

Message and fields.

Implemented in JR_VolSurface, M_VolSurface, and CONST_VolSurface.

string VolSurface::volSurfaceType  
 

Type of volatility surface "CONST, "JR", "M".


Member Data Documentation

int VolSurface::volType [protected]
 

Flag for the type of vol surface: M,JR,CT.

Definition at line 82 of file VolatilityAndCorrelation.h.

Real VolSurface::a [protected]
 

Definition at line 84 of file VolatilityAndCorrelation.h.

Referenced by JR_VolSurface::JR_VolSurface(), and M_VolSurface::M_VolSurface().

Real VolSurface::b [protected]
 

Definition at line 84 of file VolatilityAndCorrelation.h.

Referenced by JR_VolSurface::JR_VolSurface(), and M_VolSurface::M_VolSurface().

Real VolSurface::c [protected]
 

Definition at line 84 of file VolatilityAndCorrelation.h.

Referenced by JR_VolSurface::JR_VolSurface(), and M_VolSurface::M_VolSurface().

Real VolSurface::d [protected]
 

Definition at line 84 of file VolatilityAndCorrelation.h.

Referenced by CONST_VolSurface::CONST_VolSurface(), JR_VolSurface::JR_VolSurface(), and M_VolSurface::M_VolSurface().

const int VolSurface::M = 0 [static]
 

Flags identifying the volatility surface type:
M: book, 6.11.1.
JR: Jaeckel-Rebonato, Jaeckel book, p164, 12.11.
CT: constant.

Definition at line 95 of file VolatilityAndCorrelation.h.

const int VolSurface::JR = 1 [static]
 

Flags identifying the volatility surface type:
M: book, 6.11.1.
JR: Jaeckel-Rebonato, Jaeckel book, p164, 12.11.
CT: constant.

Definition at line 95 of file VolatilityAndCorrelation.h.

const int VolSurface::CONST = 2 [static]
 

Flags identifying the volatility surface type:
M: book, 6.11.1.
JR: Jaeckel-Rebonato, Jaeckel book, p164, 12.11.
CT: constant.

Definition at line 95 of file VolatilityAndCorrelation.h.

Referenced by CONST_VolSurface::CONST_VolSurface().


The documentation for this class was generated from the following file:
Generated on Mon Sep 22 02:16:33 2003 for Libor-Library by doxygen1.3-rc3