HullWhite Class Reference

Single-factor Hull-White (extended Vasicek) model class. More...

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

Inheritance diagram for HullWhite:

Classes

class  Dynamics
 Short-rate dynamics in the Hull-White model. More...
 
class  FittingParameter
 Analytical term-structure fitting parameter $ \varphi(t) $. More...
 

Public Member Functions

 HullWhite (const Handle< YieldTermStructure > &termStructure, Real a=0.1, Real sigma=0.01)
 
boost::shared_ptr< Latticetree (const TimeGrid &grid) const
 Return by default a trinomial recombining tree.
 
boost::shared_ptr
< ShortRateDynamics
dynamics () const
 returns the short-rate dynamics
 
Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const
 
- Public Member Functions inherited from Vasicek
 Vasicek (Rate r0=0.05, Real a=0.1, Real b=0.05, Real sigma=0.01, Real lambda=0.0)
 
- 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)
 
- Public Member Functions inherited from ShortRateModel
 ShortRateModel (Size nArguments)
 
- Public Member Functions inherited from CalibratedModel
 CalibratedModel (Size nArguments)
 
void update ()
 
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 >())
 Calibrate to a set of market instruments (caps/swaptions)
 
Real value (const Array &params, const std::vector< boost::shared_ptr< CalibrationHelper > > &)
 
const boost::shared_ptr
< Constraint > & 
constraint () const
 
EndCriteria::Type endCriteria ()
 returns end criteria result
 
Disposable< Arrayparams () 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 &)
 
Observeroperator= (const Observer &)
 
std::pair< std::set
< boost::shared_ptr
< Observable > >::iterator,
bool > 
registerWith (const boost::shared_ptr< Observable > &)
 
Size unregisterWith (const boost::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from TermStructureConsistentModel
 TermStructureConsistentModel (const Handle< YieldTermStructure > &termStructure)
 
const Handle
< YieldTermStructure > & 
termStructure () const
 

Static Public Member Functions

static Rate convexityBias (Real futurePrice, Time t, Time T, Real sigma, Real a)
 

Protected Member Functions

void generateArguments ()
 
Real A (Time t, Time T) const
 
- Protected Member Functions inherited from Vasicek
virtual Real B (Time t, Time T) const
 
Real a () const
 
Real b () const
 
Real lambda () const
 
Real sigma () const
 

Additional Inherited Members

- Protected Attributes inherited from Vasicek
Real r0_
 
Parametera_
 
Parameterb_
 
Parametersigma_
 
Parameterlambda_
 

Detailed Description

Single-factor Hull-White (extended Vasicek) model class.

This class implements the standard single-factor Hull-White model defined by

\[ dr_t = (\theta(t) - \alpha r_t)dt + \sigma dW_t \]

where $ \alpha $ and $ \sigma $ are constants.

Tests:
calibration results are tested against cached values
Bug:
When the term structure is relinked, the r0 parameter of the underlying Vasicek model is not updated.
Examples:
BermudanSwaption.cpp, and CallableBonds.cpp.

Member Function Documentation

static Rate convexityBias ( Real  futurePrice,
Time  t,
Time  T,
Real  sigma,
Real  a 
)
static

Futures convexity bias (i.e., the difference between futures implied rate and forward rate) calculated as in G. Kirikos, D. Novak, "Convexity Conundrums", Risk Magazine, March 1997.

Note
t and T should be expressed in yearfraction using deposit day counter, F_quoted is futures' market price.