nanstd

Standard deviation ignoring `NaN`s

Syntax

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

Arguments

 `X` Financial times series object. `FLAG` Normalization flag. `DIM` Dimension along which the operation is conducted.

Description

`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 `NaN`s as missing values. `y` is the standard deviation of the non-`NaN` elements of `X`.

`nanstd` normalizes `y` by (`N``1`), 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 `n``1`; set the value of `flag` to `1` to normalize the result by `n`.

Examples

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```