26 Real t = exerciseTime();
33 Time swapLength)
const {
34 return QuantLib::ext::make_shared<ConstantSpreadSmileSection>(
atm_,
cube_, optionTime, swapLength);
38 if (strike == Null<Real>())
39 return atm_->volatility(optionTime, swapLength, 0.0);
const QuantLib::ext::shared_ptr< SmileSection > section_
const Handle< SwaptionVolatilityStructure > atm_
Volatility volatilityImpl(Rate strike) const override
Handle< SwaptionVolatilityStructure > cube_
Volatility volatilityImpl(Time optionTime, Time swapLength, Rate strike) const override
QuantLib::ext::shared_ptr< SmileSection > smileSectionImpl(Time optionTime, Time swapLength) const override
void deepUpdate() override
Handle< SwaptionVolatilityStructure > atm_
swaption cube that combines an ATM matrix and vol spreads from a cube