BloombergLP::bdlsta::Moment<BloombergLP::bdlsta::MomentLevel::e_M2>

This class provides efficient and accurate online algorithms for calculating mean, variance, skew, and kurtosis. The class provides template specializations, so that no unnecessary data members will be kept or unnecessary calculations done. The online algorithms used are Welford for variance, and the stable M3 and M4 are taken from: https://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Higher-order_statistics

Synopsis

Declared in <bdlsta_moment.h>

template<>
class Moment<BloombergLP::bdlsta::MomentLevel::e_M2>;

Description

The formula for sample skewness is taken from: http://www.macroption.com/skewness-formula/

The formula for sample excess kurtosis is taken from: http://www.macroption.com/kurtosis-formula/

Enums

NameDescription
Unnamed enum Status codes returned by statistical computations.

Member Functions

NameDescription
add Add the specified value to the data set.
count Returns the number of elements in the data set.
kurtosis Return the kurtosis of the data set. The behavior is undefined unless 4 <= count and the variance is not zero.
kurtosisIfValid Load into the specified result, the kurtosis of the data set. Return 0 on success, and a non-zero value otherwise. Specifically, e_INADEQUATE_DATA is returned if 4 > count or the variance is zero.
mean Return the mean of the data set. The behavior is undefined unless 1 <= count.
meanIfValid Load into the specified result, the mean of the data set. Return 0 on success, and a non-zero value otherwise. Specifically, e_INADEQUATE_DATA is returned if 1 > count.
skew Return skew of the data set. The behavior is undefined unless 3 <= count or the variance is zero.
skewIfValid Load into the specified result, the skew of the data set. Return 0 on success, and a non-zero value otherwise. Specifically, e_INADEQUATE_DATA is returned if 3 > count or the variance is zero.
variance Return the variance of the data set. The behavior is undefined unless 2 <= count.
varianceIfValid Load into the specified result, the variance of the data set. Return 0 on success, and a non-zero value otherwise. Specifically, e_INADEQUATE_DATA is returned if 2 > count.