Logo
Reference manual - version qle_version
HwPiecewiseParametrization< TS > Class Template Reference

HW nF Parametrization with m driving Brownian motions and piecewise reversion, vol. More...

#include <qle/models/hwpiecewiseparametrization.hpp>

Inheritance diagram for HwPiecewiseParametrization< TS >:

Public Member Functions

 HwPiecewiseParametrization (const QuantLib::Currency &currency, const QuantLib::Handle< TS > &termStructure, const QuantLib::Array &times, const std::vector< Matrix > &sigma, const std::vector< QuantLib::Array > &kappa, const std::string &name=std::string())
const QuantLib::ext::shared_ptr< Parameterparameter (const Size) const override
const Array & parameterTimes (const Size) const override
QuantLib::Matrix sigma_x (const QuantLib::Time t) const override
QuantLib::Array kappa (const QuantLib::Time t) const override
QuantLib::Matrix y (const QuantLib::Time t) const override
QuantLib::Array g (const QuantLib::Time t, const QuantLib::Time T) const override
Public Member Functions inherited from HwParametrization< TS >
 HwParametrization (const QuantLib::Size n, const QuantLib::Size m, const QuantLib::Currency &currency, const QuantLib::Handle< TS > &termStructure, const std::string &name=std::string())
const QuantLib::Handle< TS > termStructure () const
QuantLib::Size numberOfParameters () const override
QuantLib::Size n () const
QuantLib::Size m () const
void update () const override
Public Member Functions inherited from Parametrization
 Parametrization (const Currency &currency, const std::string &name="")
virtual const Currency & currency () const
virtual Array parameterValues (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 Member Functions

 HwPiecewiseParametrization (const QuantLib::Size n, const QuantLib::Size m, const QuantLib::Currency &currency, const QuantLib::Handle< TS > &termStructure, const QuantLib::Array &times, const std::string &name=std::string())
QuantLib::Size timeIndex (const QuantLib::Time t) const
QuantLib::Size sigmaIndex (const QuantLib::Size i, const QuantLib::Size j, const QuantLib::Size timeIndex) const
virtual QuantLib::Size kappaIndex (const QuantLib::Size i, const QuantLib::Size timeIndex) const
virtual double sigmaComp (const QuantLib::Size i, const QuantLib::Size j, const QuantLib::Size timeIndex) const
virtual double kappaComp (const QuantLib::Size i, const QuantLib::Size timeIndex) const
QuantLib::Matrix sigma_x_ind (const QuantLib::Size timeIndex) const
QuantLib::Array kappa_ind (const QuantLib::Size timeIndex) const
double y_part (double a, double b, double t, const QuantLib::Array &kappa, const QuantLib::Matrix &sigma, QuantLib::Size i, QuantLib::Size j) const
double g_part (double t, double a, double b, double kappa) const
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

Protected Attributes

QuantLib::Array times_
QuantLib::ext::shared_ptr< PseudoParametersigma_
QuantLib::ext::shared_ptr< PseudoParameterkappa_
Protected Attributes inherited from HwParametrization< TS >
QuantLib::Size n_
QuantLib::Size m_
Protected Attributes inherited from Parametrization
const Real h_
const Real h2_

Static Protected Attributes

static constexpr QuantLib::Real zeroKappaCutoff_ = 1.0E-6

Detailed Description

template<class TS>
class QuantExt::HwPiecewiseParametrization< TS >

HW nF Parametrization with m driving Brownian motions and piecewise reversion, vol.

Member Function Documentation

◆ parameter()

template<class TS>
const QuantLib::ext::shared_ptr< Parameter > parameter ( const Size ) const
overridevirtual

the parameter storing the raw parameter values

Reimplemented from Parametrization.

◆ parameterTimes()

template<class TS>
const Array & parameterTimes ( const Size ) const
overridevirtual

the times associated to parameter i

Reimplemented from Parametrization.

◆ sigma_x()

template<class TS>
QuantLib::Matrix sigma_x ( const QuantLib::Time t) const
overridevirtual

sigma_x, 1.12, this is a m x n matrix

Implements HwParametrization< TS >.

◆ kappa()

template<class TS>
QuantLib::Array kappa ( const QuantLib::Time t) const
overridevirtual

◆ y()

template<class TS>
QuantLib::Matrix y ( const QuantLib::Time t) const
overridevirtual

y(t), 1.19, this is an n x n matrix

Reimplemented from HwParametrization< TS >.

◆ g()

template<class TS>
QuantLib::Array g ( const QuantLib::Time t,
const QuantLib::Time T ) const
overridevirtual

g(t,T), 1.21, this is an n-array

Reimplemented from HwParametrization< TS >.