QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
Loading...
Searching...
No Matches
Public Member Functions | List of all members
RangeAccrualFloatersCoupon Class Reference

#include <rangeaccrual.hpp>

+ Inheritance diagram for RangeAccrualFloatersCoupon:
+ Collaboration diagram for RangeAccrualFloatersCoupon:

Public Member Functions

 RangeAccrualFloatersCoupon (const Date &paymentDate, Real nominal, const ext::shared_ptr< IborIndex > &index, const Date &startDate, const Date &endDate, Natural fixingDays, const DayCounter &dayCounter, Real gearing, Rate spread, const Date &refPeriodStart, const Date &refPeriodEnd, ext::shared_ptr< Schedule > observationsSchedule, Real lowerTrigger, Real upperTrigger)
 
Real startTime () const
 
Real endTime () const
 
Real lowerTrigger () const
 
Real upperTrigger () const
 
Size observationsNo () const
 
const std::vector< Date > & observationDates () const
 
const std::vector< Real > & observationTimes () const
 
ext::shared_ptr< ScheduleobservationsSchedule () const
 
Real priceWithoutOptionality (const Handle< YieldTermStructure > &discountCurve) const
 
- 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 More...
 
Rate rate () const override
 accrued rate More...
 
Real price (const Handle< YieldTermStructure > &discountingCurve) const
 
DayCounter dayCounter () const override
 day counter for accrual calculation More...
 
Real accruedAmount (const Date &) const override
 accrued amount at the given date More...
 
const ext::shared_ptr< InterestRateIndex > & index () const
 floating index More...
 
Natural fixingDays () const
 fixing days More...
 
virtual Date fixingDate () const
 fixing date More...
 
Real gearing () const
 index gearing, i.e. multiplicative coefficient for the index More...
 
Spread spread () const
 spread paid over the fixing of the underlying index More...
 
virtual Rate indexFixing () const
 fixing of the underlying index More...
 
virtual Rate convexityAdjustment () const
 convexity adjustment More...
 
virtual Rate adjustedFixing () const
 convexity-adjusted fixing More...
 
bool isInArrears () const
 whether or not the coupon fixes in arrears More...
 
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 More...
 
virtual Real nominal () const
 
const DateaccrualStartDate () const
 start of the accrual period More...
 
const DateaccrualEndDate () const
 end of the accrual period More...
 
const DatereferencePeriodStart () const
 start date of the reference period More...
 
const DatereferencePeriodEnd () const
 end date of the reference period More...
 
Time accrualPeriod () const
 accrual period as fraction of year More...
 
Date::serial_type accrualDays () const
 accrual period in days More...
 
Time accruedPeriod (const Date &) const
 accrued period as fraction of year at the given date More...
 
Date::serial_type accruedDays (const Date &) const
 accrued days at the given date More...
 
- Public Member Functions inherited from CashFlow
 ~CashFlow () override=default
 
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 More...
 
bool tradingExCoupon (const Date &refDate=Date()) const
 returns true if the cashflow is trading ex-coupon on the refDate More...
 
- Public Member Functions inherited from Event
 ~Event () override=default
 
- Public Member Functions inherited from Observable
 Observable ()
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- Public Member Functions inherited from LazyObject
 LazyObject ()
 
 ~LazyObject () override=default
 
void update () override
 
bool isCalculated () const
 
void forwardFirstNotificationOnly ()
 
void alwaysForwardNotifications ()
 
void recalculate ()
 
void freeze ()
 
void unfreeze ()
 
- Public Member Functions inherited from Observer
 Observer ()=default
 
 Observer (const Observer &)
 
Observeroperator= (const Observer &)
 
virtual ~Observer ()
 
std::pair< iterator, boolregisterWith (const ext::shared_ptr< Observable > &)
 
void registerWithObservables (const ext::shared_ptr< Observer > &)
 
Size unregisterWith (const ext::shared_ptr< Observable > &)
 
void unregisterWithAll ()
 
virtual void update ()=0
 
virtual void deepUpdate ()
 

Visitability

Real startTime_
 
Real endTime_
 
const ext::shared_ptr< ScheduleobservationsSchedule_
 
std::vector< DateobservationDates_
 
std::vector< RealobservationTimes_
 
Size observationsNo_
 
Real lowerTrigger_
 
Real upperTrigger_
 
void accept (AcyclicVisitor &) override
 

Additional Inherited Members

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

Detailed Description

Definition at line 40 of file rangeaccrual.hpp.

Constructor & Destructor Documentation

◆ RangeAccrualFloatersCoupon()

RangeAccrualFloatersCoupon ( const Date paymentDate,
Real  nominal,
const ext::shared_ptr< IborIndex > &  index,
const Date startDate,
const Date endDate,
Natural  fixingDays,
const DayCounter dayCounter,
Real  gearing,
Rate  spread,
const Date refPeriodStart,
const Date refPeriodEnd,
ext::shared_ptr< Schedule observationsSchedule,
Real  lowerTrigger,
Real  upperTrigger 
)

Definition at line 38 of file rangeaccrual.cpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ startTime()

Real startTime ( ) const

Definition at line 58 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ endTime()

Real endTime ( ) const

Definition at line 59 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ lowerTrigger()

Real lowerTrigger ( ) const

Definition at line 60 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ upperTrigger()

Real upperTrigger ( ) const

Definition at line 61 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ observationsNo()

Size observationsNo ( ) const

Definition at line 62 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ observationDates()

const std::vector< Date > & observationDates ( ) const

Definition at line 63 of file rangeaccrual.hpp.

◆ observationTimes()

const std::vector< Real > & observationTimes ( ) const

Definition at line 66 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ observationsSchedule()

ext::shared_ptr< Schedule > observationsSchedule ( ) const

Definition at line 69 of file rangeaccrual.hpp.

+ Here is the caller graph for this function:

◆ priceWithoutOptionality()

Real priceWithoutOptionality ( const Handle< YieldTermStructure > &  discountCurve) const

Definition at line 100 of file rangeaccrual.cpp.

+ Here is the call graph for this function:

◆ accept()

void accept ( AcyclicVisitor v)
overridevirtual

Reimplemented from FloatingRateCoupon.

Definition at line 92 of file rangeaccrual.cpp.

+ Here is the call graph for this function:

Member Data Documentation

◆ startTime_

Real startTime_
private

Definition at line 79 of file rangeaccrual.hpp.

◆ endTime_

Real endTime_
private

Definition at line 80 of file rangeaccrual.hpp.

◆ observationsSchedule_

const ext::shared_ptr<Schedule> observationsSchedule_
private

Definition at line 82 of file rangeaccrual.hpp.

◆ observationDates_

std::vector<Date> observationDates_
private

Definition at line 83 of file rangeaccrual.hpp.

◆ observationTimes_

std::vector<Real> observationTimes_
private

Definition at line 84 of file rangeaccrual.hpp.

◆ observationsNo_

Size observationsNo_
private

Definition at line 85 of file rangeaccrual.hpp.

◆ lowerTrigger_

Real lowerTrigger_
private

Definition at line 87 of file rangeaccrual.hpp.

◆ upperTrigger_

Real upperTrigger_
private

Definition at line 88 of file rangeaccrual.hpp.