两个表window join之后各个window内某一列的top5个值之和?

我的需求是红框里的这个值计算方式:window是蓝框选中的6个值,红框里是这6个值当中最大的5个值,这五个值求和是要的结果。
attachments-2021-05-0D3wnPKp60ac6c45030ae.png

t1 = table(`A`A`B as sym, 09:56:06 09:56:07 09:56:06 as time, 10.6 10.7 20.6 as price)

t2 = table(take(`A,10) join take(`B,10) as sym, take(09:56:00+1..10,20) as time, (10+(1..10)\10-0.05) join (20+(1..10)\10-0.05) as bid, (10+(1..10)\10+0.05) join (20+(1..10)\10+0.05) as offer, take(100 300 800 200 600, 20) as volume);

wj(t1, t2, -5:0, sum of top 5 max(bid), `sym`time)

我应用的是DolphinDB软件。

请先 登录 后评论

1 个回答

Jax Wu

滑动窗口计算:6个值求和,再减去6个中最小那个。

请先 登录 后评论