Logo
Reference manual - version qle_version
HwModel Class Reference
Inheritance diagram for HwModel:

Public Types

enum class  Discretization { Euler , Exact }
Public Types inherited from IrModel
enum class  Measure { LGM , BA }

Public Member Functions

 HwModel (const QuantLib::ext::shared_ptr< IrHwParametrization > &parametrization, const Measure measure=Measure::BA, const Discretization discretization=Discretization::Euler, const bool evaluateBankAccount=true)
Measure measure () const override
const QuantLib::ext::shared_ptr< ParametrizationparametrizationBase () const override
Handle< YieldTermStructure > termStructure () const override
Size n () const override
Size m () const override
Size n_aux () const override
Size m_aux () const override
QuantLib::ext::shared_ptr< StochasticProcessstateProcess () const override
QuantLib::Real discountBond (const QuantLib::Time t, const QuantLib::Time T, const QuantLib::Array &x, const QuantLib::Handle< QuantLib::YieldTermStructure > &discountCurve=Handle< YieldTermStructure >()) const override
QuantLib::Real numeraire (const QuantLib::Time t, const QuantLib::Array &x, const QuantLib::Handle< QuantLib::YieldTermStructure > &discountCurve=Handle< YieldTermStructure >(), const QuantLib::Array &aux=Array()) const override
QuantLib::Real shortRate (const QuantLib::Time t, const QuantLib::Array &x, const QuantLib::Handle< QuantLib::YieldTermStructure > &discountCurve=Handle< YieldTermStructure >()) const override
const QuantLib::ext::shared_ptr< IrHwParametrization > parametrization () const
void calibrateVolatilitiesIterativeStatisticalWithRiskNeutralVolatility (const std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > &helpers, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint={}, const std::vector< Real > &weights={})
std::vector< boolMoveVolatilityRaw (const Size i)
void setCalibrationInfo (const HwCalibrationInfo &calibrationInfo)
const HwCalibrationInfogetCalibrationInfo () const
void update () override
void generateArguments () override
Public Member Functions inherited from LinkableCalibratedModel
void update () override
virtual void calibrate (const std::vector< QuantLib::ext::shared_ptr< CalibrationHelper > > &, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >(), const std::vector< bool > &fixParameters=std::vector< bool >())
 Calibrate to a set of market instruments (usually caps/swaptions).
virtual void calibrate (const std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > &, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >(), const std::vector< bool > &fixParameters=std::vector< bool >())
 for backward compatibility
Real value (const Array &params, const std::vector< QuantLib::ext::shared_ptr< CalibrationHelper > > &)
Real value (const Array &params, const std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > &)
 for backward compatibility
const QuantLib::ext::shared_ptr< Constraint > & constraint () const
EndCriteria::Type endCriteria () const
 Returns end criteria result.
const Array & problemValues () const
 Returns the problem values.
Array params () const
 Returns array of arguments on which calibration is done.
virtual void setParams (const Array &params)
virtual void setParam (Size idx, const Real value)

Additional Inherited Members

Protected Attributes inherited from LinkableCalibratedModel
std::vector< QuantLib::ext::shared_ptr< Parameter > > arguments_
QuantLib::ext::shared_ptr< Constraintconstraint_
EndCriteria::Type endCriteria_
Array problemValues_

Member Function Documentation

◆ measure()

Measure measure ( ) const
overridevirtual

measure under which the model is operated

Implements IrModel.

◆ parametrizationBase()

const QuantLib::ext::shared_ptr< Parametrization > parametrizationBase ( ) const
overridevirtual

parametrization (as base class)

Implements IrModel.

◆ termStructure()

Handle< YieldTermStructure > termStructure ( ) const
overridevirtual

yield term structure to which the IrModel is (initially) calibrated

Implements IrModel.

◆ n()

Size n ( ) const
overridevirtual

dimension of model state, excluding auxilliary states

Implements IrModel.

◆ m()

Size m ( ) const
overridevirtual

number of Brownians to evolve the state

Implements IrModel.

◆ n_aux()

Size n_aux ( ) const
overridevirtual

(effective) dimension of auxilliary state, typically to evaluate the numeraire in the BA-measure

Implements IrModel.

◆ m_aux()

Size m_aux ( ) const
overridevirtual

(effective) number of Brownians required to evolve the auxilliary state, typcially for exact discretization schemes

Implements IrModel.

◆ stateProcess()

QuantLib::ext::shared_ptr< StochasticProcess > stateProcess ( ) const
overridevirtual

stochastic process, this has dimension n() + n_aux() and m() + m_aux() Brownian drivers

Implements IrModel.

◆ discountBond()

QuantLib::Real discountBond ( const QuantLib::Time t,
const QuantLib::Time T,
const QuantLib::Array & x,
const QuantLib::Handle< QuantLib::YieldTermStructure > & discountCurve = Handle< YieldTermStructure >() ) const
overridevirtual

discount bond depending on state (of dimension n())

Implements IrModel.

◆ numeraire()

QuantLib::Real numeraire ( const QuantLib::Time t,
const QuantLib::Array & x,
const QuantLib::Handle< QuantLib::YieldTermStructure > & discountCurve = Handle< YieldTermStructure >(),
const QuantLib::Array & aux = Array() ) const
overridevirtual

numeraire depending on state and aux state (of dimensions n(), n_aux()

Implements IrModel.

◆ shortRate()

QuantLib::Real shortRate ( const QuantLib::Time t,
const QuantLib::Array & x,
const QuantLib::Handle< QuantLib::YieldTermStructure > & discountCurve = Handle< YieldTermStructure >() ) const
overridevirtual

short rate at t

Implements IrModel.

◆ calibrateVolatilitiesIterativeStatisticalWithRiskNeutralVolatility()

void calibrateVolatilitiesIterativeStatisticalWithRiskNeutralVolatility ( const std::vector< QuantLib::ext::shared_ptr< BlackCalibrationHelper > > & helpers,
OptimizationMethod & method,
const EndCriteria & endCriteria,
const Constraint & constraint = {},
const std::vector< Real > & weights = {} )

calibrate volatilities to a sequence of ir options with expiry times equal to step times in the parametrization and following the procedure in HwPiecewiseStatisticalParametrization

◆ MoveVolatilityRaw()

std::vector< bool > MoveVolatilityRaw ( const Size i)

calibration constraints, these can be used directly, or through the customized calibrate methods above

◆ setCalibrationInfo()

void setCalibrationInfo ( const HwCalibrationInfo & calibrationInfo)

set info on how the model was calibrated

◆ getCalibrationInfo()

const HwCalibrationInfo & getCalibrationInfo ( ) const

get info on how the model was calibrated

◆ update()

void update ( )
override

observer and linked calibrated model interface

◆ generateArguments()

void generateArguments ( )
overridevirtual

Reimplemented from LinkableCalibratedModel.