2016-09-06 46 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