QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Member Functions | Friends | List of all members
CommodityCurve Class Reference

Commodity term structure. More...

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

+ Inheritance diagram for CommodityCurve:

Public Member Functions

 CommodityCurve (const std::string &name, const CommodityType &commodityType, const Currency &currency, const UnitOfMeasure &unitOfMeasure, const Calendar &calendar, const std::vector< Date > &dates, const std::vector< Real > &prices, const DayCounter &dayCounter=Actual365Fixed())
 
 CommodityCurve (const std::string &name, const CommodityType &commodityType, const Currency &currency, const UnitOfMeasure &unitOfMeasure, const Calendar &calendar, const DayCounter &dayCounter=Actual365Fixed())
 
- Public Member Functions inherited from TermStructure
 TermStructure (const DayCounter &dc=DayCounter())
 default constructor More...
 
 TermStructure (const Date &referenceDate, const Calendar &calendar=Calendar(), const DayCounter &dc=DayCounter())
 initialize with a fixed reference date
 
 TermStructure (Natural settlementDays, const Calendar &, const DayCounter &dc=DayCounter())
 calculate the reference date based on the global evaluation date
 
virtual ~TermStructure ()
 
virtual DayCounter dayCounter () const
 the day counter used for date/time conversion
 
Time timeFromReference (const Date &date) const
 date/time conversion
 
virtual Time maxTime () const
 the latest time for which the curve can return values
 
virtual const Date & referenceDate () const
 the date at which discount = 1.0 and/or variance = 0.0
 
virtual Calendar calendar () const
 the calendar used for reference and/or option date calculation
 
virtual Natural settlementDays () const
 the settlementDays used for reference date calculation
 
void update ()
 
- Public Member Functions inherited from Observer
 Observer (const Observer &)
 
Observer & operator= (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 ()
 
- Public Member Functions inherited from Observable
 Observable (const Observable &)
 
Observable & operator= (const Observable &)
 
void notifyObservers ()
 
- Public Member Functions inherited from Extrapolator
void enableExtrapolation (bool b=true)
 enable extrapolation in subsequent calls
 
void disableExtrapolation (bool b=true)
 disable extrapolation in subsequent calls
 
bool allowsExtrapolation () const
 tells whether extrapolation is enabled
 

Friends

class CommodityIndex
 

Inspectors

std::ostream & operator<< (std::ostream &out, const CommodityCurve &curve)
 
std::string name_
 
CommodityType commodityType_
 
UnitOfMeasure unitOfMeasure_
 
Currency currency_
 
std::vector< Date > dates_
 
std::vector< Time > times_
 
std::vector< Real > data_
 
Interpolation interpolation_
 
ForwardFlat interpolator_
 
ext::shared_ptr< CommodityCurve > basisOfCurve_
 
Real basisOfCurveUomConversionFactor_
 
const std::string & name () const
 
const CommodityType & commodityType () const
 
const UnitOfMeasure & unitOfMeasure () const
 
const Currency & currency () const
 
Date maxDate () const
 the latest date for which the curve can return values
 
const std::vector< Time > & times () const
 
const std::vector< Date > & dates () const
 
const std::vector< Real > & prices () const
 
std::vector< std::pair< Date, Real > > nodes () const
 
bool empty () const
 
void setPrices (std::map< Date, Real > &prices)
 
void setBasisOfCurve (const ext::shared_ptr< CommodityCurve > &basisOfCurve)
 
Real price (const Date &d, const ext::shared_ptr< ExchangeContracts > &exchangeContracts, Integer nearbyOffset) const
 
Real basisOfPrice (const Date &d) const
 
Date underlyingPriceDate (const Date &date, const ext::shared_ptr< ExchangeContracts > &exchangeContracts, Integer nearbyOffset) const
 
const ext::shared_ptr< CommodityCurve > & basisOfCurve () const
 
Real basisOfPriceImpl (Time t) const
 
Real priceImpl (Time t) const
 

Additional Inherited Members

- Public Types inherited from Observer
typedef boost::unordered_set< ext::shared_ptr< Observable > > set_type
 
typedef set_type::iterator iterator
 
- Protected Member Functions inherited from TermStructure
void checkRange (const Date &d, bool extrapolate) const
 date-range check
 
void checkRange (Time t, bool extrapolate) const
 time-range check
 
- Protected Attributes inherited from TermStructure
bool moving_
 
bool updated_
 
Calendar calendar_
 

Detailed Description

Commodity term structure.