QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Single-factor Hull-White (extended Vasicek) model class. More...
#include <hullwhite.hpp>
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) | |
ext::shared_ptr< Lattice > | tree (const TimeGrid &grid) const override |
Return by default a trinomial recombining tree. More... | |
ext::shared_ptr< ShortRateDynamics > | dynamics () const override |
returns the short-rate dynamics More... | |
Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const override |
Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondStart, Time bondMaturity) const override |
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) | |
Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const override |
ext::shared_ptr< ShortRateDynamics > | dynamics () const override |
returns the short-rate dynamics More... | |
Real | a () const |
Real | b () const |
Real | lambda () const |
Real | sigma () const |
Real | r0 () const |
Public Member Functions inherited from OneFactorAffineModel | |
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< ShortRateDynamics > | dynamics () const =0 |
returns the short-rate dynamics More... | |
ext::shared_ptr< Lattice > | tree (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< Lattice > | tree (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 ¶ms, const std::vector< ext::shared_ptr< CalibrationHelper > > &) |
const ext::shared_ptr< Constraint > & | constraint () const |
EndCriteria::Type | endCriteria () const |
Returns end criteria result. More... | |
const Array & | problemValues () const |
Returns the problem values. More... | |
Array | params () const |
Returns array of arguments on which calibration is done. More... | |
virtual void | setParams (const Array ¶ms) |
Integer | functionEvaluation () const |
Public Member Functions inherited from Observer | |
Observer ()=default | |
Observer (const Observer &) | |
Observer & | operator= (const Observer &) |
virtual | ~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 | update ()=0 |
virtual void | deepUpdate () |
Public Member Functions inherited from Observable | |
Observable () | |
Observable (const Observable &) | |
Observable & | operator= (const Observable &) |
Observable (Observable &&)=delete | |
Observable & | operator= (Observable &&)=delete |
virtual | ~Observable ()=default |
void | notifyObservers () |
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 |
Public Member Functions inherited from TermStructureConsistentModel | |
TermStructureConsistentModel (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) |
static std::vector< bool > | FixedReversion () |
Protected Member Functions | |
void | generateArguments () override |
Real | A (Time t, Time T) const override |
Protected Member Functions inherited from Vasicek | |
Real | A (Time t, Time T) const override |
Real | B (Time t, Time T) const override |
virtual Real | A (Time t, Time T) const =0 |
virtual Real | B (Time t, Time T) const =0 |
virtual void | generateArguments () |
Private Attributes | |
Parameter | phi_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
typedef set_type::iterator | iterator |
Protected Attributes inherited from Vasicek | |
Real | r0_ |
Parameter & | a_ |
Parameter & | b_ |
Parameter & | sigma_ |
Parameter & | lambda_ |
Protected Attributes inherited from CalibratedModel | |
std::vector< Parameter > | arguments_ |
ext::shared_ptr< Constraint > | constraint_ |
EndCriteria::Type | shortRateEndCriteria_ = EndCriteria::None |
Array | problemValues_ |
Integer | functionEvaluation_ |
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.
Definition at line 49 of file hullwhite.hpp.
HullWhite | ( | const Handle< YieldTermStructure > & | termStructure, |
Real | a = 0.1 , |
||
Real | sigma = 0.01 |
||
) |
Return by default a trinomial recombining tree.
Reimplemented from OneFactorModel.
Definition at line 43 of file hullwhite.cpp.
|
overridevirtual |
returns the short-rate dynamics
Implements OneFactorModel.
Definition at line 163 of file hullwhite.hpp.
|
overridevirtual |
Implements AffineModel.
Definition at line 89 of file hullwhite.cpp.
|
overridevirtual |
Reimplemented from AffineModel.
Definition at line 107 of file hullwhite.cpp.
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.
Definition at line 133 of file hullwhite.cpp.
|
static |
Definition at line 83 of file hullwhite.hpp.
|
overrideprotectedvirtual |
Reimplemented from CalibratedModel.
Definition at line 85 of file hullwhite.cpp.
Implements OneFactorAffineModel.
Definition at line 75 of file hullwhite.cpp.
|
private |
Definition at line 98 of file hullwhite.hpp.