24#ifndef quantext_lgm_implied_yts_hpp
25#define quantext_lgm_implied_yts_hpp
29#include <ql/termstructures/yieldtermstructure.hpp>
49 const DayCounter& dc = DayCounter(),
const bool purelyTimeBased =
false,
50 const bool cacheValues =
false);
59 void state(
const Real s);
60 void move(
const Date& d,
const Real s);
61 void move(
const Time t,
const Real s);
63 virtual void update()
override;
72 const QuantLib::ext::shared_ptr<LinearGaussMarkovModel>
model_;
87 const Handle<YieldTermStructure> targetCurve,
const DayCounter& dc = DayCounter(),
88 const bool purelyTimeBased =
false,
const bool cacheValues =
false);
109 const Handle<YieldTermStructure> targetCurve,
const DayCounter& dc,
110 const bool purelyTimeBased,
const bool cacheValues =
false);
124 return Date::maxDate();
134 "time based term structure");
140 "time based term structure");
147 "time based term structure");
160 "time based term structure");
167 "time based term structure");
199 dayCounter().yearFraction(
model_->parametrization()->termStructure()->referenceDate(),
referenceDate_);
206 QL_REQUIRE(t >= 0.0,
"negative time (" << t <<
") given");
211 QL_REQUIRE(t >= 0.0,
"negative time (" << t <<
") given");
228 QL_REQUIRE(t >= 0.0,
"negative time (" << t <<
") given");
Lgm Implied Yield Term Structure.
void move(const Date &d, const Real s)
virtual void update() override
const Date & referenceDate() const override
const QuantLib::ext::shared_ptr< LinearGaussMarkovModel > model_
Date maxDate() const override
Real discountImpl(Time t) const override
virtual void referenceTime(const Time t)
const bool purelyTimeBased_
Time maxTime() const override
Lgm Implied Yts Fwd Corrected.
void referenceTime(const Time t) override
const Handle< YieldTermStructure > targetCurve_
Real discountImpl(Time t) const override
Lgm Implied Yts Spot Corrected.
const Handle< YieldTermStructure > targetCurve_
Real discountImpl(Time t) const override