25#include <ql/handle.hpp>
26#include <ql/option.hpp>
27#include <ql/pricingengines/blackformula.hpp>
28#include <ql/quote.hpp>
29#include <ql/termstructures/yieldtermstructure.hpp>
57 const QuantLib::Handle<QuantLib::YieldTermStructure> discountCurve);
61 const QuantLib::Real inputLognormalShift,
const boost::optional<QuantLib::Option::Type> inputOptionType,
62 const QuantLib::Real timeToExpiry,
const QuantLib::Real strike,
const QuantLib::Real forward,
63 const MarketQuoteType outputMarketQuoteType,
const QuantLib::Real outputLognormalShift,
64 const boost::optional<QuantLib::Option::Type> outputOptionType = boost::none)
const;
70 virtual QuantLib::Real
71 evaluate(
const QuantLib::Real timeToExpiry,
const QuantLib::Real underlyingLength,
const QuantLib::Real strike,
72 const QuantLib::Real forward,
const MarketQuoteType outputMarketQuoteType,
73 const QuantLib::Real outputLognormalShift = QuantLib::Null<QuantLib::Real>(),
74 const boost::optional<QuantLib::Option::Type> outputOptionType = boost::none)
const = 0;
@ ShiftedLognormalVolatility
std::vector< MarketSmile > marketSmiles_
Real convert(const Real inputQuote, const MarketQuoteType inputMarketQuoteType, const QuantLib::Real inputLognormalShift, const boost::optional< QuantLib::Option::Type > inputOptionType, const QuantLib::Real timeToExpiry, const QuantLib::Real strike, const QuantLib::Real forward, const MarketQuoteType outputMarketQuoteType, const QuantLib::Real outputLognormalShift, const boost::optional< QuantLib::Option::Type > outputOptionType=boost::none) const
QuantLib::Handle< QuantLib::YieldTermStructure > discountCurve_
MarketModelType marketModelType_
virtual ~ParametricVolatility()
MarketQuoteType inputMarketQuoteType_
virtual QuantLib::Real evaluate(const QuantLib::Real timeToExpiry, const QuantLib::Real underlyingLength, const QuantLib::Real strike, const QuantLib::Real forward, const MarketQuoteType outputMarketQuoteType, const QuantLib::Real outputLognormalShift=QuantLib::Null< QuantLib::Real >(), const boost::optional< QuantLib::Option::Type > outputOptionType=boost::none) const =0
bool operator<(const Dividend &d1, const Dividend &d2)
std::vector< QuantLib::Option::Type > optionTypes
QuantLib::Real underlyingLength
QuantLib::Real lognormalShift
std::vector< QuantLib::Real > strikes
QuantLib::Real timeToExpiry
std::vector< QuantLib::Real > marketQuotes