QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Types | Public Member Functions | List of all members
TimeSeries< T, Container > Class Template Reference

Container for historical data. More...

#include <ql/timeseries.hpp>

Public Types

typedef Date key_type
 
typedef T value_type
 

Public Member Functions

 TimeSeries ()
 
template<class DateIterator , class ValueIterator >
 TimeSeries (DateIterator dBegin, DateIterator dEnd, ValueIterator vBegin)
 
template<class ValueIterator >
 TimeSeries (const Date &firstDate, ValueIterator begin, ValueIterator end)
 
Inspectors
Date firstDate () const
 returns the first date for which a historical datum exists
 
Date lastDate () const
 returns the last date for which a historical datum exists
 
Size size () const
 returns the number of historical data including null ones
 
bool empty () const
 returns whether the series contains any data
 
Historical data access
operator[] (const Date &d) const
 returns the (possibly null) datum corresponding to the given date
 
T & operator[] (const Date &d)
 

Iterators

typedef Container::const_iterator const_iterator
 
typedef const_iterator::iterator_category iterator_category
 
typedef boost::mpl::if_< boost::mpl::or_< boost::is_same< iterator_category, std::bidirectional_iterator_tag >, boost::is_base_of< std::bidirectional_iterator_tag, iterator_category > >, std::bidirectional_iterator_tag, std::input_iterator_tag >::type enable_reverse
 
typedef reverse< Container, enable_reverse >::const_reverse_iterator const_reverse_iterator
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_iterator begin () const
 
const_iterator end () const
 
const_reverse_iterator crbegin () const
 
const_reverse_iterator crend () const
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 

Projection iterators

typedef boost::transform_iterator< projection_time, const_iterator > const_time_iterator
 
typedef boost::transform_iterator< projection_value, const_iterator > const_value_iterator
 
typedef boost::transform_iterator< projection_time, const_reverse_iterator > const_reverse_time_iterator
 
typedef boost::transform_iterator< projection_value, const_reverse_iterator > const_reverse_value_iterator
 
const_value_iterator cbegin_values () const
 
const_value_iterator cend_values () const
 
const_reverse_value_iterator crbegin_values () const
 
const_reverse_value_iterator crend_values () const
 
const_time_iterator cbegin_time () const
 
const_time_iterator cend_time () const
 
const_reverse_time_iterator crbegin_time () const
 
const_reverse_time_iterator crend_time () const
 

Utilities

const_iterator find (const Date &)
 
std::vector< Datedates () const
 returns the dates for which historical data exist
 
std::vector< T > values () const
 returns the historical data
 

Detailed Description

template<class T, class Container = std::map<Date, T>>
class QuantLib::TimeSeries< T, Container >

Container for historical data.

This class acts as a generic repository for a set of historical data. Any single datum can be accessed through its date, while sets of consecutive data can be accessed through iterators.

Precondition
The Container type must satisfy the requirements set by the C++ standard for associative containers.

Constructor & Destructor Documentation

◆ TimeSeries() [1/3]

Default constructor

◆ TimeSeries() [2/3]

TimeSeries ( DateIterator  dBegin,
DateIterator  dEnd,
ValueIterator  vBegin 
)

This constructor initializes the history with a set of values passed as two sequences, the first containing dates and the second containing corresponding values.

◆ TimeSeries() [3/3]

TimeSeries ( const Date firstDate,
ValueIterator  begin,
ValueIterator  end 
)

This constructor initializes the history with a set of values. Such values are assigned to a corresponding number of consecutive dates starting from firstDate included.