如果问题不相关我很抱歉我不熟悉KDB +并且想知道kdb +是否提供了以n个间隔发布聚合的tick数据的功能,以便其他进程现在可以使用这些数据。
感谢。
答案 0 :(得分:1)
虽然q
对于这类事情非常强大,但并非开箱即用!
您必须修改tick.q
才能执行此操作。不幸的是,如果您是q的新手,那么文件对您来说不是一个快乐的读物:)
默认情况下tick.q
将数据保留在内存中1秒钟然后发布。如果您希望它,例如,每隔60秒发布一次汇总数据
-t
设置为60000
,以便它的计时器每60秒运行一次(否则直接在脚本中执行\t 60000
).u.pub
以汇总数据,而不是简单地将表格抽出给听众,例如0!select max price, min price, first price, last price by sym, time.minute from t
修改强>
重新阅读您的问题之后,您要求对每个n
行进行汇总 - 如果您真的想要这样做,那么最好在您的查询中汇总而不是获取您的tickerplant聚合和发布。原因是它比上面的要复杂得多,因为你需要保持一个计数,以便你知道何时聚合。
如果内存不是问题,请使用i
作为"行计数管理员"保留原始数据并在查询中汇总实时数据库。和xbar
,例如汇总1000行:
select Low:min price, High:max price by Bucket:1000 xbar i from
aTable where sym=`abc, (`time$time) within (09:00;10:00)