QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.38
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Attributes | List of all members
TimeSeries< T, Container > Class Template Reference

Container for historical data. More...

#include <timeseries.hpp>

+ Inheritance diagram for TimeSeries< T, Container >:
+ Collaboration diagram for TimeSeries< T, Container >:

Classes

struct  reverse
 
struct  reverse< container, std::bidirectional_iterator_tag >
 

Public Types

typedef Date key_type
 
typedef T value_type
 

Public Member Functions

 TimeSeries ()=default
 
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 More...
 
Date lastDate () const
 returns the last date for which a historical datum exists More...
 
Size size () const
 returns the number of historical data including null ones More...
 
bool empty () const
 returns whether the series contains any data More...
 
Historical data access
T operator[] (const Date &d) const
 returns the (possibly null) datum corresponding to the given date More...
 
Toperator[] (const Date &d)
 

Private Attributes

Container values_
 

Iterators

typedef Container::const_iterator const_iterator
 
typedef const_iterator::iterator_category iterator_category
 
typedef std::conditional_t< std::is_same_v< iterator_category, std::bidirectional_iterator_tag >||std::is_base_of_v< std::bidirectional_iterator_tag, iterator_category >, std::bidirectional_iterator_tag, std::input_iterator_tag > enable_reverse
 
typedef reverse< Container, enable_reverse >::const_reverse_iterator const_reverse_iterator
 
typedef Container::value_type container_value_type
 
typedef std::function< Date(const container_value_type &)> projection_time
 
typedef std::function< T(const container_value_type &)> projection_value
 
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
 

Utilities

const_iterator find (const Date &)
 
std::vector< Datedates () const
 returns the dates for which historical data exist More...
 
std::vector< Tvalues () const
 returns the historical data More...
 
static const Dateget_time (const container_value_type &v)
 
static const Tget_value (const container_value_type &v)
 

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.

Definition at line 51 of file timeseries.hpp.

Member Typedef Documentation

◆ key_type

typedef Date key_type

Definition at line 53 of file timeseries.hpp.

◆ value_type

typedef T value_type

Definition at line 54 of file timeseries.hpp.

◆ const_iterator

typedef Container::const_iterator const_iterator

Definition at line 110 of file timeseries.hpp.

◆ iterator_category

typedef const_iterator::iterator_category iterator_category

Definition at line 111 of file timeseries.hpp.

◆ enable_reverse

typedef std::conditional_t< std::is_same_v<iterator_category, std::bidirectional_iterator_tag> || std::is_base_of_v<std::bidirectional_iterator_tag, iterator_category>, std::bidirectional_iterator_tag, std::input_iterator_tag> enable_reverse

Definition at line 150 of file timeseries.hpp.

◆ const_reverse_iterator

typedef reverse<Container,enable_reverse>::const_reverse_iterator const_reverse_iterator

Definition at line 154 of file timeseries.hpp.

◆ container_value_type

typedef Container::value_type container_value_type
private

Definition at line 171 of file timeseries.hpp.

◆ projection_time

typedef std::function<Date(const container_value_type&)> projection_time
private

Definition at line 173 of file timeseries.hpp.

◆ projection_value

typedef std::function<T(const container_value_type&)> projection_value
private

Definition at line 175 of file timeseries.hpp.

Constructor & Destructor Documentation

◆ TimeSeries() [1/3]

TimeSeries ( )
default

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.

Definition at line 65 of file timeseries.hpp.

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

Definition at line 76 of file timeseries.hpp.

+ Here is the call graph for this function:

Member Function Documentation

◆ firstDate()

Date firstDate

returns the first date for which a historical datum exists

Definition at line 200 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ lastDate()

Date lastDate

returns the last date for which a historical datum exists

Definition at line 206 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ size()

Size size

returns the number of historical data including null ones

Definition at line 212 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ empty()

bool empty

returns whether the series contains any data

Definition at line 217 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ operator[]() [1/2]

T operator[] ( const Date d) const

returns the (possibly null) datum corresponding to the given date

Definition at line 96 of file timeseries.hpp.

◆ operator[]() [2/2]

T & operator[] ( const Date d)

Definition at line 102 of file timeseries.hpp.

◆ cbegin()

Definition at line 223 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ cend()

Definition at line 229 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ begin()

const_iterator begin ( ) const

Definition at line 158 of file timeseries.hpp.

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

◆ end()

const_iterator end ( ) const

Definition at line 159 of file timeseries.hpp.

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

◆ crbegin()

const_reverse_iterator crbegin ( ) const

Definition at line 160 of file timeseries.hpp.

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

◆ crend()

const_reverse_iterator crend ( ) const

Definition at line 163 of file timeseries.hpp.

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

◆ rbegin()

const_reverse_iterator rbegin ( ) const

Definition at line 166 of file timeseries.hpp.

+ Here is the call graph for this function:

◆ rend()

const_reverse_iterator rend ( ) const

Definition at line 167 of file timeseries.hpp.

+ Here is the call graph for this function:

◆ find()

TimeSeries< T, C >::const_iterator find ( const Date d)

Definition at line 235 of file timeseries.hpp.

◆ dates()

std::vector< Date > dates

returns the dates for which historical data exist

Definition at line 245 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ values()

std::vector< T > values

returns the historical data

Definition at line 254 of file timeseries.hpp.

+ Here is the caller graph for this function:

◆ get_time()

static const Date & get_time ( const container_value_type v)
staticprivate

Definition at line 188 of file timeseries.hpp.

◆ get_value()

static const T & get_value ( const container_value_type v)
staticprivate

Definition at line 191 of file timeseries.hpp.

Member Data Documentation

◆ values_

Container values_
mutableprivate

Definition at line 56 of file timeseries.hpp.