QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
OvernightIndexedCoupon Class Reference

overnight coupon More...

#include <ql/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, RateAveraging::Type averagingMethod=RateAveraging::Compound, Natural lookbackDays=Null< Natural >(), Natural lockoutDays=0, bool applyObservationShift=false)
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
const std::vector< Date > & interestDates () const
 interest dates for the rates to be compounded
RateAveraging::Type averagingMethod () const
 averaging method
Natural lockoutDays () const
 lockout days
bool applyObservationShift () const
 apply observation shift
FloatingRateCoupon interface
Date fixingDate () const override
 the date when the coupon is fully determined
Real accruedAmount (const Date &) const override
 accrued amount at the given date
Visitability
void accept (AcyclicVisitor &) override
Public Member Functions inherited from FloatingRateCoupon
 FloatingRateCoupon (const Date &paymentDate, Real nominal, const Date &startDate, const Date &endDate, Natural fixingDays, const ext::shared_ptr< InterestRateIndex > &index, Real gearing=1.0, Spread spread=0.0, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), DayCounter dayCounter=DayCounter(), bool isInArrears=false, const Date &exCouponDate=Date())
void performCalculations () const override
Real amount () const override
 returns the amount of the cash flow
Rate rate () const override
 accrued rate
Real price (const Handle< YieldTermStructure > &discountingCurve) const
DayCounter dayCounter () const override
 day counter for accrual calculation
const ext::shared_ptr< InterestRateIndex > & index () const
 floating index
Natural fixingDays () const
 fixing days
Real gearing () const
 index gearing, i.e. multiplicative coefficient for the index
Spread spread () const
 spread paid over the fixing of the underlying index
virtual Rate indexFixing () const
 fixing of the underlying index
virtual Rate convexityAdjustment () const
 convexity adjustment
virtual Rate adjustedFixing () const
 convexity-adjusted fixing
bool isInArrears () const
 whether or not the coupon fixes in arrears
virtual void setPricer (const ext::shared_ptr< FloatingRateCouponPricer > &)
ext::shared_ptr< FloatingRateCouponPricerpricer () const
Public Member Functions inherited from Coupon
 Coupon (const Date &paymentDate, Real nominal, const Date &accrualStartDate, const Date &accrualEndDate, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date(), const Date &exCouponDate=Date())
Date date () const override
Date exCouponDate () const override
 returns the date that the cash flow trades exCoupon
virtual Real nominal () const
const DateaccrualStartDate () const
 start of the accrual period
const DateaccrualEndDate () const
 end of the accrual period
const DatereferencePeriodStart () const
 start date of the reference period
const DatereferencePeriodEnd () const
 end date of the reference period
Time accrualPeriod () const
 accrual period as fraction of year
Date::serial_type accrualDays () const
 accrual period in days
Time accruedPeriod (const Date &) const
 accrued period as fraction of year at the given date
Date::serial_type accruedDays (const Date &) const
 accrued days at the given date
Public Member Functions inherited from CashFlow
bool hasOccurred (const Date &refDate=Date(), ext::optional< bool > includeRefDate=ext::nullopt) const override
 returns true if an event has already occurred before a date
bool tradingExCoupon (const Date &refDate=Date()) const
 returns true if the cashflow is trading ex-coupon on the refDate
Public Member Functions inherited from Event
Public Member Functions inherited from Observable
 Observable (const Observable &)
Observableoperator= (const Observable &)
 Observable (Observable &&)=delete
Observableoperator= (Observable &&)=delete
void notifyObservers ()
Public Member Functions inherited from LazyObject
void update () override
bool isCalculated () const
void forwardFirstNotificationOnly ()
void alwaysForwardNotifications ()
void recalculate ()
void freeze ()
void unfreeze ()
Public Member Functions inherited from Observer
 Observer (const Observer &)
Observeroperator= (const Observer &)
std::pair< iterator, bool > registerWith (const ext::shared_ptr< Observable > &)
void registerWithObservables (const ext::shared_ptr< Observer > &)
Size unregisterWith (const ext::shared_ptr< Observable > &)
void unregisterWithAll ()
virtual void deepUpdate ()

Telescopic property

Telescopic formula cannot be used with lookback days being different than intrinsic index fixing delay. Only when index fixing delay is 0 and observation shift is used, we can apply telescopic formula, when applying lookback period.

bool canApplyTelescopicFormula () const

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
Rate convexityAdjustmentImpl (Rate fixing) const
 convexity adjustment for the given index fixing
virtual void calculate () const
ext::shared_ptr< InterestRateIndexindex_
DayCounter dayCounter_
Natural fixingDays_
Real gearing_
Spread spread_
bool isInArrears_
ext::shared_ptr< FloatingRateCouponPricerpricer_
Real rate_
Date paymentDate_
Real nominal_
Date accrualStartDate_
Date accrualEndDate_
Date refPeriodStart_
Date refPeriodEnd_
Date exCouponDate_
Real accrualPeriod_
bool calculated_ = false
bool frozen_ = false
bool alwaysForward_

Detailed Description

overnight coupon

Coupon paying the interest, depending on the averaging convention, 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.

Member Function Documentation

◆ fixingDate()

Date fixingDate ( ) const
overridevirtual

the date when the coupon is fully determined

Reimplemented from FloatingRateCoupon.

◆ accruedAmount()

Real accruedAmount ( const Date & ) const
overridevirtual

accrued amount at the given date

Reimplemented from FloatingRateCoupon.

◆ accept()

void accept ( AcyclicVisitor & )
overridevirtual

Reimplemented from FloatingRateCoupon.