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

base class for commodity indexes More...

#include <ql/experimental/commodities/commodityindex.hpp>

Inheritance diagram for CommodityIndex:

Public Member Functions

 CommodityIndex (std::string name, CommodityType commodityType, Currency currency, UnitOfMeasure unitOfMeasure, Calendar calendar, Real lotQuantity, ext::shared_ptr< CommodityCurve > forwardCurve, ext::shared_ptr< ExchangeContracts > exchangeContracts, int nearbyOffset)
Index interface
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
Real fixing (const Date &fixingDate, bool forecastTodaysFixing=false) const override
 returns the fixing at the given date
Observer interface
void update () override
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 ()

Inspectors

std::string name_
CommodityType commodityType_
UnitOfMeasure unitOfMeasure_
Currency currency_
Calendar calendar_
Real lotQuantity_
ext::shared_ptr< CommodityCurveforwardCurve_
Real forwardCurveUomConversionFactor_ = 1
ext::shared_ptr< ExchangeContracts > exchangeContracts_
Integer nearbyOffset_
const CommodityTypecommodityType () const
const Currencycurrency () const
const UnitOfMeasureunitOfMeasure () const
const ext::shared_ptr< CommodityCurve > & forwardCurve () const
Real lotQuantity () const
Real forwardPrice (const Date &date) const
Date lastQuoteDate () const
bool empty () const
bool forwardCurveEmpty () const
const Calendarcalendar () const
Real price (const Date &date)
void addQuote (const Date &quoteDate, Real quote)
void addQuotes (const std::map< Date, Real > &quotes)
void clearQuotes ()
bool isValidQuoteDate (const Date &quoteDate) const
const TimeSeries< Real > & quotes () const
std::ostream & operator<< (std::ostream &, const CommodityIndex &)

Additional Inherited Members

Public Types inherited from Observer
typedef set_type::iterator iterator
ext::shared_ptr< Observablenotifier () const

Detailed Description

base class for commodity indexes

Member Function Documentation

◆ name()

std::string name ( ) const
overridevirtual

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.

Implements Index.

◆ fixingCalendar()

Calendar fixingCalendar ( ) const
overridevirtual

returns the calendar defining valid fixing dates

Implements Index.

◆ isValidFixingDate()

bool isValidFixingDate ( const Date & fixingDate) const
overridevirtual

returns TRUE if the fixing date is a valid one

Implements Index.

◆ fixing()

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

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.

Implements Index.

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

◆ calendar()

const Calendar & calendar ( ) const
Deprecated
Use fixingCalendar instead. Deprecated in version 1.37.

◆ price()

Real price ( const Date & date)
Deprecated
Use fixing instead. Deprecated in version 1.37.

◆ addQuote()

void addQuote ( const Date & quoteDate,
Real quote )
Deprecated
Use addFixing instead. Deprecated in version 1.37.

◆ addQuotes()

void addQuotes ( const std::map< Date, Real > & quotes)
Deprecated
Use addFixings instead. Deprecated in version 1.37.

◆ clearQuotes()

void clearQuotes ( )
Deprecated
Use clearFixings instead. Deprecated in version 1.37.

◆ isValidQuoteDate()

bool isValidQuoteDate ( const Date & quoteDate) const
Deprecated
Use isValidFixingDate instead. Deprecated in version 1.37.

◆ quotes()

const TimeSeries< Real > & quotes ( ) const
Deprecated
Use timeSeries instead. Deprecated in version 1.37.