根据TAQ数据,kdb/q大楼NBBO

根据TAQ数据,kdb/q大楼NBBO,kdb,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) 如何在一段时间内(一分钟内)从所有交易所获得每只股票的最佳/买入报价 我最初的想法是构建一个每分钟/exchange/stock有一行的表,并对taq数据进行asof连接

我有一张桌子,上面有每个股票/场地的出价/要价。比如:

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)
如何在一段时间内(一分钟内)从所有交易所获得每只股票的最佳/买入报价

我最初的想法是构建一个每分钟/exchange/stock有一行的表,并对taq数据进行asof连接。然而,在我看来,这是一个蛮力解决方案——既然这是一个已解决的问题,我想我应该问问是否有更好的方法

select max bid, min ask by stock,1+minute from 0!select by 1 xbar time.minute,stock,exchange from taq
这将在
minute
列中以1分钟的间隔为您提供交易所间的最大出价、最小出价

唯一棘手的事情是
按1xbar time.minute选择。当您在没有聚合的情况下选择by时,它将只返回最后一行。所以这实际上意味着
选择最后一次、最后一次出价、最后一次询问。。。。以1xbar的时间。分钟


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

谢谢!我不知道