Window join
wj [w; c; t; (q; (f0;c0); (f1;c1))]
wj1[w; c; t; (q; (f0;c0); (f1;c1))]
Where
t and q are simple tables to be joined (q should be sorted `sym`time
with `p# on sym)
w is a pair of lists of times/timestamps, begin and endc are the names of the common columns, syms and times, which must have integral typesf0, f1 are aggregation functions applied to values in q columns c0,c1
over the intervals
returns for each record in t, a record with additional columns c0 and c1,
which are the results of the aggregation functions applied to values over the matching intervals in w.
Typically this might be:
wj[w;`sym`time;trade;(quote;(max;`ask);(min;`bid))]
A quote is understood to be in existence until the next quote.