QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.8
Public Member Functions | Protected Member Functions | List of all members
Gsr Class Reference

One factor gsr model, formulation is in forward measure. More...

#include <ql/models/shortrate/onefactormodels/gsr.hpp>

+ Inheritance diagram for Gsr:

Public Member Functions

 Gsr (const Handle< YieldTermStructure > &termStructure, const std::vector< Date > &volstepdates, const std::vector< Real > &volatilities, const Real reversion, const Real T=60.0)
 
 Gsr (const Handle< YieldTermStructure > &termStructure, const std::vector< Date > &volstepdates, const std::vector< Real > &volatilities, const std::vector< Real > &reversions, const Real T=60.0)
 
 Gsr (const Handle< YieldTermStructure > &termStructure, const std::vector< Date > &volstepdates, const std::vector< Handle< Quote > > &volatilities, const Handle< Quote > reversion, const Real T=60.0)
 
 Gsr (const Handle< YieldTermStructure > &termStructure, const std::vector< Date > &volstepdates, const std::vector< Handle< Quote > > &volatilities, const std::vector< Handle< Quote > > &reversions, const Real T=60.0)
 
Real numeraireTime () const
 
void numeraireTime (const Real T)
 
const Arrayreversion () const
 
const Arrayvolatility () const
 
Disposable< std::vector< bool > > FixedReversions ()
 
Disposable< std::vector< bool > > FixedVolatilities ()
 
Disposable< std::vector< bool > > MoveVolatility (Size i)
 
Disposable< std::vector< bool > > MoveReversion (Size i)
 
void calibrateVolatilitiesIterative (const std::vector< boost::shared_ptr< CalibrationHelper > > &helpers, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >())
 
void calibrateReversionsIterative (const std::vector< boost::shared_ptr< CalibrationHelper > > &helpers, OptimizationMethod &method, const EndCriteria &endCriteria, const Constraint &constraint=Constraint(), const std::vector< Real > &weights=std::vector< Real >())
 
- Public Member Functions inherited from Gaussian1dModel
const boost::shared_ptr< StochasticProcess1DstateProcess () const
 
Real numeraire (const Time t, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const
 
Real zerobond (const Time T, const Time t=0.0, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const
 
Real numeraire (const Date &referenceDate, const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const
 
Real zerobond (const Date &maturity, const Date &referenceDate=Null< Date >(), const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >()) const
 
Real zerobondOption (const Option::Type &type, const Date &expiry, const Date &valueDate, const Date &maturity, const Rate strike, const Date &referenceDate=Null< Date >(), const Real y=0.0, const Handle< YieldTermStructure > &yts=Handle< YieldTermStructure >(), const Real yStdDevs=7.0, const Size yGridPoints=64, const bool extrapolatePayoff=true, const bool flatPayoffExtrapolation=false) const
 
Real forwardRate (const Date &fixing, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< IborIndex > iborIdx=boost::shared_ptr< IborIndex >()) const
 
Real swapRate (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< SwapIndex > swapIdx=boost::shared_ptr< SwapIndex >()) const
 
Real swapAnnuity (const Date &fixing, const Period &tenor, const Date &referenceDate=Null< Date >(), const Real y=0.0, boost::shared_ptr< SwapIndex > swapIdx=boost::shared_ptr< SwapIndex >()) const
 
const Disposable< ArrayyGrid (const Real yStdDevs, const int gridPoints, const Real T=1.0, const Real t=0, const Real y=0) const
 
- Public Member Functions inherited from TermStructureConsistentModel
 TermStructureConsistentModel (const Handle< YieldTermStructure > &termStructure)
 
const Handle< YieldTermStructure > & termStructure () const
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from LazyObject
void update ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const boost::shared_ptr< Observable > &)
 
void registerWithObservables (const boost::shared_ptr< Observer > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from CalibratedModel
 CalibratedModel (Size nArguments)
 
virtual void calibrate (const std::vector< boost::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...
 
Real value (const Array &params, const std::vector< boost::shared_ptr< CalibrationHelper > > &)
 
const boost::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)
 

Protected Member Functions

Real numeraireImpl (const Time t, const Real y, const Handle< YieldTermStructure > &yts) const
 
Real zerobondImpl (const Time T, const Time t, const Real y, const Handle< YieldTermStructure > &yts) const
 
void generateArguments ()
 
void update ()
 
void performCalculations () const
 
- Protected Member Functions inherited from Gaussian1dModel
 Gaussian1dModel (const Handle< YieldTermStructure > &yieldTermStructure)
 
void generateArguments ()
 
boost::shared_ptr< VanillaSwapunderlyingSwap (const boost::shared_ptr< SwapIndex > &index, const Date &expiry, const Period &tenor) const
 
- Protected Member Functions inherited from LazyObject
virtual void calculate () const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Static Public Member Functions inherited from Gaussian1dModel
static Real gaussianPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real x0, const Real x1)
 
static Real gaussianShiftedPolynomialIntegral (const Real a, const Real b, const Real c, const Real d, const Real e, const Real h, const Real x0, const Real x1)
 
- Protected Attributes inherited from Gaussian1dModel
boost::shared_ptr< StochasticProcess1DstateProcess_
 
Date evaluationDate_
 
bool enforcesTodaysHistoricFixings_
 
- Protected Attributes inherited from LazyObject
bool calculated_
 
bool frozen_
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
 
boost::shared_ptr< Constraintconstraint_
 
EndCriteria::Type shortRateEndCriteria_
 
Array problemValues_
 

Detailed Description

One factor gsr model, formulation is in forward measure.

Member Function Documentation

void update ( )
protectedvirtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Reimplemented from CalibratedModel.

void performCalculations ( ) const
protectedvirtual

This method must implement any calculations which must be (re)done in order to calculate the desired results.

Reimplemented from Gaussian1dModel.