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

purely virtual base class for indexes More...

#include <ql/index.hpp>

Inheritance diagram for Index:

Public Member Functions

virtual std::string name () const =0
 Returns the name of the index.
virtual Calendar fixingCalendar () const =0
 returns the calendar defining valid fixing dates
virtual bool isValidFixingDate (const Date &fixingDate) const =0
 returns TRUE if the fixing date is a valid one
bool hasHistoricalFixing (const Date &fixingDate) const
 returns whether a historical fixing was stored for the given date
virtual Real fixing (const Date &fixingDate, bool forecastTodaysFixing=false) const =0
 returns the fixing at 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.
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 ()

Observer interface

stores the historical fixing at the given date

the date passed as arguments must be the actual calendar date of the fixing; no settlement days must be used.

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
ext::shared_ptr< Observablenotifier () const

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator

Detailed Description

purely virtual base class for indexes

Warning
this class performs no check that the provided/requested fixings are for dates in the past, i.e. for dates less than or equal to the evaluation date. It is up to the client code to take care of possible inconsistencies due to "seeing in the future"

Member Function Documentation

◆ name()

virtual std::string name ( ) const
pure virtual

Returns the name of the index.

Warning
This method is used for output and comparison between indexes. It is not meant to be used for writing switch-on-type code.

Implemented in CommodityIndex, EquityIndex, InflationIndex, and InterestRateIndex.

◆ fixingCalendar()

virtual Calendar fixingCalendar ( ) const
pure virtual

returns the calendar defining valid fixing dates

Implemented in CommodityIndex, EquityIndex, InflationIndex, and InterestRateIndex.

◆ isValidFixingDate()

virtual bool isValidFixingDate ( const Date & fixingDate) const
pure virtual

returns TRUE if the fixing date is a valid one

Implemented in BMAIndex, CommodityIndex, EquityIndex, InflationIndex, and InterestRateIndex.

◆ fixing()

virtual Real fixing ( const Date & fixingDate,
bool forecastTodaysFixing = false ) const
pure virtual

returns the fixing at the given date

the date passed as arguments must be the actual calendar date of the fixing; no settlement days must be used.

Implemented in CommodityIndex, EquityIndex, InflationIndex, InterestRateIndex, YoYInflationIndex, and ZeroInflationIndex.

◆ pastFixing()

Real pastFixing ( const Date & fixingDate) const
virtual

returns a past fixing at the given date

the date passed as arguments must be the actual calendar date of the fixing; no settlement days must be used.

Reimplemented in InflationIndex, SwapSpreadIndex, YoYInflationIndex, and ZeroInflationIndex.

◆ allowsNativeFixings()

virtual bool allowsNativeFixings ( )
virtual

check if index allows for native fixings.

If this returns false, calls to addFixing and similar methods will raise an exception.

Reimplemented in SwapSpreadIndex.

◆ update()

void update ( )
overridevirtual

This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.

Implements Observer.

◆ addFixings() [1/2]

void addFixings ( const TimeSeries< Real > & t,
bool forceOverwrite = false )

stores historical fixings from a TimeSeries

the dates in the TimeSeries must be the actual calendar dates of the fixings; no settlement days must be used.

◆ addFixings() [2/2]

template<class DateIterator, class ValueIterator>
void addFixings ( DateIterator dBegin,
DateIterator dEnd,
ValueIterator vBegin,
bool forceOverwrite = false )

stores historical fixings at the given dates

the dates passed as arguments must be the actual calendar dates of the fixings; no settlement days must be used.