---
source_url: https://docs.dolphindb.cn/zh/funcs/c/cummdd.html
fetched_at: 2026-05-19T09:17:36Z
category: funcs
title: cummdd
sha1: 73215a1a54debbf282d713edb4637f97421973d9
---

# cummdd

## 语法

`cummdd(X, [ratio=true])`

## 详情

累计计算传入向量数据的最大回撤。

## 参数

**X** 数值向量，表示用于计算最大回撤的输入数据，一般指累积的收益或收益率。注意：不可为空。

**ratio** 布尔标量，表示是否返回最大回撤率。默认值为 true。

- 若为 true，表示返回最大回撤率，即相对于峰值的最大下降百分比，计算公式为：

    

  ![](../images/mdd1.png)
- 若为 false，表示返回基于下降金额绝对值的最大回撤，计算公式为：

    

  ![](../images/mdd2.png)

注意：计算时将忽略空值。

窗口计算规则请参考: [累计窗口系列（cum 系列）](../themes/cumFunctions.html)

## 返回值

DOUBLE 类型向量。

## 例子

假设有一个投资组合在一段时间内的累积收益变化如下（以天为单位）：

| 日期 | 累积收益 |
| --- | --- |
| 2024-10-01 | 36 |
| 2024-10-02 | 96 |
| 2024-10-03 | 42 |
| 2024-10-04 | 100 |
| 2024-10-05 | 59 |
| 2024-10-06 | 86 |
| 2024-10-07 | 25 |
| 2024-10-08 | 72 |

使用 `cummdd`
计算该数据的累计最大回撤。

```dolphindb
x = [36,96,42,100,59,86,25,64,72]
cummdd(x)
// Output: [0,0,0.5625,0.5625,0.5625,0.5625,0.75,0.75,0.75]
cummdd(x, false)
// Output: [0,0,54,54,54,54,75,75,75]
```

相关函数：[maxDrawdown](../m/maxdrawdown.html)
