rowTwavg
首发版本:2.00.19/3.00.6
语法
rowTwavg(X, Y)
row 系列函数通用参数说明和计算规则请参考:rowFunctions
详情
逐行按时间长度加权计算 X 的平均值。
计算公式同 twavg。
参数
X 数值类型。支持数组向量、列式元组和矩阵。
Y 整型或时间类型。支持数组向量、列式元组和矩阵。Y 中非空值必须升序排列。
返回值
返回一个长度与输入参数行数相同的向量。当某行有效元素个数小于 2 时,该行返回空值。
例子
例1:使用列式元组表示多只股票的价格序列和对应时间戳,其中每行对应一只股票,调用 rowTwavg
逐行计算每只股票在该交易时段内的 TWAP(时间加权平均价格)。
// 3 只股票在同一交易时段内的价格序列(列式元组中每行表示一只股票)
prices = (25.10 25.15 25.08 25.20, 80.50 80.60 80.55 80.70, 12.30 12.28 12.35 12.32).setColumnarTuple!()
times = (09:30:00.000 09:30:05.000 09:30:12.000 09:31:00.000, 09:30:00.000 09:30:08.000 09:30:20.000 09:31:00.000, 09:30:00.000 09:30:03.000 09:30:10.000 09:31:00.000).setColumnarTuple!()
// 逐行计算每只股票的 TWAP
rowTwavg(prices, times)
// output: [25.0898,80.5533,12.3393]
例2:使用数组向量表示多台设备的温度读数和对应采样时间,其中每行对应一台设备且采样点数量可以不同。调用
rowTwavg 逐行计算每台设备在观测时间段内的时间加权平均温度。
// 多台设备的温度读数,每行对应一台设备,采样点数量可以不同
temp = array(DOUBLE[], 0, 3)
temp.append!([36.5 36.8 37.2 36.9])
temp.append!([40.1 40.5 40.3])
temp.append!([22.0 22.5 23.0 22.8 22.6])
ts = array(SECOND[], 0, 3)
ts.append!([08:00:00 08:00:10 08:05:00 08:10:00])
ts.append!([08:00:00 08:03:00 08:10:00])
ts.append!([08:00:00 08:02:00 08:04:00 08:06:00 08:10:00])
rowTwavg(temp, ts)
// output: [36.995,40.38,22.62]
