### A free/open-source library for quantitative finance

Public Types | Protected Attributes
IncrementalStatistics Class Reference

Statistics tool based on incremental accumulation. More...

`#include <ql/math/statistics/incrementalstatistics.hpp>`

List of all members.

## Public Types

typedef Real | value_type

## Public Member Functions

Inspectors
Size | samples () const
| number of samples collected
Real | weightSum () const
| sum of data weights
Real | mean () const
Real | variance () const
Real | standardDeviation () const
Real | errorEstimate () const
Real | skewness () const
Real | kurtosis () const
Real | min () const
Real | max () const
Real | downsideVariance () const
Real | downsideDeviation () const
Modifiers
void | add (Real value, Real weight=1.0)
| adds a datum to the set, possibly with a weight
template<class DataIterator >
void | addSequence (DataIterator begin, DataIterator end)
| adds a sequence of data to the set, with default weight
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
void | reset ()
| resets the data to a null set

## Protected Attributes

Size | sampleNumber_
Size | downsideSampleNumber_
Real | sampleWeight_
Real | downsideSampleWeight_
Real | sum_
Real | quadraticSum_
Real | downsideQuadraticSum_
Real | cubicSum_
Real | fourthPowerSum_
Real | min_
Real | max_

## Detailed Description

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

Warning:
  high moments are numerically unstable for high average/standardDeviation ratios.

## Member Function Documentation

Real mean | ( |  | ) | const

returns the mean, defined as

Real variance | ( |  | ) | const

returns the variance, defined as

Real standardDeviation | ( |  | ) | const

returns the standard deviation , defined as the square root of the variance.

Real errorEstimate | ( |  | ) | const

returns the error estimate , defined as the square root of the ratio of the variance to the number of samples.

Real skewness | ( |  | ) | const

returns the skewness, defined as

The above evaluates to 0 for a Gaussian distribution.

Real kurtosis | ( |  | ) | const

returns the excess kurtosis, defined as

The above evaluates to 0 for a Gaussian distribution.

Real min | ( |  | ) | const

returns the minimum sample value

Real max | ( |  | ) | const

returns the maximum sample value

Real downsideVariance | ( |  | ) | const

returns the downside variance, defined as

, where = 0 if x > 0 and =1 if x <0

Real downsideDeviation | ( |  | ) | const

returns the downside deviation, defined as the square root of the downside variance.

void add | ( | Real | value,
|  | Real | weight = `1.0`
| ) |  |

adds a datum to the set, possibly with a weight

Precondition:
  weight must be positive or null

void addSequence | ( | DataIterator | begin,
|  | DataIterator | end,
|  | WeightIterator | wbegin
| ) |  |

adds a sequence of data to the set, each with its weight

Precondition:
  weights must be positive or null