Я думаю, что если вы измените aj[`time;q;t]
, вы не сможете изменить столбец qty
, поскольку таблица t
не содержит его.Вместо этого вам может понадобиться использовать более «традиционный» aj[`time;t;q]
:
q)@[;`time;+;00:00:01]aj[`time;@[t;`time;-;00:00:01];q]
time sym px qty
-------------------
10:01:00 ibm 10 100
10:01:00 ibm 20 100
10:01:02 ibm 25 300
. Это сдвигает времена, чтобы избежать совпадения, когда они равны, но не содержит строки для каждой цитаты, которую вы имели в начале.
Я думаю, что если вы хотите объединить сделки в кавычки, а не в кавычки на сделки, как я это сделал, вам, возможно, придется подумать о каком-либо способе дифференциации двух сделок, которые происходят одновременно, как в вашем примере.Одним из способов сделать это может быть использование поступившего ордера, то есть сопоставление первой котировки с первой сделкой.