25#ifndef quantlib_capped_floored_coupon_hpp
26#define quantlib_capped_floored_coupon_hpp
60 const ext::shared_ptr<FloatingRateCoupon>&
underlying,
92 void setPricer(
const ext::shared_ptr<FloatingRateCouponPricer>&
pricer)
override;
106 const Date& paymentDate,
108 const Date& startDate,
111 const ext::shared_ptr<IborIndex>&
index,
116 const Date& refPeriodStart =
Date(),
138 const Date& paymentDate,
140 const Date& startDate,
143 const ext::shared_ptr<SwapIndex>&
index,
148 const Date& refPeriodStart =
Date(),
degenerate base class for the Acyclic Visitor pattern
CappedFlooredCmsCoupon(const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< SwapIndex > &index, Real gearing=1.0, Spread spread=0.0, const Rate cap=Null< Rate >(), const Rate floor=Null< Rate >(), const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date())
void accept(AcyclicVisitor &v) override
Capped and/or floored floating-rate coupon.
void performCalculations() const override
void deepUpdate() override
ext::shared_ptr< FloatingRateCoupon > underlying_
Rate rate() const override
accrued rate
void accept(AcyclicVisitor &) override
void setPricer(const ext::shared_ptr< FloatingRateCouponPricer > &pricer) override
Rate effectiveCap() const
effective cap of fixing
Rate effectiveFloor() const
effective floor of fixing
ext::shared_ptr< FloatingRateCoupon > underlying()
Rate convexityAdjustment() const override
convexity adjustment
CappedFlooredIborCoupon(const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< IborIndex > &index, Real gearing=1.0, Spread spread=0.0, Rate cap=Null< Rate >(), Rate floor=Null< Rate >(), const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date())
void accept(AcyclicVisitor &v) 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
ext::shared_ptr< FloatingRateCouponPricer > pricer() const
Spread spread() const
spread paid over the fixing of the underlying index
bool isInArrears() const
whether or not the coupon fixes in arrears
Coupon paying a Libor-type index
template class providing a null value for a given type.
Visitor for a specific class
virtual void visit(T &)=0
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
Coupon paying a Libor-type index.
ext::shared_ptr< BlackVolTermStructure > v