26#include <ql/cashflows/floatingratecoupon.hpp>
27#include <ql/indexes/swapindex.hpp>
28#include <ql/time/schedule.hpp>
40 Natural fixingDays,
const QuantLib::ext::shared_ptr<SwapIndex>& index, Size
duration = 0,
41 Real gearing = 1.0, Spread spread = 0.0,
const Date& refPeriodStart = Date(),
42 const Date& refPeriodEnd = Date(),
const DayCounter& dayCounter = DayCounter(),
43 bool isInArrears =
false,
const Date& exCouponDate = Date());
48 void accept(AcyclicVisitor&)
override;
78 bool endOfMonth =
false);
Real durationAdjustment() const
const QuantLib::ext::shared_ptr< SwapIndex > & swapIndex() const
Rate indexFixing() const override
void accept(AcyclicVisitor &) override
QuantLib::ext::shared_ptr< SwapIndex > swapIndex_
DurationAdjustedCmsLeg & withPaymentCalendar(const Calendar &)
BusinessDayConvention paymentAdjustment_
std::vector< Rate > caps_
BusinessDayConvention exCouponAdjustment_
DurationAdjustedCmsLeg & withPaymentAdjustment(BusinessDayConvention)
DurationAdjustedCmsLeg & withZeroPayments(bool flag=true)
Calendar paymentCalendar_
DurationAdjustedCmsLeg & withSpreads(Spread spread)
DurationAdjustedCmsLeg & withFixingDays(Natural fixingDays)
std::vector< Real > notionals_
std::vector< Spread > spreads_
QuantLib::ext::shared_ptr< SwapIndex > swapIndex_
DurationAdjustedCmsLeg & withDuration(Size duration)
DurationAdjustedCmsLeg & withPaymentLag(Natural lag)
DurationAdjustedCmsLeg & withFloors(Rate floor)
DurationAdjustedCmsLeg & withNotionals(Real notional)
std::vector< Natural > fixingDays_
DurationAdjustedCmsLeg & withGearings(Real gearing)
DurationAdjustedCmsLeg & withExCouponPeriod(const Period &, const Calendar &, BusinessDayConvention, bool endOfMonth=false)
Calendar exCouponCalendar_
DurationAdjustedCmsLeg & withPaymentDayCounter(const DayCounter &)
std::vector< Rate > floors_
DurationAdjustedCmsLeg & inArrears(bool flag=true)
DurationAdjustedCmsLeg & withCaps(Rate cap)
std::vector< Real > gearings_
DayCounter paymentDayCounter_