---
source_url: https://docs.dolphindb.cn/zh/funcs/m/mwavg.html
fetched_at: 2026-05-19T09:33:01Z
category: funcs
title: mwavg
sha1: 24211698e7b5487ff275bc6c84bcde13db4be27d
---

# mwavg

## 语法

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

窗口计算规则请参考：[mFunctions](../themes/mFunctions.html)

## 详情

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

注：

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

## 参数

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

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

**window** 是大于等于 2 的正整型或 DURATION 标量。表示滑动窗口的长度。

注：

在流计算引擎中调用滑动窗口函数时，window 的上限为 102400。

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

## 返回值

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

## 例子

```dolphindb
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]
```

```dolphindb
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 |

```dolphindb
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](../w/wavg.html), [mavg](mavg.html)
