Logo
Reference manual - version qle_version
Public Member Functions | List of all members
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