24#ifndef quantlib_interest_rate_modelling_parameter_hpp
25#define quantlib_interest_rate_modelling_parameter_hpp
27#include <ql/handle.hpp>
28#include <ql/math/optimization/constraint.hpp>
29#include <ql/qldefines.hpp>
35 class YieldTermStructure;
93 value <<
": invalid value");
168 auto result = std::find(
times_.begin(),
times_.end(), t);
169 QL_REQUIRE(result!=
times_.end(),
170 "fitting parameter not set!");
183 const ext::shared_ptr<Parameter::Impl>& impl)
1-D array used in linear algebra.
Size size() const
dimension of the array
Real value(const Array ¶ms, Time) const override
Standard constant parameter .
ConstantParameter(const Constraint &constraint)
ConstantParameter(Real value, const Constraint &constraint)
bool test(const Array &p) const
Shared handle to an observable.
Real value(const Array &, Time) const override
Parameter which is always zero
Base class for model parameter implementation.
virtual Real value(const Array ¶ms, Time t) const =0
Base class for model arguments.
const Constraint & constraint() const
void setParam(Size i, Real x)
Parameter(Size size, ext::shared_ptr< Impl > impl, Constraint constraint)
const ext::shared_ptr< Impl > & implementation() const
const Array & params() const
bool testParams(const Array ¶ms) const
ext::shared_ptr< Impl > impl_
Real operator()(Time t) const
std::vector< Time > times_
Impl(std::vector< Time > times)
Real value(const Array ¶ms, Time t) const override
Piecewise-constant parameter.
PiecewiseConstantParameter(const std::vector< Time > ×, const Constraint &constraint=NoConstraint())
std::vector< Time > times_
const Handle< YieldTermStructure > & termStructure() const
Real value(const Array &, Time t) const override
NumericalImpl(Handle< YieldTermStructure > termStructure)
std::vector< Real > values_
Handle< YieldTermStructure > termStructure_
Deterministic time-dependent parameter used for yield-curve fitting.
TermStructureFittingParameter(const ext::shared_ptr< Parameter::Impl > &impl)
TermStructureFittingParameter(const Handle< YieldTermStructure > &term)
Real Time
continuous quantity with 1-year units
std::size_t Size
size of a container