3.15 序列间运算:多个序列中成员的对位计算
多个序列中,相同位置成员间的四则运算。
求 2019 年 12 月 24 日到 26 日深证 300 (399007) 对深证成指 (399001) 的每日相对收益率。
Date | Code | Name | Open | Close | Amount |
---|---|---|---|---|---|
2020/2/18 | 399001 | Shenzhen | 11244.7651 | 11306.4863 | 3.19E+11 |
2020/2/17 | 399001 | Shenzhen | 10974.9328 | 11241.4993 | 3.12E+11 |
2020/2/14 | 399001 | Shenzhen | 10854.4551 | 10916.3117 | 2.77E+11 |
2020/2/13 | 399001 | Shenzhen | 10936.5011 | 10864.3222 | 2.87E+11 |
2020/2/12 | 399001 | Shenzhen | 10735.0475 | 10940.7952 | 2.66E+11 |
… | … | … | … | … | … |
使用了 A ?? B 对两序列成员按位进行 "?" 运算,其中?{+,-,*,/,%,}。
脚本:
A | |
---|---|
1 | =connect(“db”) |
2 | =[“399007”,“399001”].(A1.query(“select * from StockIndex where code=? and date between ‘2019-12-23’ and ‘2019-12-26’”,~)) |
3 | >A1.close() |
4 | =A2.(~.calc(to(2,4),Close/Close[-1])) |
5 | =A4(1)–A4(2) |
A1 连接数据源
A2 读取深证 300 和深证成指在 2019 年 12 月 23 日到 26 日的数据,取 23 日是为了计算涨幅
A3 分别计算 24 到 26 日每天的涨幅
A4 两个序列对位相减,即是相对收益率
运行结果:
Member |
---|
0.0031349096521252617 |
0.0011897141619391371 |
-4.4910504685946595E-4 |