26#ifndef quantlib_hull_white_hpp
27#define quantlib_hull_white_hpp
54 ext::shared_ptr<Lattice>
tree(
const TimeGrid& grid)
const override;
56 ext::shared_ptr<ShortRateDynamics>
dynamics()
const override;
61 Time bondMaturity)
const override;
67 Time bondMaturity)
const override;
84 std::vector<bool> c(2);
85 c[0] =
true; c[1] =
false;
96 class FittingParameter;
145 return (forwardRate + 0.5*temp*temp);
162 inline ext::shared_ptr<OneFactorModel::ShortRateDynamics>
164 return ext::shared_ptr<ShortRateDynamics>(
1-D array used in linear algebra.
Shared handle to an observable.
Short-rate dynamics in the Hull-White model.
Dynamics(Parameter fitting, Real a, Real sigma)
Real shortRate(Time t, Real x) const override
Compute short rate from state variable.
Real variable(Time t, Rate r) const override
Compute state variable from short rate.
Real value(const Array &, Time t) const override
Handle< YieldTermStructure > termStructure_
Impl(Handle< YieldTermStructure > termStructure, Real a, Real sigma)
Analytical term-structure fitting parameter .
FittingParameter(const Handle< YieldTermStructure > &termStructure, Real a, Real sigma)
Single-factor Hull-White (extended Vasicek) model class.
static Rate convexityBias(Real futurePrice, Time t, Time T, Real sigma, Real a)
Real discountBondOption(Option::Type type, Real strike, Time maturity, Time bondMaturity) const override
void generateArguments() override
ext::shared_ptr< Lattice > tree(const TimeGrid &grid) const override
Return by default a trinomial recombining tree.
ext::shared_ptr< ShortRateDynamics > dynamics() const override
returns the short-rate dynamics
Real A(Time t, Time T) const override
static std::vector< bool > FixedReversion()
Base class describing the short-rate dynamics.
Ornstein-Uhlenbeck process class.
Base class for model parameter implementation.
Base class for model arguments.
1-dimensional stochastic process
Term-structure consistent model class.
const Handle< YieldTermStructure > & termStructure() const
Deterministic time-dependent parameter used for yield-curve fitting.
@ NoFrequency
null frequency
Real Time
continuous quantity with 1-year units
ext::shared_ptr< YieldTermStructure > r