Skip to content

已弃用 (2026-05-25) —— 该算子是 Layer-1 变换、非 Layer-0 原子输入,已并入 drawdown_series_v1。保留作历史。

做什么(One-liner)

从日 returns 算回撤序列 + 最大回撤。库级 primitive,portfolio 风险度量核心依赖。

怎么用

python
from services.algo.time_series import drawdown_series
dd_series, max_dd = drawdown_series(returns)
# max_dd = -0.23 means 23% max drawdown

核心公式

cum_t = Π(1 + r_i) for i in 1..t  (起始 1.0)
running_max_t = max(cum_1, ..., cum_t)
dd_t = (cum_t - running_max_t) / running_max_t   ∈ (-1, 0]
max_dd = min(dd_series)

假设与适用场景

假设:simple returns(非 log) + compounding + 起始 1.0。

适用:backtest 绩效、CPPI、基金 fact-sheet。

不适用:价格序列输入、log returns、n<2。

已知局限

  1. 无 recovery 时间输出
  2. 起始点 1.0(非实际资本)
  3. log returns 会有 second-order 误差

参考文献

Magdon-Ismail & Atiya (2004) + Chekhlov et al. (2005) 优化嵌入。

Golden Test

tests/golden/fixtures/tier1/drawdown_series/,1e-12 tolerance,2026-04-20 passing。

Changelog

  • 1.0.0 (2026-04-20) — 首次 Active

Verifiable intelligence for the decisions that demand scrutiny.