LGM 1F Parametrization. More...
#include <qle/models/irlgm1fparametrization.hpp>
Public Member Functions | |
Lgm1fParametrization (const Currency ¤cy, const Handle< TS > &termStructure, const std::string &name=std::string()) | |
virtual Real | zeta (const Time t) const =0 |
virtual Real | H (const Time t) const =0 |
virtual Real | alpha (const Time t) const |
virtual Real | kappa (const Time t) const |
virtual Real | Hprime (const Time t) const |
virtual Real | Hprime2 (const Time t) const |
virtual Real | hullWhiteSigma (const Time t) const |
const Handle< TS > | termStructure () const |
Real | zetan (const Size n, const Time t, const boost::shared_ptr< Integrator > &integrator) |
Real & | shift () |
Real & | scaling () |
Size | numberOfParameters () const override |
void | update () const override |
Public Member Functions inherited from Parametrization | |
Parametrization (const Currency ¤cy, const std::string &name="") | |
virtual const Currency & | currency () const |
virtual const Array & | parameterTimes (const Size) const |
virtual Array | parameterValues (const Size) const |
virtual const boost::shared_ptr< Parameter > | parameter (const Size) const |
const std::string & | name () const |
virtual Real | direct (const Size, const Real x) const |
virtual Real | inverse (const Size, const Real y) const |
Protected Attributes | |
Real | shift_ |
Real | scaling_ |
Protected Attributes inherited from Parametrization | |
const Real | h_ |
const Real | h2_ |
Additional Inherited Members | |
Protected Member Functions inherited from Parametrization | |
Time | tr (const Time t) const |
Time | tl (const Time t) const |
Time | tr2 (const Time t) const |
Time | tm2 (const Time t) const |
Time | tl2 (const Time t) const |
LGM 1F Parametrization.
|
pure virtual |
zeta must satisfy zeta(0) = 0, zeta'(t) >= 0
Implemented in Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, and Lgm1fConstantParametrization< TS >.
|
pure virtual |
H must be such that H' does not change its sign
Implemented in Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseConstantParametrization< TS >, Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >, and Lgm1fConstantParametrization< TS >.
Real zetan | ( | const Size | n, |
const Time | t, | ||
const boost::shared_ptr< Integrator > & | integrator | ||
) |
\[ \int_0^t alpha^2(u) H^n(u) du \]
Real & shift |
allows to apply a shift to H (model invariance 1)
Real & scaling |
allows to apply a scaling to H and zeta (model invariance 2), note that if a non unit scaling is provided, then the parameterValues method returns the unscaled alpha, while all other methods return scaled (and shifted) values
|
overridevirtual |
the number of parameters in this parametrization
Reimplemented from Parametrization.
|
overridevirtual |
this method should be called when input parameters linked via references or pointers change in order to ensure consistent results
Reimplemented from Parametrization.
Reimplemented in Lgm1fPiecewiseLinearParametrization< TS >, Lgm1fPiecewiseConstantParametrization< TS >, and Lgm1fPiecewiseConstantHullWhiteAdaptor< TS >.