2016-09-06 47 views
3

我有一个表格,包含每个股票/场地的出价/询问。喜欢的东西:kdb/q从TAQ数据建立NBBO

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数据上进行自动加入。然而,听起来这是一个蛮力的解决方案 - 因为这是一个解决的问题,我想我会问是否有更好的方法。

回答

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对面交流的那一分钟。

+0

谢谢!不知道 – user1167650