30 : baseVol_(baseVol), spread_(
std::move(spread)) {
36 ext::shared_ptr<SmileSection>
38 ext::shared_ptr<SmileSection> baseSmile =
40 return ext::shared_ptr<SmileSection>(
new
44 ext::shared_ptr<SmileSection>
46 ext::shared_ptr<SmileSection> baseSmile =
47 baseVol_->smileSection(optionTime,
true);
48 return ext::shared_ptr<SmileSection>(
new
Shared handle to an observable.
std::pair< iterator, bool > registerWith(const ext::shared_ptr< Observable > &)
const Handle< Quote > spread_
const Handle< OptionletVolatilityStructure > baseVol_
SpreadedOptionletVolatility(const Handle< OptionletVolatilityStructure > &, Handle< Quote > spread)
Volatility volatilityImpl(Time optionTime, Rate strike) const override
implements the actual volatility calculation in derived classes
ext::shared_ptr< SmileSection > smileSectionImpl(const Date &d) const override
Real Time
continuous quantity with 1-year units
Real Volatility
volatility
purely virtual base class for market observables
Spreaded caplet/floorlet volatility.
Spreaded SmileSection class.