QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members

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
 Returns the short-rate dynamics.
 
virtual Real discountBond (Time now, Time maturity, Array factors) const
 
Real discountBond (Time, Time, Rate, Rate) const
 
Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const
 
Real swaption (const Swaption::arguments &arguments, Rate fixedRate, Real range, Size intervals) const
 
DiscountFactor discount (Time t) const
 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
 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 ()
 
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) More...
 
virtual QL_DEPRECATED void calibrate (const std::vector< 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 >())
 
Real value (const Array &params, const std::vector< ext::shared_ptr< CalibrationHelper > > &)
 
QL_DEPRECATED Real value (const Array &params, const std::vector< ext::shared_ptr< BlackCalibrationHelper > > &)
 
const ext::shared_ptr< Constraint > & constraint () const
 
EndCriteria::Type endCriteria () const
 Returns end criteria result.
 
const ArrayproblemValues () const
 Returns the problem values.
 
Disposable< Arrayparams () 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 &)
 
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 (const Handle< YieldTermStructure > &termStructure)
 
const Handle< YieldTermStructure > & termStructure () const
 

Protected Member Functions

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

Friends

class SwaptionPricingFunction
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
 
ext::shared_ptr< Constraintconstraint_
 
EndCriteria::Type shortRateEndCriteria_
 
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.
Examples
BermudanSwaption.cpp.