34 ext::shared_ptr<YoYInflationIndex> index,
37 ext::shared_ptr<YoYInflationCapFloorEngine> pricer)
39 capFloorType_(capFloorType), lag_(lag), fixingDays_(fixingDays), index_(
std::move(index)),
40 strike_(strike), n_(
n), yoyDayCounter_(
std::move(yoyDayCounter)),
41 calendar_(
std::move(paymentCalendar)),
pricer_(
std::move(pricer)) {
55 earliestDate_ = ext::dynamic_pointer_cast<YoYInflationCoupon>(
57 latestDate_ = ext::dynamic_pointer_cast<YoYInflationCoupon>(
79 const bool own =
false;
82 ext::shared_ptr<YoYOptionletVolatilitySurface>(
v,
null_deleter()),
87 pricer_->setVolatility(volSurf);
Base helper class for bootstrapping.
virtual void setTermStructure(TS *)
sets the term structure to be used for pricing
Shared handle to an observable.
MakeYoYInflationCapFloor & withStrike(Rate strike)
MakeYoYInflationCapFloor & withFixingDays(Natural fixingDays)
MakeYoYInflationCapFloor & withNominal(Real n)
MakeYoYInflationCapFloor & withPaymentDayCounter(const DayCounter &)
ext::shared_ptr< YoYInflationIndex > index_
void setTermStructure(YoYOptionletVolatilitySurface *) override
ext::shared_ptr< YoYInflationCapFloorEngine > pricer_
DayCounter yoyDayCounter_
ext::shared_ptr< YoYInflationCapFloor > yoyCapFloor_
Real impliedQuote() const override
YoYInflationCapFloor::Type capFloorType_
YoYOptionletHelper(const Handle< Quote > &price, Real notional, YoYInflationCapFloor::Type capFloorType, Period &lag, DayCounter yoyDayCounter, Calendar paymentCalendar, Natural fixingDays, ext::shared_ptr< YoYInflationIndex > index, Rate strike, Size n, ext::shared_ptr< YoYInflationCapFloorEngine > pricer)
ext::shared_ptr< FloatingRateCouponPricer > pricer_
unsigned QL_INTEGER Natural
positive integer
std::size_t Size
size of a container
Helper class to instantiate standard yoy inflation cap/floor.
empty deleter for shared_ptr
ext::shared_ptr< BlackVolTermStructure > v
helpers for YoY inflation-volatility bootstrap