溃疡指数(Ulcer Index):专注下跌风险的波动性衡量工具
在金融市场中,传统波动性指标如标准差、平均真实波动范围(ATR)等,同等对待涨跌波动,但这在实战中存在盲区——投资者真正焦虑的是回撤与亏损。因此,Peter Martin 提出了专注衡量下跌波动的 Ulcer Index(溃疡指数)。
相比普通波动性指标,Ulcer Index 更关注“痛点”:价格相较高点回撤的深度与持续性,是一项非常适合评估持仓风险和下行压力的技术分析工具。
一、什么是溃疡指数(Ulcer Index)?
Ulcer Index(UI) 是一项衡量投资组合下跌幅度与持续时间的波动指标。它不是衡量涨跌幅平均值,而是专注在“从峰值下滑的幅度”上,因此特别适用于衡量:
- 回撤强度(Drawdown Severity)
- 下跌期间的投资“压力”
- 风险调整后的表现对比(尤其在基金评估中使用广泛)
二、Ulcer Index 的计算公式
Ulcer Index 是 平方根平均法(RMS,Quadratic Mean) 计算的回撤值:
$$ UI = \sqrt{ \frac{1}{n} \sum_{i=1}^{n} \left( \frac{Pi - P{\text{max},i}}{P_{\text{max},i}} \times 100 \right)^2 } $$
其中:
- $P_i$:第 $i$ 天的收盘价
- $P_{\text{max},i}$:当前周期内的最高收盘价
- $n$:窗口期(一般为 14 天)
该指标在实际中提供的数值越高,表示价格离高点回撤越严重,市场越“痛苦”。
三、pandas_ta 中的 Ulcer Index 参数说明
使用 pandas_ta.ulcer_index()
可方便调用:
import pandas_ta as ta
ui = ta.ulcer_index(close=df["Close"], length=14)
参数名 | 类型 | 描述 | 默认值 |
---|---|---|---|
close |
Series | 收盘价序列,必须提供 | 必需 |
length |
int | 回撤窗口期(周期长度) | 14 |
scalar |
float | 缩放因子,一般为 100(结果以百分比表达) | 100 |
offset |
int | 偏移量,用于结果移动 | 0 |
everget |
bool | 是否使用 TradingView 风格的最高点计算方式 | False |
四、返回结果格式说明
该函数返回 pandas.Series
,列名类似于:
UI_14
其中 “14” 表示周期长度,可根据实际需要设定为 10、20、30 等。
五、Python 实战:Ulcer Index 实例分析
import pandas as pd
import pandas_ta as ta
import matplotlib.pyplot as plt
# 加载历史数据
df = pd.read_csv("AAPL.csv", index_col="Date", parse_dates=True)
# 计算 Ulcer Index
df["Ulcer_Index"] = ta.ulcer_index(df["Close"], length=14)
# 可视化
plt.figure(figsize=(14,6))
plt.plot(df["Ulcer_Index"], label="Ulcer Index (UI)", color="purple")
plt.title("溃疡指数(Ulcer Index)——专注下跌风险的指标")
plt.ylabel("下跌波动百分比")
plt.grid(True)
plt.legend()
plt.show()
六、Ulcer Index 的实战用途
✅ 1. 策略评估:避免“高波低收益”的陷阱
- 两个策略收益率相似,UI 值越低,表明它的回撤更小、风险更低;
- 常用于构建 Ulcer Performance Rating(UPR),衡量风险调整收益。
✅ 2. 多策略筛选与排序
- 当多个股票或基金年化收益相近时,可以使用 Ulcer Index 作为排序依据;
- UI 越小的标的,更值得长期持有。
✅ 3. 优化止损 & 回撤预警机制
- 若 UI 突然上升,代表市场处于较强下行波动中;
- 可作为风控触发信号或止损辅助线。
七、Ulcer Index 与标准波动指标对比
指标名称 | 衡量内容 | 涨跌是否对称 | 风险聚焦方向 | 实用场景 |
---|---|---|---|---|
Ulcer Index | 回撤振幅(负向) | ❌ 否 | ✅ 专注下跌 | 投资风险评估、基金筛选、止损设置 |
ATR | 实际价格波动 | ✅ 是 | 无偏方向 | 止损点、波动带宽度判断 |
标准差(STD) | 均值上下偏移 | ✅ 是 | 无偏方向 | 震荡识别、布林带构建 |
八、总结:波动性不是问题,下跌才是压力来源
📌 对于风险厌恶型交易者和基金评估者来说,Ulcer Index 比 ATR 更贴近实际体验。
📌 它真实反映投资者心理压力所在:不是涨太快,而是跌得太深、持续太久。
📌 无论你是构建资产配置组合,还是构建多策略选股系统,Ulcer Index 都是你不可忽略的波动性指标之一。