20#include <ql/utilities/dataformatters.hpp>
23using QuantLib::Parameter;
26using QuantLib::ZeroInflationIndex;
27using QuantLib::ZeroInflationTermStructure;
33 QuantLib::ext::shared_ptr<FxBsParametrization> index,
34 QuantLib::ext::shared_ptr<ZeroInflationIndex> inflationIndex)
36 realRate_(realRate), index_(index), inflationIndex_(inflationIndex) {}
43 return index_->parameterTimes(0);
52 return index_->parameter(0);
78 return index_->direct(0, x);
87 return index_->inverse(i, y);
92 QL_REQUIRE(i < 3,
"InfJyParameterization has 3 parameters but has been asked for its " << io::ordinal(i + 1));
const QuantLib::Array & parameterTimes(const QuantLib::Size i) const override
QuantLib::ext::shared_ptr< Lgm1fParametrization< QuantLib::ZeroInflationTermStructure > > realRate() const
QuantLib::Real inverse(const QuantLib::Size i, const QuantLib::Real y) const override
QuantLib::ext::shared_ptr< QuantLib::ZeroInflationIndex > inflationIndex() const
QuantLib::ext::shared_ptr< FxBsParametrization > index() const
InfJyParameterization(QuantLib::ext::shared_ptr< Lgm1fParametrization< QuantLib::ZeroInflationTermStructure > > realRate, QuantLib::ext::shared_ptr< FxBsParametrization > index, QuantLib::ext::shared_ptr< QuantLib::ZeroInflationIndex > inflationIndex)
void update() const override
QuantLib::ext::shared_ptr< FxBsParametrization > index_
void checkIndex(QuantLib::Size i) const
Check that the indexing.
const QuantLib::ext::shared_ptr< QuantLib::Parameter > parameter(const QuantLib::Size i) const override
QuantLib::Real direct(const QuantLib::Size i, const QuantLib::Real x) const override
QuantLib::ext::shared_ptr< Lgm1fParametrization< QuantLib::ZeroInflationTermStructure > > realRate_
QuantLib::ext::shared_ptr< QuantLib::ZeroInflationIndex > inflationIndex_
Jarrow Yildrim inflation parameterization.