6.17 次序相关的分组:按相邻条件分组

 

对有序集合进行分组时,当分组条件的计算结果为 true 时重新分组。
上证指数 2020 年收盘价最长连续上涨了多少天?(首个交易日指数上涨)。部分数据如下:

DATE CLOSE OPEN VOLUME AMOUNT
2020/01/02 3085.1976 3066.3357 292470208 3.27197122606E11
2020/01/03 3083.7858 3089.022 261496667 2.89991708382E11
2020/01/06 3083.4083 3070.9088 312575842 3.31182549906E11
2020/01/07 3104.8015 3085.4882 276583111 2.88159227657E11
2020/01/08 3066.8925 3094.2389 297872553 3.06517394459E11

函数 A.group() 的选项 @i: 当条件发生变化时重新分组。

脚本:

A
1 =T(“SSEC.csv”)
2 =A1.select(year(DATE)==2020).sort(DATE)
3 =A2.group@i(CLOSE<CLOSE[-1])
4 =A3.max(~.len())

A1:导入上证指数表。
A2:选出 2020 年的记录,并按日期升序排列。
A3:当收盘价小于前日收盘价时重新分组。
A4:计算连续上涨的最大天数。