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
q)deltas 2000 2005 2007 2012 2020
2000 5 2 5 8


The predecessor of the first item is 0. It is often 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


In a query to get price movements:

q)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


Subtract Each Prior

The derived function -': (Subtract Each Prior) used to defined 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.