41#ifndef quantext_swaption_volcube_fit_later_interpolate_early_h
42#define quantext_swaption_volcube_fit_later_interpolate_early_h
44#include <ql/math/interpolations/interpolation2d.hpp>
45#include <ql/termstructures/volatility/swaption/swaptionvolcube.hpp>
70 const std::vector<Period>& optionTenors,
const std::vector<Period>& swapTenors,
71 const std::vector<Spread>& strikeSpreads,
72 const std::vector<std::vector<Handle<Quote> > >&
volSpreads,
73 const QuantLib::ext::shared_ptr<SwapIndex>& swapIndexBase,
74 const QuantLib::ext::shared_ptr<SwapIndex>& shortSwapIndexBase,
bool vegaWeightedSmileFit,
75 bool flatExtrapolation,
bool volsAreSpreads =
true);
83 QuantLib::ext::shared_ptr<SmileSection>
smileSectionImpl(
const Date& optionDate,
const Period& swapTenor)
const override;
84 QuantLib::ext::shared_ptr<SmileSection>
smileSectionImpl(Time optionTime, Time swapLength)
const override;
void performCalculations() const override
QuantLib::ext::shared_ptr< SmileSection > smileSectionImpl(const Date &optionDate, const Period &swapTenor) const override
std::vector< Matrix > volSpreadsMatrix_
const bool volsAreSpreads_
const Matrix & volSpreads(Size i) const
std::vector< Interpolation2D > volSpreadsInterpolator_
const bool flatExtrapolation_