Short-rate modelling framework
Classes | |
| class | AffineModel |
| Affine model class. More... | |
| class | TermStructureConsistentModel |
| Term-structure consistent model class. More... | |
| class | ShortRateModel |
| Abstract short-rate model class. More... | |
| class | OneFactorModel |
| Single-factor short-rate model abstract class. More... | |
| class | OneFactorAffineModel |
| Single-factor affine base class. More... | |
| class | BlackKarasinski |
| Standard Black-Karasinski model class. More... | |
| class | CoxIngersollRoss |
| Cox-Ingersoll-Ross model class. More... | |
| class | ExtendedCoxIngersollRoss |
| Extended Cox-Ingersoll-Ross model class. More... | |
| class | HullWhite |
| Single-factor Hull-White (extended Vasicek) model class. More... | |
| class | Vasicek |
| Vasicek model class More... | |
| class | TwoFactorModel |
| Abstract base-class for two-factor models. More... | |
| class | G2 |
| Two-additive-factor gaussian model class. More... | |
Detailed Description
This framework (corresponding to the ql/ShortRateModels directory) implements some single-factor and two-factor short rate models. The models implemented in this library are widely used by practitionners. For the moment, the ShortRateModels::Model class defines the short-rate dynamics with stochastic equations of the type
where
. If the model is affine (i.e. derived from the QuantLib::AffineModel class), analytical formulas for discount bonds and discount bond options are given (useful for calibration).
Single-factor models
- The Hull & White model
When
and
are constants, this model has analytical formulas for discount bonds and discount bond options.
- The Black-Karasinski model
No analytical tractability here.
- The extended Cox-Ingersoll-Ross model
There are analytical formulas for discount bonds (and soon for discount bond options).
Calibration
The class CalibrationHelper is a base class that facilitates the instanciation of market instruments used for calibration. It has a method marketValue() that gives the market price using a Black formula, and a modelValue() method that gives the price according to a modelDerived classed are QuantLib::CapHelper and QuantLib::SwaptionHelper.
For the calibration itself, you must choose an optimization method that will find constant parameters such that the value:
where
is the price given by the model and
is the market price, is minimized. A few optimization methods are available in the ql/Optimization directory.
Two-factor models
Pricers
- Analytical pricers
- Using Finite Differences
is the state variable and follows this stochastic process:
any european-style instrument will follow the following PDE:
The adequate operator to feed a Finite Difference Model instance is defined in the QuantLib::OneFactorOperator class.
- Using Trees