Skip to content

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

做什么(One-liner)

Bollinger Bands upper/middle/lower,20 日 SMA + 2σ envelope。

怎么用

python
from services.algo.technical import compute_bollinger
upper, middle, lower = compute_bollinger(prices, period=20, num_std=2.0)

核心公式

middle = prices.rolling(20).mean()
std = prices.rolling(20).std(ddof=0)
upper = middle + 2×std
lower = middle - 2×std

假设与适用场景

假设:Bollinger 20/2σ defaults + ddof=0 + pandas-ta 等价。

适用:mean reversion 信号、breakout 识别、volatility envelope。

不适用:n<20、trending(bands hug price)。

已知局限

  1. ddof 选择敏感
  2. 20/2σ 硬编码
  3. pandas-ta 依赖

参考文献

Bollinger (2001) 原著 + Murphy (1999) 教科书。

Golden Test

tests/golden/fixtures/tier1/compute_bollinger/,1e-10,2026-04-20 passing。

Changelog

  • 1.0.0 (2026-04-20) — BUG-GOLDEN-002 修复 + 首次 Active

Verifiable intelligence for the decisions that demand scrutiny.