在根据时间做聚合的时候,如何填充缺失时刻的记录

请教一个k线聚合的问题,我按照symbol ,设定的等成交量bar,和1s的等时间bar去做聚合。假设出来的结果中间某一秒没有数据的话,我希望能查到这个缺失的时刻,用前一行的数据填充它,来保证我得到结果描述是连续的。请问要怎么做?

attachments-2023-03-2cTrAfAy641171c13d343.png

attachments-2023-03-ZxDLKn4b641171f1b059e.PNG

请先 登录 后评论

1 个回答

SaintM

您可以使用 interval 函数代替 bar 来做时间间隔的聚合。interval() 的函数说明链接: interval — DolphinDB 2.0 documentation

我写了一个简单的例子,可以运行一下看看 bar 和 interval 效果的区别。
attachments-2023-03-j6u1Mjj3641172c48756f.png

col1 = 2021.01.01T01:00:01.001 2021.01.01T01:00:01.002 2021.01.01T01:00:03.001 2021.01.01T01:00:03.002 2021.01.01T01:00:04.001 2021.01.01T01:00:04.002 2021.01.01T01:00:05.001 2021.01.01T01:00:05.002 2021.01.01T01:00:06.001 2021.01.01T01:00:06.002
col2 = rand(1.0, 10)
tb = table(col1 as time, col2 as price)

tb2 = select avg(price) from tb group by bar(time, 1s, "right") as minu

tb3 = select avg(price) from tb group by interval(time, 1s, "prev") as minu
请先 登录 后评论
  • 1 关注
  • 0 收藏,720 浏览
  • Margo 提出于 2023-03-15 15:21

相似问题