Skip to content

dev, mdev, sdev

Deviations

dev

Standard deviation

dev x    dev[x]

Where x is a numeric list, returns its standard deviation (as the square root of the variance). Applies to all numeric data types and signals an error with temporal types, char and sym.

q)dev 10 343 232 55
134.3484
q)select dev price by sym from trade

dev is an aggregate function.

The function dev is equivalent to {sqrt var x}.

mdev

Moving deviations

x mdev y    mdev[x;y]

Where

  • x is a positive int atom
  • y is a numeric list

returns the floating-point x-item moving deviations of y, with any nulls after the first item replaced by zero. The first x items of the result are the deviations of the terms so far, and thereafter the result is the moving deviation.

q)2 mdev 1 2 3 5 7 10
0 0.5 0.5 1 1 1.5
q)5 mdev 1 2 3 5 7 10
0 0.5 0.8164966 1.47902 2.154066 2.87054
q)5 mdev 0N 2 0N 5 7 0N    / nulls after the first are replaced by 0
0n 0 0 1.5 2.054805 2.054805

mdev is a uniform function.

sdev

Sample standard deviation

sdev x    sdev[x]

Where x is a numeric list, returns its sample standard deviation as the square root of the sample variance.

sdev(x)=\sqrt{\frac{n}{n-1}var(x)}

Applies to all numeric data types and signals an error with temporal types, char and sym.

q)sdev 10 343 232 55
155.1322
q)select sdev price by sym from trade

sdev is an aggregate function.

The function sdev is equivalent to {sqrt var[x]*count[x]%-1+count x}.


var, svar
Mathematics, Sliding windows
Standard deviation, Variance
Standard deviation