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

#include <custom.hpp>

+ Inheritance diagram for CustomIborIndex:
+ Collaboration diagram for CustomIborIndex:

Public Member Functions

 CustomIborIndex (const std::string &familyName, const Period &tenor, Natural settlementDays, const Currency &currency, const Calendar &fixingCalendar, const Calendar &valueCalendar, const 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 More...
 
- 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. More...
 
BusinessDayConvention businessDayConvention () const
 
bool endOfMonth () const
 
Handle< YieldTermStructureforwardingTermStructure () const
 the curve used to forecast fixings More...
 
- 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. More...
 
Calendar fixingCalendar () const override
 returns the calendar defining valid fixing dates More...
 
bool isValidFixingDate (const Date &fixingDate) const override
 returns TRUE if the fixing date is a valid one More...
 
Rate fixing (const Date &fixingDate, bool forecastTodaysFixing=false) const override
 returns the fixing at the given date More...
 
std::string familyName () const
 
Period tenor () const
 
Natural fixingDays () const
 
const Currencycurrency () const
 
const DayCounterdayCounter () const
 
- Public Member Functions inherited from Index
 ~Index () override=default
 
virtual std::string name () const =0
 Returns the name of the index. More...
 
virtual Calendar fixingCalendar () const =0
 returns the calendar defining valid fixing dates More...
 
virtual bool isValidFixingDate (const Date &fixingDate) const =0
 returns TRUE if the fixing date is a valid one More...
 
bool hasHistoricalFixing (const Date &fixingDate) const
 returns whether a historical fixing was stored for the given date More...
 
virtual Real fixing (const Date &fixingDate, bool forecastTodaysFixing=false) const =0
 returns the fixing at the given date More...
 
virtual Real pastFixing (const Date &fixingDate) const
 returns a past fixing at the given date More...
 
const TimeSeries< Real > & timeSeries () const
 returns the fixing TimeSeries More...
 
virtual bool allowsNativeFixings ()
 check if index allows for native fixings. More...
 
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 More...
 
template<class DateIterator , class ValueIterator >
void addFixings (DateIterator dBegin, DateIterator dEnd, ValueIterator vBegin, bool forceOverwrite=false)
 stores historical fixings at the given dates More...
 
void clearFixings ()
 clears all stored historical fixings More...
 
- Public Member Functions inherited from Observable
 Observable ()=default
 
 Observable (const Observable &)
 
Observableoperator= (const Observable &)
 
 Observable (Observable &&)=delete
 
Observableoperator= (Observable &&)=delete
 
virtual ~Observable ()=default
 
void notifyObservers ()
 
- 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 ()
 

Other inspectors

Calendar valueCalendar_
 
Calendar maturityCalendar_
 
Calendar valueCalendar () const
 
Calendar maturityCalendar () const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from Index
ext::shared_ptr< Observablenotifier () const
 
- Protected Attributes inherited from IborIndex
BusinessDayConvention convention_
 
Handle< YieldTermStructuretermStructure_
 
bool endOfMonth_
 
- Protected Attributes inherited from InterestRateIndex
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.

Definition at line 28 of file custom.hpp.

Constructor & Destructor Documentation

◆ CustomIborIndex()

CustomIborIndex ( const std::string &  familyName,
const Period tenor,
Natural  settlementDays,
const Currency currency,
const Calendar fixingCalendar,
const Calendar valueCalendar,
const Calendar maturityCalendar,
BusinessDayConvention  convention,
bool  endOfMonth,
const DayCounter dayCounter,
const Handle< YieldTermStructure > &  h = {} 
)

Definition at line 7 of file custom.cpp.

Member Function Documentation

◆ fixingDate()

Date fixingDate ( const Date valueDate) const
overridevirtual

Reimplemented from InterestRateIndex.

Definition at line 22 of file custom.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ valueDate()

Date valueDate ( const Date fixingDate) const
overridevirtual

Reimplemented from InterestRateIndex.

Definition at line 28 of file custom.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ maturityDate()

Date maturityDate ( const Date valueDate) const
overridevirtual

Implements InterestRateIndex.

Definition at line 37 of file custom.cpp.

+ Here is the call graph for this function:

◆ 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.

Definition at line 42 of file custom.cpp.

+ Here is the call graph for this function:

◆ valueCalendar()

Calendar valueCalendar ( ) const

Definition at line 53 of file custom.hpp.

◆ maturityCalendar()

Calendar maturityCalendar ( ) const

Definition at line 54 of file custom.hpp.

Member Data Documentation

◆ valueCalendar_

Calendar valueCalendar_
private

Definition at line 57 of file custom.hpp.

◆ maturityCalendar_

Calendar maturityCalendar_
private

Definition at line 58 of file custom.hpp.