29#ifndef quantlib_floating_rate_coupon_hpp
30#define quantlib_floating_rate_coupon_hpp
40 class InterestRateIndex;
41 class YieldTermStructure;
42 class FloatingRateCouponPricer;
49 const Date& startDate,
52 const ext::shared_ptr<InterestRateIndex>&
index,
81 const ext::shared_ptr<InterestRateIndex>&
index()
const;
105 virtual void setPricer(
const ext::shared_ptr<FloatingRateCouponPricer>&);
106 ext::shared_ptr<FloatingRateCouponPricer>
pricer()
const;
110 ext::shared_ptr<InterestRateIndex>
index_;
116 ext::shared_ptr<FloatingRateCouponPricer>
pricer_;
122 inline const ext::shared_ptr<InterestRateIndex>&
135 inline ext::shared_ptr<FloatingRateCouponPricer>
degenerate base class for the Acyclic Visitor pattern
coupon accruing over a fixed period
void accept(AcyclicVisitor &) override
Date exCouponDate() const override
returns the date that the cash flow trades exCoupon
virtual Real nominal() const
Time accrualPeriod() const
accrual period as fraction of year
base floating-rate coupon class
virtual Date fixingDate() const
fixing date
void performCalculations() const override
Natural fixingDays() const
fixing days
ext::shared_ptr< InterestRateIndex > index_
virtual void setPricer(const ext::shared_ptr< FloatingRateCouponPricer > &)
Rate rate() const override
accrued rate
Real amount() const override
returns the amount of the cash flow
ext::shared_ptr< FloatingRateCouponPricer > pricer_
void accept(AcyclicVisitor &) override
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
Rate convexityAdjustmentImpl(Rate fixing) const
convexity adjustment for the given index fixing
virtual Rate adjustedFixing() const
convexity-adjusted fixing
DayCounter dayCounter() const override
day counter for accrual calculation
virtual Rate convexityAdjustment() const
convexity adjustment
Real accruedAmount(const Date &) const override
accrued amount at the given date
virtual Rate indexFixing() const
fixing of the underlying index
const ext::shared_ptr< InterestRateIndex > & index() const
floating index
ext::shared_ptr< FloatingRateCouponPricer > pricer() const
Real price(const Handle< YieldTermStructure > &discountingCurve) const
Spread spread() const
spread paid over the fixing of the underlying index
bool isInArrears() const
whether or not the coupon fixes in arrears
Shared handle to an observable.
Visitor for a specific class
virtual void visit(T &)=0
Coupon accruing over a fixed period.
unsigned QL_INTEGER Natural
positive integer
Real Spread
spreads on interest rates
Globally accessible relinkable pointer.
framework for calculation on demand and result caching
ext::shared_ptr< BlackVolTermStructure > v
degenerate base class for the Acyclic Visitor pattern