25#ifndef quantlib_sub_period_coupon_hpp
26#define quantlib_sub_period_coupon_hpp
52 const Date& startDate,
55 const ext::shared_ptr<IborIndex>&
index,
57 Rate couponSpread = 0.0,
72 const std::vector<Time>&
dt()
const {
return dt_; }
92 std::vector<Time>
dt_;
141 bool endOfMonth =
false);
143 operator Leg()
const;
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 overnight coupons
SubPeriodsLeg & withAveragingMethod(RateAveraging::Type averagingMethod)
SubPeriodsLeg & withExCouponPeriod(const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
BusinessDayConvention paymentAdjustment_
BusinessDayConvention exCouponAdjustment_
std::vector< Spread > couponSpreads_
Calendar paymentCalendar_
SubPeriodsLeg & withPaymentLag(Integer lag)
SubPeriodsLeg & withNotionals(Real notional)
std::vector< Real > notionals_
RateAveraging::Type averagingMethod_
SubPeriodsLeg & withRateSpreads(Spread spread)
std::vector< Natural > fixingDays_
Calendar exCouponCalendar_
std::vector< Spread > rateSpreads_
SubPeriodsLeg & withCouponSpreads(Spread spread)
SubPeriodsLeg & withGearings(Real gearing)
SubPeriodsLeg & withFixingDays(Natural fixingDays)
SubPeriodsLeg & withPaymentAdjustment(BusinessDayConvention)
SubPeriodsLeg & withPaymentDayCounter(const DayCounter &)
std::vector< Real > gearings_
SubPeriodsLeg & withPaymentCalendar(const Calendar &)
DayCounter paymentDayCounter_
ext::shared_ptr< IborIndex > index_
Real capletPrice(Rate effectiveCap) const override
Rate floorletRate(Rate effectiveFloor) const override
std::vector< Real > subPeriodFixings_
const SubPeriodsCoupon * coupon_
void initialize(const FloatingRateCoupon &coupon) override
Real floorletPrice(Rate effectiveFloor) const override
Rate swapletPrice() const override
Rate capletRate(Rate effectiveCap) const override
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
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.