mwavg

语法

mwavg(X, Y, window, [minPeriods])

窗口计算规则请参考:mFunctions

详情

在给定长度(以元素个数或时间长度衡量)的滑动窗口内,以 Y 为权重(权重会自动缩放,使其元素之和为1),计算 X 元素的加权平均。

注:
mavg 以 size(weight) 长度的窗口进行滑动窗口计算不同,mwavg 的权重 Y 必须和 X 具有相同的长度。

参数

X 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。

Y 是一个向量/矩阵/表/元组(元素为标量或等长向量)/字典。

window 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。
注:
在流计算引擎中调用滑动窗口函数时,window 的上限为 102400。

minPeriods 是一个正整数。为滑动窗口中最少包含的观测值数据。

返回值

  • 输入为向量时,返回一个与输入等长的 DOUBLE 类型向量。
  • 输入为矩阵时,返回一个与输入矩阵同维度的矩阵,每列分别计算。
  • 输入为表时,返回一个与输入表结构相同的表。
  • 输入为元组时,返回对应的元组结构。

例子

price=2.1 2.2 2.3 2.5 2.6 2.8 2.7 2.5;
volume=10 20 10 40 10 40 10 20;
mwavg(price, volume, 4);
// output: [,,,2.35,2.4125,2.61,2.65,2.6875]

mwavg(price, volume, 4, 2);
// output: [,2.166667,2.2,2.35,2.4125,2.61,2.65,2.6875]
price1 = indexedSeries(date(2020.06.05)+1..8, price)
volume1 = indexedSeries(date(2020.06.05)+1..8, volume)
mwavg(price1,volume1, 4d)
label col1
2020.06.06 2.1
2020.06.07 2.1667
2020.06.08 2.2
2020.06.09 2.35
2020.06.10 2.4125
2020.06.11 2.61
2020.06.12 2.65
2020.06.13 2.6875
mwavg(price1,volume1, 1w)
label col1
2020.06.06 2.1
2020.06.07 2.1667
2020.06.08 2.2
2020.06.09 2.35
2020.06.10 2.3788
2020.06.11 2.5077
2020.06.12 2.5214
2020.06.13 2.5467

相关函数:wavg, mavg