QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Classes | Public Member Functions | Protected Member Functions | List of all members
GeneralizedHullWhite Class Reference

Generalized Hull-White model class. More...

#include <ql/experimental/shortrate/generalizedhullwhite.hpp>

+ Inheritance diagram for GeneralizedHullWhite:

Classes

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

Public Member Functions

 GeneralizedHullWhite (const Handle< YieldTermStructure > &yieldtermStructure, const std::vector< Date > &speedstructure, const std::vector< Date > &volstructure, const std::vector< Real > &speed, const std::vector< Real > &vol, const ext::function< Real(Real)> &f=ext::function< Real(Real)>(), const ext::function< Real(Real)> &fInverse=ext::function< Real(Real)>())
 
template<class SpeedInterpolationTraits , class VolInterpolationTraits >
 GeneralizedHullWhite (const Handle< YieldTermStructure > &yieldtermStructure, const std::vector< Date > &speedstructure, const std::vector< Date > &volstructure, const std::vector< Real > &speed, const std::vector< Real > &vol, const SpeedInterpolationTraits &speedtraits, const VolInterpolationTraits &voltraits, const ext::function< Real(Real)> &f=ext::function< Real(Real)>(), const ext::function< Real(Real)> &fInverse=ext::function< Real(Real)>())
 
ext::shared_ptr< ShortRateDynamicsdynamics () const
 returns the short-rate dynamics
 
ext::shared_ptr< Latticetree (const TimeGrid &grid) const
 
 GeneralizedHullWhite (const Handle< YieldTermStructure > &yieldtermStructure, Real a=0.1, Real sigma=0.01)
 
ext::shared_ptr< ShortRateDynamicsHWdynamics () const
 
Real discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const
 Only valid under Hull-White model.
 
std::vector< bool > fixedReversion () const
 vector to pass to 'calibrate' to fit only volatility
 
- 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)
 
ext::shared_ptr< Latticetree (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< 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...
 
virtual QL_DEPRECATED void calibrate (const std::vector< ext::shared_ptr< BlackCalibrationHelper > > &, 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 >())
 
Real value (const Array &params, const std::vector< ext::shared_ptr< CalibrationHelper > > &)
 
QL_DEPRECATED Real value (const Array &params, const std::vector< ext::shared_ptr< BlackCalibrationHelper > > &)
 
const ext::shared_ptr< Constraint > & constraint () const
 
EndCriteria::Type endCriteria () const
 Returns end criteria result.
 
const ArrayproblemValues () const
 Returns the problem values.
 
Disposable< Arrayparams () 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 &)
 
Observeroperator= (const Observer &)
 
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void deepUpdate ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observableoperator= (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
 
- Public Member Functions inherited from TermStructureConsistentModel
 TermStructureConsistentModel (const Handle< YieldTermStructure > &termStructure)
 
const Handle< YieldTermStructure > & termStructure () const
 

Protected Member Functions

Real a () const
 
Real sigma () const
 
void generateArguments ()
 
virtual Real A (Time t, Time T) const
 
virtual Real B (Time t, Time T) const
 
Real V (Time t, Time T) const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Attributes inherited from CalibratedModel
std::vector< Parameterarguments_
 
ext::shared_ptr< Constraintconstraint_
 
EndCriteria::Type shortRateEndCriteria_
 
Array problemValues_
 
Integer functionEvaluation_
 

Detailed Description

Generalized Hull-White model class.

This class implements the standard Black-Karasinski model defined by

\[ d f(r_t) = (\theta(t) - \alpha f(r_t))dt + \sigma dW_t, \]

where \( alpha \) and \( sigma \) are piecewise linear functions.