df-drills pandas · Polars · DuckDB SQL · DuckDB Relational 题目列表 登录

行窗口滑动平均

中等 16-window-cumulative 窗口:累计与滑动 rollingmoving-averagemin-periodsrows-frame

计算每只股票收盘价的 3 行滑动平均 ma3。

  • 每只股票按 date 排序,窗口是最近 3 行:当前行和它前面的 2 行(按行数算,不管中间隔了几天)。
  • 不足 3 行时也计算:每只股票的第 1 行就是它自己的 close,第 2 行是前两行的平均。
  • 窗口里 close 为 null 的行不参与平均(分母只数非 null 的值);窗口里全是 null 时 ma3 为 null。
  • 表里的行不保证有序。

输入

  • prices(ticker, date, open, high, low, close, volume)

输出

列为 ticker, date, ma3,每行输入对应一行输出,行顺序不限。

输入表 (case base,共 2 个 case:base、edge)

prices stocks/prices
#tickerstringdatedateopenfloat64highfloat64lowfloat64closefloat64volumeint64
1 AAPL 2026-06-01 189.58 190.97 188.93 190.66 7374313
2 AAPL 2026-06-02 191.71 195.6 191.42 194.12 1753601
3 AAPL 2026-06-03 194.95 196.13 193.04 193.67 2817746
4 AAPL 2026-06-04 194.03 194.88 187.39 189.08 2783341
5 AAPL 2026-06-05 189.72 193.66 189.02 193.14 8942829
6 AAPL 2026-06-08 192.9 193.62 188.21 188.64 1357786
7 AAPL 2026-06-09 188.63 189.8 185.9 188.98 5482117
8 AAPL 2026-06-10 189.78 191.79 188.78 191.45 1430484
9 AAPL 2026-06-11 191.12 193.18 190.85 192.68 7642427
10 AAPL 2026-06-12 191.04 193.87 190.02 193.37 2476587
11 AAPL 2026-06-15 193.53 195.45 193.24 193.68 1680820
12 AAPL 2026-06-16 194.69 195.53 192.04 193.09 4196575
13 AAPL 2026-06-17 192.64 196.25 191.03 195.73 1464728
14 AAPL 2026-06-18 195.19 196.94 192.23 192.74 2059908
15 AAPL 2026-06-19 192.02 196.01 191.78 195.55 8247165
16 AAPL 2026-06-22 195.28 196.64 188.45 null 2043265
17 AAPL 2026-06-23 190.64 191.82 190.11 191.55 2220638
18 AAPL 2026-06-24 192.95 193.43 189.2 190.21 2962146
19 AAPL 2026-06-25 190.43 190.7 188.71 189.26 1607246
20 AAPL 2026-06-26 189.15 189.58 188.4 189.15 4162289
显示前 20 行,共 296 行

期望输出 (case base,行顺序不限)

#tickerStringdateDatema3Float64
1 BABA 2026-06-01 85.21
2 BABA 2026-06-02 85.76
3 BABA 2026-06-03 86.16
4 BABA 2026-06-04 86.39333333
5 BABA 2026-06-05 85.78
6 BABA 2026-06-08 84.81666667
7 BABA 2026-06-09 84.1
8 BABA 2026-06-10 83.41666667
9 BABA 2026-06-11 82.95666667
10 BABA 2026-06-12 82.95333333
11 BABA 2026-06-15 83.89333333
12 BABA 2026-06-16 85.20666667
13 BABA 2026-06-17 86.29666667
14 BABA 2026-06-18 86.67333333
15 BABA 2026-06-19 86.54333333
16 BABA 2026-06-22 86.02666667
17 BABA 2026-06-23 85.55
18 BABA 2026-06-24 85.22
19 BABA 2026-06-25 85.49333333
20 BABA 2026-06-26 85.38
21 BABA 2026-06-29 85.43333333
22 BABA 2026-06-30 85.88
23 BABA 2026-07-01 86.91666667
24 BABA 2026-07-02 88.01
25 BABA 2026-07-06 88.08333333
26 BABA 2026-07-09 88.65666667
27 BABA 2026-07-10 89.35
28 BABA 2026-07-13 90.57666667
29 BABA 2026-07-14 91.46333333
30 BABA 2026-07-15 92.03666667
31 BABA 2026-07-16 92.53666667
32 BABA 2026-07-17 93.85
33 BABA 2026-07-20 95.11666667
34 BABA 2026-07-21 96.39
35 BABA 2026-07-22 97.38
36 BABA 2026-07-23 98.08666667
37 BABA 2026-07-24 98.16
38 BABA 2026-07-27 98.19333333
39 BABA 2026-07-28 99.15333333
40 BABA 2026-07-29 100.4366667
41 BABA 2026-07-30 101.2833333
42 BABA 2026-07-31 100.7633333
43 BABA 2026-08-03 100.25
44 BABA 2026-08-04 99.67666667
45 BABA 2026-08-05 100.4333333
46 BABA 2026-08-06 102.19
47 BABA 2026-08-07 104.3366667
48 BABA 2026-08-10 105.7433333
49 BABA 2026-08-11 105.9066667
50 BABA 2026-08-12 105.2066667
显示前 50 行,共 296 行