28#ifndef quantlib_overnight_indexed_coupon_hpp
29#define quantlib_overnight_indexed_coupon_hpp
53 const Date& paymentDate,
55 const Date& startDate,
57 const ext::shared_ptr<OvernightIndex>& overnightIndex,
63 bool telescopicValueDates =
false,
73 const std::vector<Time>&
dt()
const {
return dt_; }
139 operator Leg()
const;
degenerate base class for the Acyclic Visitor pattern
virtual Real nominal() const
Date date() const override
base floating-rate coupon class
ext::shared_ptr< InterestRateIndex > index_
Real gearing() const
index gearing, i.e. multiplicative coefficient for the index
DayCounter dayCounter() const override
day counter for accrual calculation
Spread spread() const
spread paid over the fixing of the underlying index
template class providing a null value for a given type.
std::vector< Date > interestDates_
std::vector< Date > fixingDates_
const std::vector< Date > & valueDates() const
value dates for the rates to be compounded
const std::vector< Date > & interestDates() const
interest dates for the rates to be compounded
Natural lockoutDays() const
lockout days
bool applyObservationShift() const
apply observation shift
const std::vector< Rate > & indexFixings() const
fixings to be compounded
void accept(AcyclicVisitor &) override
std::vector< Rate > fixings_
bool applyObservationShift_
RateAveraging::Type averagingMethod_
bool canApplyTelescopicFormula() const
Real accruedAmount(const Date &) const override
accrued amount at the given date
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
RateAveraging::Type averagingMethod() const
averaging method
Date fixingDate() const override
the date when the coupon is fully determined
Rate averageRate(const Date &date) const
helper class building a sequence of overnight coupons
ext::shared_ptr< OvernightIndex > overnightIndex_
BusinessDayConvention paymentAdjustment_
OvernightLeg & withObservationShift(bool applyObservationShift=true)
bool telescopicValueDates_
OvernightLeg & withGearings(Real gearing)
OvernightLeg & withPaymentCalendar(const Calendar &)
Calendar paymentCalendar_
OvernightLeg & withTelescopicValueDates(bool telescopicValueDates)
OvernightLeg & withPaymentAdjustment(BusinessDayConvention)
std::vector< Real > notionals_
std::vector< Spread > spreads_
bool applyObservationShift_
OvernightLeg & withNotionals(Real notional)
RateAveraging::Type averagingMethod_
OvernightLeg & withAveragingMethod(RateAveraging::Type averagingMethod)
OvernightLeg & withPaymentDayCounter(const DayCounter &)
OvernightLeg & withLockoutDays(Natural lockoutDays)
OvernightLeg & withSpreads(Spread spread)
OvernightLeg & withPaymentLag(Integer lag)
OvernightLeg & withLookbackDays(Natural lookbackDays)
std::vector< Real > gearings_
DayCounter paymentDayCounter_
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
base class for Inter-Bank-Offered-Rate indexes
std::vector< ext::shared_ptr< CashFlow > > Leg
Sequence of cash-flows.