QuantLib: a free/open-source library for quantitative finance
fully annotated source code - version 1.34
|
Statistics tool based on incremental accumulation. More...
#include <incrementalstatistics.hpp>
Public Types | |
typedef Real | value_type |
Public Member Functions | |
IncrementalStatistics () | |
Inspectors | |
Size | samples () const |
number of samples collected More... | |
Real | weightSum () const |
sum of data weights More... | |
Real | mean () const |
Real | variance () const |
Real | standardDeviation () const |
Real | errorEstimate () const |
Real | skewness () const |
Real | kurtosis () const |
Real | min () const |
Real | max () const |
Size | downsideSamples () const |
number of negative samples collected More... | |
Real | downsideWeightSum () const |
sum of data weights for negative samples More... | |
Real | downsideVariance () const |
Real | downsideDeviation () const |
Modifiers | |
typedef boost::accumulators::accumulator_set< Real, boost::accumulators::stats< boost::accumulators::tag::count, boost::accumulators::tag::min, boost::accumulators::tag::max, boost::accumulators::tag::weighted_mean, boost::accumulators::tag::weighted_variance, boost::accumulators::tag::weighted_skewness, boost::accumulators::tag::weighted_kurtosis, boost::accumulators::tag::sum_of_weights >, Real > | accumulator_set |
typedef boost::accumulators::accumulator_set< Real, boost::accumulators::stats< boost::accumulators::tag::count, boost::accumulators::tag::weighted_moment< 2 >, boost::accumulators::tag::sum_of_weights >, Real > | downside_accumulator_set |
accumulator_set | acc_ |
downside_accumulator_set | downsideAcc_ |
void | add (Real value, Real weight=1.0) |
adds a datum to the set, possibly with a weight More... | |
template<class DataIterator > | |
void | addSequence (DataIterator begin, DataIterator end) |
adds a sequence of data to the set, with default weight More... | |
template<class DataIterator , class WeightIterator > | |
void | addSequence (DataIterator begin, DataIterator end, WeightIterator wbegin) |
adds a sequence of data to the set, each with its weight More... | |
void | reset () |
resets the data to a null set More... | |
Statistics tool based on incremental accumulation.
It can accumulate a set of data and return statistics (e.g: mean, variance, skewness, kurtosis, error estimation, etc.). This class is a wrapper to the boost accumulator library.
Definition at line 53 of file incrementalstatistics.hpp.
typedef Real value_type |
Definition at line 55 of file incrementalstatistics.hpp.
|
private |
Definition at line 162 of file incrementalstatistics.hpp.
|
private |
Definition at line 169 of file incrementalstatistics.hpp.
Size samples | ( | ) | const |
number of samples collected
Definition at line 31 of file incrementalstatistics.cpp.
Real weightSum | ( | ) | const |
sum of data weights
Definition at line 36 of file incrementalstatistics.cpp.
Real mean | ( | ) | const |
returns the mean, defined as
\[ \langle x \rangle = \frac{\sum w_i x_i}{\sum w_i}. \]
Definition at line 41 of file incrementalstatistics.cpp.
Real variance | ( | ) | const |
returns the variance, defined as
\[ \frac{N}{N-1} \left\langle \left( x-\langle x \rangle \right)^2 \right\rangle. \]
Definition at line 47 of file incrementalstatistics.cpp.
Real standardDeviation | ( | ) | const |
returns the standard deviation \( \sigma \), defined as the square root of the variance.
Definition at line 56 of file incrementalstatistics.cpp.
Real errorEstimate | ( | ) | const |
returns the error estimate \( \epsilon \), defined as the square root of the ratio of the variance to the number of samples.
Definition at line 60 of file incrementalstatistics.cpp.
Real skewness | ( | ) | const |
returns the skewness, defined as
\[ \frac{N^2}{(N-1)(N-2)} \frac{\left\langle \left( x-\langle x \rangle \right)^3 \right\rangle}{\sigma^3}. \]
The above evaluates to 0 for a Gaussian distribution.
Definition at line 64 of file incrementalstatistics.cpp.
Real kurtosis | ( | ) | const |
returns the excess kurtosis, defined as
\[ \frac{N^2(N+1)}{(N-1)(N-2)(N-3)} \frac{\left\langle \left(x-\langle x \rangle \right)^4 \right\rangle}{\sigma^4} - \frac{3(N-1)^2}{(N-2)(N-3)}. \]
The above evaluates to 0 for a Gaussian distribution.
Definition at line 74 of file incrementalstatistics.cpp.
Real min | ( | ) | const |
returns the minimum sample value
Definition at line 90 of file incrementalstatistics.cpp.
Real max | ( | ) | const |
returns the maximum sample value
Definition at line 96 of file incrementalstatistics.cpp.
Size downsideSamples | ( | ) | const |
number of negative samples collected
Definition at line 102 of file incrementalstatistics.cpp.
Real downsideWeightSum | ( | ) | const |
sum of data weights for negative samples
Definition at line 107 of file incrementalstatistics.cpp.
Real downsideVariance | ( | ) | const |
returns the downside variance, defined as
\[ \frac{N}{N-1} \times \frac{ \sum_{i=1}^{N} \theta \times x_i^{2}}{ \sum_{i=1}^{N} w_i} \]
, where \( \theta \) = 0 if x > 0 and \( \theta \) =1 if x <0
Definition at line 112 of file incrementalstatistics.cpp.
Real downsideDeviation | ( | ) | const |
returns the downside deviation, defined as the square root of the downside variance.
Definition at line 122 of file incrementalstatistics.cpp.
adds a datum to the set, possibly with a weight
Definition at line 126 of file incrementalstatistics.cpp.
void addSequence | ( | DataIterator | begin, |
DataIterator | end | ||
) |
adds a sequence of data to the set, with default weight
Definition at line 136 of file incrementalstatistics.hpp.
void addSequence | ( | DataIterator | begin, |
DataIterator | end, | ||
WeightIterator | wbegin | ||
) |
adds a sequence of data to the set, each with its weight
Definition at line 143 of file incrementalstatistics.hpp.
void reset | ( | ) |
resets the data to a null set
Definition at line 134 of file incrementalstatistics.cpp.
|
private |
Definition at line 163 of file incrementalstatistics.hpp.
|
private |
Definition at line 170 of file incrementalstatistics.hpp.