Standard deviation ignoring NaNs


y = nanstd(X)
y = nanstd(X,1)
y = nanstd(X,FLAG,DIM)



Financial times series object.


Normalization flag.


Dimension along which the operation is conducted.


nanstd for financial times series objects is based on the Statistics and Machine Learning Toolbox™ function nanstd. See nanstd in the Statistics and Machine Learning Toolbox documentation.

y = nanstd(X) returns the sample standard deviation of the values in a financial time series object X, treating NaNs as missing values. y is the standard deviation of the non-NaN elements of X.

nanstd normalizes y by (N1), where N is the sample size. This is the square root of an unbiased estimator of the variance of the population from which X is drawn, as long as X consists of independent, identically distributed samples and data are missing at random.

y = nanstd(X,1) normalizes by N and produces the square root of the second moment of the sample about its mean. nanstd(X,0) is the same as nanstd(X).

y = nanstd(X,flag,dim) takes the standard deviation along the dimension dim of X. Set the value of flag to 0 to normalize the result by n1; set the value of flag to 1 to normalize the result by n.


To compute nanstd for the following dates:

dates = {'01-Jan-2007';'02-Jan-2007';'03-Jan-2007'};
f = fints(dates, magic(3));
f.series1(1) = nan;
f.series2(3) = nan;
f.series3(2) = nan;

nstd = nanstd(f)
nstd =

          0.71          2.83          2.83

Related Examples

See Also

| | | | |

Introduced before R2006a

Was this topic helpful?