QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
OneFactorAffineModel Class Referenceabstract

Single-factor affine base class. More...

#include <onefactormodel.hpp>

+ Inheritance diagram for OneFactorAffineModel:
+ Collaboration diagram for OneFactorAffineModel:

Public Member Functions

 OneFactorAffineModel (Size nArguments)
 
Real discountBond (Time now, Time maturity, Array factors) const override
 
Real discountBond (Time now, Time maturity, Rate rate) const
 
DiscountFactor discount (Time t) const override
 Implied discount curve. More...
 
- Public Member Functions inherited from OneFactorModel
 OneFactorModel (Size nArguments)
 
 ~OneFactorModel () override=default
 
virtual ext::shared_ptr< ShortRateDynamicsdynamics () const =0
 returns the short-rate dynamics More...
 
ext::shared_ptr< Latticetree (const TimeGrid &grid) const override
 Return by default a trinomial recombining tree. More...
 
- Public Member Functions inherited from ShortRateModel
 ShortRateModel (Size nArguments)
 
virtual ext::shared_ptr< Latticetree (const TimeGrid &) const =0
 
- 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) More...
 
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. More...
 
const ArrayproblemValues () const
 Returns the problem values. More...
 
Array params () const
 Returns array of arguments on which calibration is done. More...
 
virtual void setParams (const Array &params)
 
Integer functionEvaluation () const
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from AffineModel
virtual DiscountFactor discount (Time t) const =0
 Implied discount curve. More...
 
virtual Real discountBond (Time now, Time maturity, Array factors) const =0
 
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

- 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

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}. \]

Definition at line 126 of file onefactormodel.hpp.

Constructor & Destructor Documentation

◆ OneFactorAffineModel()

OneFactorAffineModel ( Size  nArguments)
explicit

Definition at line 129 of file onefactormodel.hpp.

Member Function Documentation

◆ discountBond() [1/2]

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

Implements AffineModel.

Definition at line 132 of file onefactormodel.hpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ discountBond() [2/2]

Real discountBond ( Time  now,
Time  maturity,
Rate  rate 
) const

Definition at line 136 of file onefactormodel.hpp.

+ Here is the call graph for this function:

◆ discount()

DiscountFactor discount ( Time  t) const
overridevirtual

Implied discount curve.

Implements AffineModel.

Definition at line 97 of file onefactormodel.cpp.

+ Here is the call graph for this function:

◆ A()

virtual Real A ( Time  t,
Time  T 
) const
protectedpure virtual

Implemented in GeneralizedHullWhite, CoxIngersollRoss, ExtendedCoxIngersollRoss, HullWhite, and Vasicek.

+ Here is the caller graph for this function:

◆ B()

virtual Real B ( Time  t,
Time  T 
) const
protectedpure virtual

Implemented in GeneralizedHullWhite, CoxIngersollRoss, and Vasicek.

+ Here is the caller graph for this function: