26#include <ql/math/interpolations/interpolation2d.hpp>
27#include <ql/patterns/lazyobject.hpp>
28#include <ql/quote.hpp>
31#include <boost/smart_ptr/shared_ptr.hpp>
40 const std::vector<Date>& optionDates,
41 const std::vector<Real>&
strikes,
42 const std::vector<std::vector<Handle<Quote>>>& volSpreads);
50 QuantLib::Real
atmStrike(
const QuantLib::Date& maturity,
51 const QuantLib::Period& obsLag = QuantLib::Period(-1, QuantLib::Days))
const override;
54 Volatility
volatilityImpl(Time length, Rate strike)
const override;
58 Handle<QuantExt::CPIVolatilitySurface>
baseVol_;
std::vector< Date > optionDates_
Handle< QuantExt::CPIVolatilitySurface > baseVol_
void performCalculations() const override
Rate maxStrike() const override
Rate minStrike() const override
std::vector< Real > strikes_
void deepUpdate() override
const Date & referenceDate() const override
Interpolation2D volSpreadInterpolation_
std::vector< Real > optionTimes_
Volatility volatilityImpl(Time length, Rate strike) const override
Date maxDate() const override
std::vector< std::vector< Handle< Quote > > > volSpreads_
Time maxTime() const override
QuantLib::Real atmStrike(const QuantLib::Date &maturity, const QuantLib::Period &obsLag=QuantLib::Period(-1, QuantLib::Days)) const override
interpolated correlation term structure