作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张表格,其中包含每个股票/地点的出价/要价。像这样的东西:
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 连接。然而,在我看来这是一个蛮力解决方案 - 因为这是一个已解决的问题,我想我会问是否有更好的方法。
最佳答案
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
。当您选择没有聚合的方式时,它只会返回最后一行。所以这实际上意味着 选择上次、上次出价、上次要价....按 1 xbar time.minute
等。
因此,在我们按分钟和交易所获取最后一个值后,我们只需获取那一分钟跨交易所的 min
/max
。
关于kdb/q 从 TAQ 数据构建 NBBO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39355451/
我有一张表格,其中包含每个股票/地点的出价/要价。像这样的东西: taq:`time xasc ([] time:10:00:00+(100?1000);bid:30+(100?20)%30;ask:
我是一名优秀的程序员,十分优秀!