QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches

Two-additive-factor gaussian model class. More...

#include <ql/models/shortrate/twofactormodels/g2.hpp>

Inheritance diagram for G2:

Classes

class  FittingParameter
 Analytical term-structure fitting parameter \( \varphi(t) \). More...

Public Member Functions

 G2 (const Handle< YieldTermStructure > &termStructure, Real a=0.1, Real sigma=0.01, Real b=0.1, Real eta=0.01, Real rho=-0.75)
ext::shared_ptr< ShortRateDynamicsdynamics () const override
 Returns the short-rate dynamics.
Real discountBond (Time now, Time maturity, Array factors) const override
Real discountBond (Time, Time, Rate, Rate) const
Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const override
Real swaption (const Swaption::arguments &arguments, Rate fixedRate, Real range, Size intervals) const
DiscountFactor discount (Time t) const override
 Implied discount curve.
Real a () const
Real sigma () const
Real b () const
Real eta () const
Real rho () const
Public Member Functions inherited from TwoFactorModel
 TwoFactorModel (Size nParams)
ext::shared_ptr< Latticetree (const TimeGrid &grid) const override
 Returns a two-dimensional trinomial tree.
Public Member Functions inherited from ShortRateModel
 ShortRateModel (Size nArguments)
Public Member Functions inherited from CalibratedModel
 CalibratedModel (Size nArguments)
void update () override
virtual void calibrate (const std::vector< 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)
Real value (const Array &params, const std::vector< ext::shared_ptr< CalibrationHelper > > &)
const ext::shared_ptr< Constraint > & constraint () const
EndCriteria::Type endCriteria () const
 Returns end criteria result.
const ArrayproblemValues () const
 Returns the problem values.
Array params () const
 Returns array of arguments on which calibration is done.
virtual void setParams (const Array &params)
Integer functionEvaluation () const
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from AffineModel
virtual Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondStart, Time bondMaturity) const
Public Member Functions inherited from TermStructureConsistentModel
 TermStructureConsistentModel (Handle< YieldTermStructure > termStructure)
const Handle< YieldTermStructure > & termStructure () const

Protected Member Functions

void generateArguments () override
Real A (Time t, Time T) const
Real B (Real x, Time t) const

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
ext::shared_ptr< Constraintconstraint_
EndCriteria::Type shortRateEndCriteria_ = EndCriteria::None
Array problemValues_
Integer functionEvaluation_

Detailed Description

Two-additive-factor gaussian model class.

This class implements a two-additive-factor model defined by

\[ dr_t = \varphi(t) + x_t + y_t \]

where \( x_t \) and \( y_t \) are defined by

\[ dx_t = -a x_t dt + \sigma dW^1_t, x_0 = 0 \]

\[ dy_t = -b y_t dt + \sigma dW^2_t, y_0 = 0 \]

and \( dW^1_t dW^2_t = \rho dt \).

Bug
This class was not tested enough to guarantee its functionality.

Member Function Documentation

◆ dynamics()

ext::shared_ptr< ShortRateDynamics > dynamics ( ) const
overridevirtual

Returns the short-rate dynamics.

Implements TwoFactorModel.

◆ discountBond()

Real discountBond ( Time now,
Time maturity,
Array factors ) const
overridevirtual

Implements AffineModel.

◆ discountBondOption()

Real discountBondOption ( Option::Type type,
Real strike,
Time maturity,
Time bondMaturity ) const
overridevirtual

Implements AffineModel.

◆ discount()

DiscountFactor discount ( Time t) const
overridevirtual

Implied discount curve.

Implements AffineModel.

◆ generateArguments()

void generateArguments ( )
overrideprotectedvirtual

Reimplemented from CalibratedModel.