5.1 相邻行的引用

 

对于按照一定次序排列的数据进行计算,经常会遇到跨行引用的情况,比如股票价格相比前一天的涨幅是多少。
SPL 支持在循环计算时,通过相对位置进行相邻记录的引用。
求上证指数每天收盘价较前日上涨了多少。上证指数部分数据如下:

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
1 =T(“SSEC.csv”)
2 =A1.sort(DATE)
3 =A2.derive(CLOSE/CLOSE[-1]:INCREASE)

A1: 导入上证指数表。
A2: 使用函数 sort 按日期排序。
A3: 计算每天股价与前日的涨幅。其中 CLOSE[-1] 表示前日的价格。函数 derive 用于为序表增加计算列。