25 const Handle<Quote>& spread)
29 QuantLib::ext::shared_ptr<QuantLib::SpreadedSmileSection> section =
30 QuantLib::ext::dynamic_pointer_cast<QuantLib::SpreadedSmileSection>(
31 QuantLib::SpreadedOptionletVolatility::smileSectionImpl(d));
33 return QuantLib::ext::make_shared<SpreadedSmileSection>(section);
37 QuantLib::ext::shared_ptr<QuantLib::SpreadedSmileSection> section =
38 QuantLib::ext::dynamic_pointer_cast<QuantLib::SpreadedSmileSection>(
39 QuantLib::SpreadedOptionletVolatility::smileSectionImpl(optionTime));
41 return QuantLib::ext::make_shared<SpreadedSmileSection>(section);
45 Volatility spreadedVol = QuantLib::SpreadedOptionletVolatility::volatilityImpl(t, s);
46 return std::max(spreadedVol, 0.0);
Volatility volatilityImpl(Time optionTime, Rate strike) const override
QuantLib::ext::shared_ptr< SmileSection > smileSectionImpl(const Date &d) const override
SpreadedOptionletVolatility(const Handle< OptionletVolatilityStructure > &baseVol, const Handle< Quote > &spread)
Adds floor to QuantLib::SpreadedOptionletVolatility.
Adds floor to QuantLib::SmileSection.