25#ifndef quantlib_libor_forward_model_hpp
26#define quantlib_libor_forward_model_hpp
28#include <ql/legacy/libormarketmodels/lfmprocess.hpp>
29#include <ql/termstructures/volatility/swaption/swaptionvolmatrix.hpp>
30#include <ql/termstructures/volatility/optionlet/capletvariancecurve.hpp>
31#include <ql/models/model.hpp>
32#include <ql/legacy/libormarketmodels/lfmcovarproxy.hpp>
54 const ext::shared_ptr<LiborForwardModelProcess> & process,
55 const ext::shared_ptr<LmVolatilityModel> & volaModel,
56 const ext::shared_ptr<LmCorrelationModel> & corrModel);
61 virtual ext::shared_ptr<SwaptionVolatilityMatrix>
69 Time bondMaturity)
const override;
80 const ext::shared_ptr<LiborForwardModelProcess>
process_;
1-D array used in linear algebra.
Array params() const
Returns array of arguments on which calibration is done.
Real discountBond(Time now, Time maturity, Array factors) const override
const ext::shared_ptr< LfmCovarianceProxy > covarProxy_
void setParams(const Array ¶ms) override
Rate S_0(Size alpha, Size beta) const
Array w_0(Size alpha, Size beta) const
std::vector< Time > accrualPeriod_
Real discountBondOption(Option::Type type, Real strike, Time maturity, Time bondMaturity) const override
DiscountFactor discount(Time t) const override
Implied discount curve.
virtual ext::shared_ptr< SwaptionVolatilityMatrix > getSwaptionVolatilityMatrix() const
const ext::shared_ptr< LiborForwardModelProcess > process_
ext::shared_ptr< SwaptionVolatilityMatrix > swaptionVola
Real Time
continuous quantity with 1-year units
Real DiscountFactor
discount factor between dates
std::size_t Size
size of a container