QuantLib: Vasicek Class Reference

A free/open-source library for quantitative finance Reference manual - version 1.12

Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Vasicek Class Reference
Short-rate modelling framework

Vasicek model class More...

`#include <ql/models/shortrate/onefactormodels/vasicek.hpp>`

Inheritance diagram for Vasicek:
[legend]

## Classes
class | Dynamics
| Short-rate dynamics in the Vasicek model. More...

## Public Member Functions
| Vasicek (Rate r0=0.05, Real a=0.1, Real b=0.05, Real sigma=0.01, Real lambda=0.0)
virtual Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const
virtual boost::shared_ptr< ShortRateDynamics > | dynamics () const
| returns the short-rate dynamics
Real | a () const
Real | b () const
Real | lambda () const
Real | sigma () const
Public Member Functions inherited from OneFactorAffineModel
| 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)
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.
const Array & | problemValues () const
| Returns the problem values.
Disposable< 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 &)
Observer & | operator= (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 ()
virtual void | deepUpdate ()
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 bondStart, Time bondMaturity) const

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

## Protected Attributes
Real | r0_
Parameter & | a_
Parameter & | b_
Parameter & | sigma_
Parameter & | lambda_
Protected Attributes inherited from CalibratedModel
std::vector< Parameter > | arguments_
boost::shared_ptr< Constraint > | constraint_
EndCriteria::Type | shortRateEndCriteria_
Array | problemValues_
Integer | functionEvaluation_

## Additional Inherited Members
Public Types inherited from Observer
typedef std::set< boost::shared_ptr< Observable > > | set_type
typedef set_type::iterator | iterator

## Detailed Description

Vasicek model class

This class implements the Vasicek model defined by

\[ dr_t = a(b - r_t)dt + \sigma dW_t , \]

where \( a \), \( b \) and \( \sigma \) are constants; a risk premium \( \lambda \) can also be specified.