23#ifndef quantext_optionletstripper_hpp
24#define quantext_optionletstripper_hpp
26#include <ql/termstructures/volatility/optionlet/strippedoptionletbase.hpp>
27#include <ql/termstructures/volatility/volatilitytype.hpp>
28#include <ql/termstructures/yieldtermstructure.hpp>
64 ext::shared_ptr<IborIndex>
index()
const;
72 OptionletStripper(
const ext::shared_ptr<QuantExt::CapFloorTermVolSurface>&,
const ext::shared_ptr<IborIndex>&
index,
73 const Handle<YieldTermStructure>& discount = Handle<YieldTermStructure>(),
74 const VolatilityType type = ShiftedLognormal,
const Real
displacement = 0.0,
Cap/floor smile volatility surface.
const Size onCapSettlementDays_
Calendar calendar() const override
const Period & rateComputationPeriod() const
std::vector< Rate > atmOptionletRate_
const Period rateComputationPeriod_
std::vector< std::vector< Volatility > > optionletVolatilities_
const std::vector< Date > & optionletFixingDates() const override
std::vector< Period > capFloorLengths_
ext::shared_ptr< CapFloorTermVolSurface > termVolSurface() const
Handle< YieldTermStructure > discount_
const std::vector< Rate > & optionletStrikes(Size i) const override
std::vector< Date > optionletPaymentDates_
std::vector< Time > optionletAccrualPeriods_
const std::vector< Time > & optionletFixingTimes() const override
const std::vector< Date > & optionletPaymentDates() const
const std::vector< Volatility > & optionletVolatilities(Size i) const override
const std::vector< Rate > & atmOptionletRates() const override
std::vector< Period > optionletTenors_
VolatilityType volatilityType() const override
std::vector< Time > optionletTimes_
std::vector< Date > optionletDates_
Natural settlementDays() const override
DayCounter dayCounter() const override
const std::vector< Period > & optionletFixingTenors() const
const VolatilityType volatilityType_
BusinessDayConvention businessDayConvention() const override
std::vector< std::vector< Rate > > optionletStrikes_
Real displacement() const override
virtual void populateDates() const
Method to populate the dates, times and accruals that can be overridden in derived classes.
ext::shared_ptr< IborIndex > index() const
ext::shared_ptr< CapFloorTermVolSurface > termVolSurface_
const std::vector< Time > & optionletAccrualPeriods() const
Size optionletMaturities() const override
ext::shared_ptr< IborIndex > index_