GenericSequenceStatistics Class Template Reference

#include <ql/math/statistics/sequencestatistics.hpp>

Inheritance diagram for GenericSequenceStatistics:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class StatisticsType = Statistics>
class QuantLib::GenericSequenceStatistics< StatisticsType >

Statistics analysis of N-dimensional (sequence) data.

It provides 1-dimensional statistics as discrepancy plus N-dimensional (sequence) statistics (e.g. mean, variance, skewness, kurtosis, etc.) with one component for each dimension of the sample space.

For most of the statistics this class relies on the StatisticsType underlying class to provide 1-D methods that will be iterated for all the components of the N-D data. These lifted methods are the union of all the methods that might be requested to the 1-D underlying StatisticsType class, with the usual compile-time checks provided by the template approach.

Tests:
the correctness of the returned values is tested by checking them against numerical calculations.


Public Types

typedef StatisticsType statistics_type
typedef std::vector< typename
StatisticsType::value_type > 
value_type

Public Member Functions

 GenericSequenceStatistics (Size dimension)
inspectors
Size size () const
covariance and correlation
Disposable< Matrixcovariance () const
 returns the covariance Matrix
Disposable< Matrixcorrelation () const
 returns the correlation Matrix
1-D inspectors lifted from underlying statistics class
Size samples () const
Real weightSum () const
N-D inspectors lifted from underlying statistics class
std::vector< Real > mean () const
std::vector< Real > variance () const
std::vector< Real > standardDeviation () const
std::vector< Real > downsideVariance () const
std::vector< Real > downsideDeviation () const
std::vector< Real > semiVariance () const
std::vector< Real > semiDeviation () const
std::vector< Real > errorEstimate () const
std::vector< Real > skewness () const
std::vector< Real > kurtosis () const
std::vector< Real > min () const
std::vector< Real > max () const
std::vector< Real > gaussianPercentile (Real y) const
std::vector< Real > percentile (Real y) const
std::vector< Real > gaussianPotentialUpside (Real percentile) const
std::vector< Real > potentialUpside (Real percentile) const
std::vector< Real > gaussianValueAtRisk (Real percentile) const
std::vector< Real > valueAtRisk (Real percentile) const
std::vector< Real > gaussianExpectedShortfall (Real percentile) const
std::vector< Real > expectedShortfall (Real percentile) const
std::vector< Real > regret (Real target) const
std::vector< Real > gaussianShortfall (Real target) const
std::vector< Real > shortfall (Real target) const
std::vector< Real > gaussianAverageShortfall (Real target) const
std::vector< Real > averageShortfall (Real target) const
Modifiers
void reset (Size dimension=0)
template<class Sequence>
void add (const Sequence &sample, Real weight=1.0)
template<class Iterator>
void add (Iterator begin, Iterator end, Real weight=1.0)

Protected Attributes

Size dimension_
std::vector< statistics_type > stats_
std::vector< Real > results_
Matrix quadraticSum_