28#include <ql/termstructures/bootstraphelper.hpp>
29#include <ql/termstructures/volatility/optionlet/optionletvolatilitystructure.hpp>
33class OISCapFloorHelper :
public QuantLib::RelativeDateBootstrapHelper<QuantLib::OptionletVolatilityStructure> {
38 const QuantLib::Period& rateComputationPeriod, QuantLib::Rate strike,
39 const QuantLib::Handle<QuantLib::Quote>& quote,
40 const QuantLib::ext::shared_ptr<QuantLib::OvernightIndex>& index,
41 const QuantLib::Handle<QuantLib::YieldTermStructure>& discountingCurve,
bool moving =
true,
42 const QuantLib::Date& effectiveDate = QuantLib::Date(),
44 QuantLib::VolatilityType quoteVolatilityType = QuantLib::Normal,
45 QuantLib::Real quoteDisplacement = 0.0);
49 void setTermStructure(QuantLib::OptionletVolatilityStructure* ovts)
override;
51 void accept(QuantLib::AcyclicVisitor&)
override;
60 QuantLib::ext::shared_ptr<QuantLib::OvernightIndex>
index_;
71 QuantLib::RelinkableHandle<QuantLib::OptionletVolatilityStructure>
ovtsHandle_;
75 QuantLib::Real
npv(QuantLib::Real quote);
Helper for bootstrapping optionlet volatilities from cap floor volatilities.
QuoteType
Enum to indicate the type of the quote provided with the CapFloorHelper.
QuantLib::Handle< QuantLib::Quote > rawQuote_
QuantLib::Period rateComputationPeriod_
QuantLib::Real npv(QuantLib::Real quote)
A method to calculate the cap floor premium from a flat cap floor volatility value.
void accept(QuantLib::AcyclicVisitor &) override
QuantLib::Date effectiveDate_
QuantLib::ext::shared_ptr< QuantLib::OvernightIndex > index_
QuantLib::Real quoteDisplacement_
void initializeDates() override
void setTermStructure(QuantLib::OptionletVolatilityStructure *ovts) override
CapFloorHelper::QuoteType quoteType_
QuantLib::Real impliedQuote() const override
QuantLib::VolatilityType quoteVolatilityType_
CapFloorHelper::Type type_
QuantLib::Handle< QuantLib::YieldTermStructure > discountHandle_
QuantLib::RelinkableHandle< QuantLib::OptionletVolatilityStructure > ovtsHandle_