25#ifndef quantlib_multiple_resets_coupon_hpp
26#define quantlib_multiple_resets_coupon_hpp
58 const ext::shared_ptr<IborIndex>&
index,
60 Rate couponSpread = 0.0,
70 [[deprecated(
"Use the other constructor")]]
73 const Date& startDate,
76 const ext::shared_ptr<IborIndex>&
index,
78 Rate couponSpread = 0.0,
90 const std::vector<Time>&
dt()
const {
return dt_; }
117 [[deprecated(
"Renamed to MultipleResetsCoupon")]]
138 [[deprecated(
"Renamed to MultipleResetsPricer")]]
149 [[deprecated(
"Renamed to AveragingMultipleResetsPricer")]]
160 [[deprecated(
"Renamed to CompoundingMultipleResetsPricer")]]
174 ext::shared_ptr<IborIndex> index,
175 Size resetsPerCoupon);
193 bool endOfMonth =
false);
195 operator Leg()
const;
225 SubPeriodsLeg& withNotionals(
const std::vector<Real>& notionals);
231 SubPeriodsLeg& withFixingDays(
const std::vector<Natural>& fixingDays);
233 SubPeriodsLeg& withGearings(
const std::vector<Real>& gearings);
235 SubPeriodsLeg& withCouponSpreads(
const std::vector<Spread>& spreads);
237 SubPeriodsLeg& withRateSpreads(
const std::vector<Spread>& spreads);
241 bool endOfMonth =
false);
243 operator Leg()
const;
261 bool exCouponEndOfMonth_ =
false;
degenerate base class for the Acyclic Visitor pattern
Real swapletRate() const override
Real swapletRate() const override
Date exCouponDate() const override
returns the date that the cash flow trades exCoupon
virtual Real nominal() const
base floating-rate coupon class
Natural fixingDays() const
fixing days
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
DayCounter dayCounter() const override
day counter for accrual calculation
const ext::shared_ptr< InterestRateIndex > & index() const
floating index
generic pricer for floating-rate coupons
std::vector< Date > fixingDates_
Spread rateSpread() const
rate spread
const std::vector< Date > & valueDates() const
value dates for the rates to be compounded
void accept(AcyclicVisitor &) override
std::vector< Date > valueDates_
const std::vector< Time > & dt() const
accrual (compounding) periods
const std::vector< Date > & fixingDates() const
fixing dates for the rates to be compounded
Date fixingDate() const override
the date when the coupon is fully determined
helper class building a sequence of multiple-reset coupons
BusinessDayConvention paymentAdjustment_
MultipleResetsLeg & withPaymentLag(Integer lag)
BusinessDayConvention exCouponAdjustment_
std::vector< Spread > couponSpreads_
Calendar paymentCalendar_
MultipleResetsLeg & withPaymentCalendar(const Calendar &)
MultipleResetsLeg & withExCouponPeriod(const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
std::vector< Real > notionals_
MultipleResetsLeg & withNotionals(Real notional)
MultipleResetsLeg & withPaymentDayCounter(const DayCounter &)
RateAveraging::Type averagingMethod_
MultipleResetsLeg & withAveragingMethod(RateAveraging::Type averagingMethod)
MultipleResetsLeg & withCouponSpreads(Spread spread)
std::vector< Natural > fixingDays_
MultipleResetsLeg & withGearings(Real gearing)
Calendar exCouponCalendar_
std::vector< Spread > rateSpreads_
MultipleResetsLeg & withFixingDays(Natural fixingDays)
MultipleResetsLeg & withRateSpreads(Spread spread)
MultipleResetsLeg & withPaymentAdjustment(BusinessDayConvention)
std::vector< Real > gearings_
DayCounter paymentDayCounter_
ext::shared_ptr< IborIndex > index_
Real capletPrice(Rate effectiveCap) const override
Rate floorletRate(Rate effectiveFloor) const override
std::vector< Real > subPeriodFixings_
void initialize(const FloatingRateCoupon &coupon) override
const MultipleResetsCoupon * coupon_
Real floorletPrice(Rate effectiveFloor) const override
Rate swapletPrice() const override
Rate capletRate(Rate effectiveCap) const override
std::vector< Spread > couponSpreads_
Calendar paymentCalendar_
std::vector< Real > notionals_
std::vector< Natural > fixingDays_
Calendar exCouponCalendar_
std::vector< Spread > rateSpreads_
std::vector< Real > gearings_
DayCounter paymentDayCounter_
ext::shared_ptr< IborIndex > index_
Coupon paying a variable index-based rate.
BusinessDayConvention
Business Day conventions.
unsigned QL_INTEGER Natural
positive integer
QL_INTEGER Integer
integer number
Real Spread
spreads on interest rates
std::size_t Size
size of a container
AveragingMultipleResetsPricer AveragingRatePricer
CompoundingMultipleResetsPricer CompoundingRatePricer
MultipleResetsPricer SubPeriodsPricer
MultipleResetsCoupon SubPeriodsCoupon
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.