kdb / q从TAQ数据构建NBBO

时间:2016-09-06 18:18:52

标签: kdb

我有一张桌子,每个股票/场地都有买/卖。类似的东西:

taq:`time xasc ([] time:10:00:00+(100?1000);bid:30+(100?20)%30;ask:30.8+(100?20)%30;stock:100?`STOCK1`STOCK2;exhcnage:100?`NYSE`NASDAQ)

我如何能够从每个交易所的每个交易所获得最佳/买入报价?(/分钟)?

我最初的想法是构建一个表,每个分钟/交换/股票都有一行,并对taq数据进行asof连接。然而,听起来这是一个强力解决方案 - 因为这是一个解决的问题,我想我会问是否有更好的方法。

1 个答案:

答案 0 :(得分:4)

select max bid, min ask by stock,1+minute from 0!select by 1 xbar time.minute,stock,exchange from taq

这将为您提供最高出价,在minute列中以1分钟为间隔询问各个交易所。

唯一棘手的问题是select by 1 xbar time.minute。当你选择没有聚合时,它只会返回最后一行。所以这意味着select last time, last bid, last ask .... by 1 xbar time.minute等等。

因此,在我们按分钟获得最后一个值并进行交换后,我们只需在该分钟的交易所中获得min / max