Skip to content

deltas

Differences between adjacent list items

deltas x    deltas[x]

Where x is a numeric or temporal vector, returns differences between consecutive pairs of its items.

q)deltas 1 4 9 16
1 3 5 7

In a query to get price movements:

update diff:deltas price by sym from trade

With signum to count the number of up/down/same ticks:

q)select count i by signum deltas price from trade
price| x
-----| ----
-1   | 247
0    | 3
1    | 252
domain: b g x h i j e f c s p m d z n u v t
range:  i . i i i j e f . . n i i f n u v t

First predecessor

The predecessor of the first item is 0.

q)deltas 2000 2005 2007 2012 2020
2000 5 2 5 8

It may be more convenient to have 0 as the first item of the result.

q)deltas0:{first[x]-':x}
q)deltas0 2000 2005 2007 2012 2020
0 5 2 5 8

Subtract Each Prior

The derived function -': (Subtract Each Prior) used to define deltas is variadic and can be applied as either a unary or a binary.

However, deltas is supported only as a unary function. For binary application, use the derived function.


deltas, differ, Each Prior, ratios