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

#include <ql/indexes/ibor/custom.hpp>

Inheritance diagram for CustomIborIndex:

Public Member Functions

 CustomIborIndex (const std::string &familyName, const Period &tenor, Natural settlementDays, const Currency &currency, const Calendar &fixingCalendar, Calendar valueCalendar, Calendar maturityCalendar, BusinessDayConvention convention, bool endOfMonth, const DayCounter &dayCounter, const Handle< YieldTermStructure > &h={})
InterestRateIndex interface
Date fixingDate (const Date &valueDate) const override
Date valueDate (const Date &fixingDate) const override
Date maturityDate (const Date &valueDate) const override
IborIndex interface
ext::shared_ptr< IborIndexclone (const Handle< YieldTermStructure > &h) const override
 returns a copy of itself linked to a different forwarding curve
Public Member Functions inherited from IborIndex
 IborIndex (const std::string &familyName, const Period &tenor, Natural settlementDays, const Currency &currency, const Calendar &fixingCalendar, BusinessDayConvention convention, bool endOfMonth, const DayCounter &dayCounter, Handle< YieldTermStructure > h={})
Date maturityDate (const Date &valueDate) const override
Rate forecastFixing (const Date &fixingDate) const override
 It can be overridden to implement particular conventions.
BusinessDayConvention businessDayConvention () const
bool endOfMonth () const
Handle< YieldTermStructureforwardingTermStructure () const
 the curve used to forecast fixings
Public Member Functions inherited from InterestRateIndex
 InterestRateIndex (std::string familyName, const Period &tenor, Natural settlementDays, Currency currency, Calendar fixingCalendar, DayCounter dayCounter)
std::string name () const override
 Returns the name of the index.
Calendar fixingCalendar () const override
 returns the calendar defining valid fixing dates
bool isValidFixingDate (const Date &fixingDate) const override
 returns TRUE if the fixing date is a valid one
Rate fixing (const Date &fixingDate, bool forecastTodaysFixing=false) const override
 returns the fixing at the given date
std::string familyName () const
Period tenor () const
Natural fixingDays () const
const Currencycurrency () const
const DayCounterdayCounter () const
Public Member Functions inherited from Index
bool hasHistoricalFixing (const Date &fixingDate) const
 returns whether a historical fixing was stored for the given date
virtual Real pastFixing (const Date &fixingDate) const
 returns a past fixing at the given date
const TimeSeries< Real > & timeSeries () const
 returns the fixing TimeSeries
virtual bool allowsNativeFixings ()
 check if index allows for native fixings.
void update () override
virtual void addFixing (const Date &fixingDate, Real fixing, bool forceOverwrite=false)
void addFixings (const TimeSeries< Real > &t, bool forceOverwrite=false)
 stores historical fixings from a TimeSeries
template<class DateIterator, class ValueIterator>
void addFixings (DateIterator dBegin, DateIterator dEnd, ValueIterator vBegin, bool forceOverwrite=false)
 stores historical fixings at the given dates
void clearFixings ()
 clears all stored historical fixings
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 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 ()

Other inspectors

Calendar valueCalendar () const
Calendar maturityCalendar () const

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
ext::shared_ptr< Observablenotifier () const
BusinessDayConvention convention_
Handle< YieldTermStructuretermStructure_
bool endOfMonth_
std::string familyName_
Period tenor_
Natural fixingDays_
Currency currency_
DayCounter dayCounter_
std::string name_

Detailed Description

LIBOR-like index that allows specifying custom calendars for value and maturity dates calculations:

valueDate() advances on the valueCalendar and adjusts on the maturityCalendar.

maturityDate() advances on the maturityCalendar.

fixingDate() goes back on the valueCalendar.

Typical LIBOR indexes use:

fixingCalendar = valueCalendar = UK, maturityCalendar = JoinHolidays(UK, CurrencyCalendar) for non-EUR currencies.

fixingCalendar = JoinHolidays(UK, TARGET), valueCalendar = maturityCalendar = TARGET for EUR.

Member Function Documentation

◆ fixingDate()

Date fixingDate ( const Date & valueDate) const
overridevirtual

Reimplemented from InterestRateIndex.

◆ valueDate()

Date valueDate ( const Date & fixingDate) const
overridevirtual

Reimplemented from InterestRateIndex.

◆ maturityDate()

Date maturityDate ( const Date & valueDate) const
overridevirtual

Implements InterestRateIndex.

◆ clone()

ext::shared_ptr< IborIndex > clone ( const Handle< YieldTermStructure > & forwarding) const
overridevirtual

returns a copy of itself linked to a different forwarding curve

Reimplemented from IborIndex.