10.4 计算一周的第一日和最后一日

 

计算一周的第一日和最后一日。
当前日期是 2020/02/17,求上证指数上一周的涨幅。部分数据如下:

Date Open Close Amount
2020/02/17 2924.9913 2983.6224 3.67E11
2020/02/14 2899.8659 2917.0077 3.08E11
2020/02/13 2927.1443 2906.0735 3.35E11
2020/02/12 2895.5561 2926.8991 2.98E11
2020/02/11 2894.5414 2901.6744 3.03E11

使用函数 pdate(dateExp) 获得指定日期 dateExp 所在星期 / 月 / 季度的最早的一天和最后的一天。

脚本:

A
1 =file(“sh000001.csv”).import@cqt()
2 =A1.sort(Date)
3 =pdate@w(A2.m(-1).Date)
4 =A2.select@z1(Date<=A3-2)
5 =pdate@w(A4.Date)
6 =A2.select@z1(Date<=A5-2)
7 =A4.Close/A6.Close-1

A1 读取上证指数数据
A2 按日期排序
A3 使用 pdate() 函数的 @w 选项,选出当天(2020/02/17)所在星期的第一天(周日)
A4 从后往前查找上周 5 以前的第 1 条记录,即上一交易周的最后一条记录
A5 求上一个交易周的第一天(周日)
A6 从后往前查找上一个交易周的前一个周 5 的第 1 条记录,即上上交易周的最后一条记录
A7 计算涨幅

运行结果:

Value
0.01427