Оконное соединение или использование корзины в KDB для сравнения записей во временном диапазоне - PullRequest
0 голосов
/ 23 октября 2019

У меня есть снимок сделки, где я собираюсь отсканировать другие строки в течение 5 секунд для поиска сделок, которые соответствуют экономике, и на основании этого я хочу пометить снимок сделки

TradeId,Time,CcyPair,BrokerId,Amount
ABC1 ,00:00:03.001,GBPUSD,X,100
ABC2 ,00:00:17.009,USDINR,Y,111
ABC3,00:00:07.006, GBPUSD,X,-100

Сделки 1 и 3в течение 5 секунд и принадлежат одному и тому же брокерскому и валютному парам и имеют равную и противоположную сумму.

Ожидаемые результаты.

TradeId,Time,CcyPair,BrokerId,Amount, Indicator
ABC1 ,00:00:03.001,GBPUSD,X,100,Offset
ABC2 ,00:00:17.009,USDINR,Y,111,NotOffset
ABC3,00:00:07.006, GBPUSD,X,-100,Offset

1 Ответ

0 голосов
/ 24 октября 2019

Вот ответ, который я получил с форума.

update Indicator:?[;`Offset;`Notoffset]0= 
(sum;Amount)fby([]BrokerId;CcyPair;bin[;Time]min[Time]+5000*til count i) from t
...