Logo
Reference manual - version qle_version
OvernightIndexedCoupon Class Reference

overnight coupon More...

#include <qle/cashflows/overnightindexedcoupon.hpp>

Inheritance diagram for OvernightIndexedCoupon:

Public Member Functions

 OvernightIndexedCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, const ext::shared_ptr< OvernightIndex > &overnightIndex, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const DayCounter &dayCounter=DayCounter(), bool telescopicValueDates=false, bool includeSpread=false, const Period &lookback=0 *Days, const Natural rateCutoff=0, const Natural fixingDays=Null< Size >(), const Date &rateComputationStartDate=Null< Date >(), const Date &rateComputationEndDate=Null< Date >())
Inspectors
const std::vector< Date > & fixingDates () const
 fixing dates for the rates to be compounded
const std::vector< Time > & dt () const
 accrual (compounding) periods
const std::vector< Rate > & indexFixings () const
 fixings to be compounded
const std::vector< Date > & valueDates () const
 value dates for the rates to be compounded
bool includeSpread () const
 include spread in compounding?
Real effectiveSpread () const
Real effectiveIndexFixing () const
const Period & lookback () const
 lookback period
Natural rateCutoff () const
 rate cutoff
const Date & rateComputationStartDate () const
 rate computation start date
const Date & rateComputationEndDate () const
 rate computation end date
const ext::shared_ptr< OvernightIndex > & overnightIndex () const
 the underlying index
FloatingRateCoupon interface
Date fixingDate () const override
 the date when the coupon is fully determined

Visitability

void accept (AcyclicVisitor &) override

Detailed Description

overnight coupon

Coupon paying the compounded interest due to daily overnight fixings.

Warning
telescopicValueDates optimizes the schedule for calculation speed, but might fail to produce correct results if the coupon ages by more than a grace period of 7 days. It is therefore recommended not to set this flag to true unless you know exactly what you are doing. The intended use is rather by the OISRateHelper which is safe, since it reinitialises the instrument each time the evaluation date changes.

if includeSpread = true, the spread is included in the daily compounding, otherwise it is added to the effective coupon rate after the compounding

Member Function Documentation

◆ effectiveSpread()

Real effectiveSpread ( ) const

effectiveSpread and effectiveIndexFixing are set such that coupon amount = notional * accrualPeriod * ( gearing * effectiveIndexFixing + effectiveSpread ) notice that

  • gearing = 1 is required if includeSpread = true
  • effectiveSpread = spread() if includeSpread = false