DolphinDB database最新版提供了cgroup by(cumulative group)功能。
cgroup by子句可进行累计分组计算,第二组的记录包含第一个组的记录,第三个组的记录包含前两组的记录,以此类推。详情请参阅https://www.dolphindb.cn/cn/help/SQLStatements/cgroupby.html
比如正常 group by [1,2,3,4] 会分成 4 组:[1],[2],[3],[4]. 但我现在希望能累积式的分组为 [1],[1,2],[1,2,3],[1,2,3,4]
我的应用场景是这样的:
比如算一天的日内分段的vwap,正常分组可能是 group by bar(time, 30*60*1000),这样得到的是每30min一个bar里的vwap。但现在需要的是累积的,即第一个组算出来是前30min 的vwap,第二个组算出来是前 60min 的vwap,第三个是前 90 min 的,依次类推。