28 QuantLib::ext::shared_ptr<SwapIndex> baseSwapIndexBase,
29 QuantLib::ext::shared_ptr<SwapIndex> baseShortSwapIndexBase,
30 QuantLib::ext::shared_ptr<SwapIndex> targetSwapIndexBase,
31 QuantLib::ext::shared_ptr<SwapIndex> targetShortSwapIndexBase)
32 : SwaptionVolatilityStructure(baseVol->businessDayConvention(), baseVol->dayCounter()), baseVol_(baseVol),
33 baseSwapIndexBase_(baseSwapIndexBase), baseShortSwapIndexBase_(baseShortSwapIndexBase),
34 targetSwapIndexBase_(targetSwapIndexBase), targetShortSwapIndexBase_(targetShortSwapIndexBase) {
35 enableExtrapolation(baseVol->allowsExtrapolation());
47 const Period& swapTenor)
const {
58 return QuantLib::ext::make_shared<AtmAdjustedSmileSection>(
baseVol_->smileSection(optionDate, swapTenor,
true),
59 baseAtmLevel, targetAtmLevel);
63 return smileSection(optionTime, swapLength)->volatility(strike);
QuantLib::Volatility volatilityImpl(QuantLib::Time optionTime, QuantLib::Time swapLength, QuantLib::Rate strike) const override
QuantLib::ext::shared_ptr< QuantLib::SwapIndex > baseSwapIndexBase_
QuantLib::ext::shared_ptr< QuantLib::SmileSection > smileSectionImpl(const QuantLib::Date &optionDate, const QuantLib::Period &swapTenor) const override
ProxySwaptionVolatility(const QuantLib::Handle< SwaptionVolatilityStructure > &baseVol, QuantLib::ext::shared_ptr< QuantLib::SwapIndex > baseSwapIndexBase, QuantLib::ext::shared_ptr< QuantLib::SwapIndex > baseShortSwapIndexBase, QuantLib::ext::shared_ptr< QuantLib::SwapIndex > targetSwapIndexBase, QuantLib::ext::shared_ptr< QuantLib::SwapIndex > targetShortSwapIndexBase)
QuantLib::ext::shared_ptr< QuantLib::SwapIndex > baseShortSwapIndexBase_
QuantLib::Handle< QuantLib::SwaptionVolatilityStructure > baseVol_
QuantLib::ext::shared_ptr< QuantLib::SwapIndex > targetSwapIndexBase_
QuantLib::ext::shared_ptr< QuantLib::SwapIndex > targetShortSwapIndexBase_
const QuantLib::Date & referenceDate() const override
QuantLib::Period tenorFromLength(const QuantLib::Real length)
QuantLib::Date lowerDate(const Real t, const QuantLib::Date &refDate, const QuantLib::DayCounter &dc)
moneyness-adjusted swaption vol for normal vols