|
QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
|
Generalized Hull-White model class. More...
#include <generalizedhullwhite.hpp>
Inheritance diagram for GeneralizedHullWhite:
Collaboration 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 std::function< Real(Real)> &f={}, const std::function< Real(Real)> &fInverse={}) | |
| 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 std::function< Real(Real)> &f={}, const std::function< Real(Real)> &fInverse={}) | |
| ext::shared_ptr< ShortRateDynamics > | dynamics () const override |
| returns the short-rate dynamics More... | |
| ext::shared_ptr< Lattice > | tree (const TimeGrid &grid) const override |
| GeneralizedHullWhite (const Handle< YieldTermStructure > &yieldtermStructure, Real a=0.1, Real sigma=0.01) | |
| ext::shared_ptr< ShortRateDynamics > | HWdynamics () const |
| Real | discountBondOption (Option::Type type, Real strike, Time maturity, Time bondMaturity) const override |
| Only valid under Hull-White model. More... | |
| std::vector< bool > | fixedReversion () const |
| vector to pass to 'calibrate' to fit only volatility More... | |
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 ()=default | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| Observable (Observable &&)=delete | |
| Observable & | operator= (Observable &&)=delete |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
Public Member Functions inherited from AffineModel | |
| 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 |
Protected Member Functions | |
| Real | a () const |
| Real | sigma () const |
| void | generateArguments () override |
| Real | A (Time t, Time T) const override |
| Real | B (Time t, Time T) const override |
| Real | V (Time t, Time T) const |
| virtual Real | A (Time t, Time T) const =0 |
| virtual Real | B (Time t, Time T) const =0 |
| virtual void | generateArguments () |
Private Member Functions | |
| std::function< Real(Time)> | speed () const |
| std::function< Real(Time)> | vol () const |
| template<class SpeedInterpolationTraits , class VolInterpolationTraits > | |
| void | initialize (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 std::function< Real(Real)> &f, const std::function< Real(Real)> &fInverse) |
Static Private Member Functions | |
| static Real | identity (Real x) |
Private Attributes | |
| std::vector< Date > | speedstructure_ |
| std::vector< Date > | volstructure_ |
| std::vector< Time > | speedperiods_ |
| std::vector< Time > | volperiods_ |
| Interpolation | speed_ |
| Interpolation | vol_ |
| Parameter & | a_ |
| Parameter & | sigma_ |
| Parameter | phi_ |
| std::function< Real(Real)> | f_ |
| std::function< Real(Real)> | fInverse_ |
Additional Inherited Members | |
Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
Protected Attributes inherited from CalibratedModel | |
| std::vector< Parameter > | arguments_ |
| ext::shared_ptr< Constraint > | constraint_ |
| EndCriteria::Type | shortRateEndCriteria_ = EndCriteria::None |
| Array | problemValues_ |
| Integer | functionEvaluation_ |
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.
Definition at line 72 of file generalizedhullwhite.hpp.
| 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 std::function< Real(Real)> & | f = {}, |
||
| const std::function< Real(Real)> & | fInverse = {} |
||
| ) |
| 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 std::function< Real(Real)> & | f = {}, |
||
| const std::function< Real(Real)> & | fInverse = {} |
||
| ) |
Definition at line 86 of file generalizedhullwhite.hpp.
| GeneralizedHullWhite | ( | const Handle< YieldTermStructure > & | yieldtermStructure, |
| Real | a = 0.1, |
||
| Real | sigma = 0.01 |
||
| ) |
|
overridevirtual |
returns the short-rate dynamics
Implements OneFactorModel.
Definition at line 105 of file generalizedhullwhite.hpp.
Implements ShortRateModel.
Definition at line 211 of file generalizedhullwhite.cpp.
Here is the call graph for this function:| ext::shared_ptr< OneFactorModel::ShortRateDynamics > HWdynamics | ( | ) | const |
|
overridevirtual |
Only valid under Hull-White model.
Implements AffineModel.
Definition at line 181 of file generalizedhullwhite.cpp.
Here is the call graph for this function:| std::vector< bool > fixedReversion | ( | ) | const |
vector to pass to 'calibrate' to fit only volatility
Definition at line 253 of file generalizedhullwhite.cpp.
Here is the call graph for this function:
|
protected |
Definition at line 132 of file generalizedhullwhite.hpp.
Here is the caller graph for this function:
|
protected |
Definition at line 133 of file generalizedhullwhite.hpp.
Here is the caller graph for this function:
|
overrideprotectedvirtual |
Reimplemented from CalibratedModel.
Definition at line 122 of file generalizedhullwhite.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Implements OneFactorAffineModel.
Definition at line 199 of file generalizedhullwhite.cpp.
Here is the call graph for this function:Implements OneFactorAffineModel.
Definition at line 128 of file generalizedhullwhite.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 152 of file generalizedhullwhite.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:Definition at line 244 of file generalizedhullwhite.cpp.
Here is the caller graph for this function:Definition at line 248 of file generalizedhullwhite.cpp.
Here is the caller graph for this function:Definition at line 162 of file generalizedhullwhite.hpp.
Here is the caller graph for this function:
|
private |
Definition at line 167 of file generalizedhullwhite.hpp.
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 145 of file generalizedhullwhite.hpp.
|
private |
Definition at line 146 of file generalizedhullwhite.hpp.
|
private |
Definition at line 147 of file generalizedhullwhite.hpp.
|
private |
Definition at line 148 of file generalizedhullwhite.hpp.
|
private |
Definition at line 149 of file generalizedhullwhite.hpp.
|
private |
Definition at line 150 of file generalizedhullwhite.hpp.
|
private |
Definition at line 155 of file generalizedhullwhite.hpp.
|
private |
Definition at line 156 of file generalizedhullwhite.hpp.
|
private |
Definition at line 157 of file generalizedhullwhite.hpp.
Definition at line 159 of file generalizedhullwhite.hpp.
Definition at line 160 of file generalizedhullwhite.hpp.