25#ifndef quantlib_interest_rate_modelling_calibration_helper_h
26#define quantlib_interest_rate_modelling_calibration_helper_h
56 const Real shift = 0.0)
81 virtual void addTimesTo(std::list<Time>& times)
const = 0;
105 class ImpliedVolatilityHelper;
liquid Black76 market instrument used during calibration
virtual void addTimesTo(std::list< Time > ×) const =0
void performCalculations() const override
Handle< Quote > volatility_
Volatility impliedVolatility(Real targetValue, Real accuracy, Size maxEvaluations, Volatility minVol, Volatility maxVol) const
Black volatility implied by the model.
virtual Real modelValue() const =0
returns the price of the instrument according to the model
Real calibrationError() override
returns the error resulting from the model valuation
Handle< Quote > volatility() const
returns the volatility Handle
Real marketValue() const
returns the actual price of the instrument (from volatility)
BlackCalibrationHelper(Handle< Quote > volatility, CalibrationErrorType calibrationErrorType=RelativePriceError, const VolatilityType type=ShiftedLognormal, const Real shift=0.0)
const CalibrationErrorType calibrationErrorType_
const VolatilityType volatilityType_
ext::shared_ptr< PricingEngine > engine_
void setPricingEngine(const ext::shared_ptr< PricingEngine > &engine)
VolatilityType volatilityType() const
returns the volatility type
virtual Real blackPrice(Volatility volatility) const =0
Black or Bachelier price given a volatility.
abstract base class for calibration helpers
virtual Real calibrationError()=0
returns the error resulting from the model valuation
virtual ~CalibrationHelper()=default
Shared handle to an observable.
Framework for calculation on demand and result caching.
virtual void calculate() const
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
Real Volatility
volatility
std::size_t Size
size of a container
framework for calculation on demand and result caching
purely virtual base class for market observables
Interest-rate term structure.