OneFactorAffineModel Class Referenceabstract
Short-rate modelling framework

Single-factor affine base class. More...

`#include <ql/models/shortrate/onefactormodel.hpp>`

Inheritance diagram for OneFactorAffineModel:
[legend]

## Public Member Functions

| OneFactorAffineModel (Size nArguments)
virtual Real | discountBond (Time now, Time maturity, Array factors) const
Real | discountBond (Time now, Time maturity, Rate rate) const
DiscountFactor | discount (Time t) const
| Implied discount curve.
Public Member Functions inherited from OneFactorModel
| OneFactorModel (Size nArguments)
virtual boost::shared_ptr< ShortRateDynamics > | dynamics () const =0
| returns the short-rate dynamics
boost::shared_ptr< Lattice > | tree (const TimeGrid &grid) const
| Return by default a trinomial recombining 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< 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.
Disposable< Array > | params () const
| Returns array of arguments on which calibration is done.
virtual void | setParams (const Array &params)
Public Member Functions inherited from Observer
| Observer (const Observer &)
Observer & | operator= (const Observer &)
std::pair< std::set< boost::shared_ptr< Observable > >::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 Observable
| Observable (const Observable &)
Observable & | operator= (const Observable &)
void | notifyObservers ()
Public Member Functions inherited from AffineModel
virtual Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const =0
virtual Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondStart, Time bondMaturity) const

## Protected Member Functions

virtual Real | A (Time t, Time T) const =0
virtual Real | B (Time t, Time T) const =0
Protected Member Functions inherited from CalibratedModel
virtual void | generateArguments ()

## Additional Inherited Members

Protected Attributes inherited from CalibratedModel
std::vector< Parameter > | arguments_
boost::shared_ptr< Constraint > | constraint_
EndCriteria::Type | shortRateEndCriteria_

## Detailed Description

Single-factor affine base class.

Single-factor models with an analytical formula for discount bonds should inherit from this class. They must then implement the functions \( A(t,T) \) and \( B(t,T) \) such that

\[ P(t, T, r_t) = A(t,T)e^{ -B(t,T) r_t}. \]