Ulcer Index 的一个实际计算示例是什么?
直接答案
Ulcer Index 的一个实际计算示例,始于选择一个固定的观察窗口和该窗口内的“峰值”值。然后将每个周期相对于运行峰值的下跌转换为回撤百分比。最后,将这些回撤百分比合并为一个数字,反映回撤的幅度和频率。
由于具体计算虽然直接,但输入选择并不明确,因此每个实际示例都依赖于明确的假设:包含哪些日期、什么构成“价格”序列值,以及如何定义运行峰值。
机制:定义与逐步方法
Ulcer Index 是一种专注于回撤的波动性类风险指标。其核心思想很简单:它对低于最近峰值的下跌进行惩罚。
一种常见的计算方法使用以下要素,针对 N 个周期的价格时间序列(或任何单调可比的指数值):
- 按顺序选择 N 个观测值:P1, P2, …, PN。
- 计算每个周期 i 的运行峰值:Hi = max(P1, …, Pi)。
- 计算每个周期 i 的回撤百分比(相对于运行峰值):
- Di = (Pi − Hi) / Hi
- 当 Pi 等于运行峰值时,Di 为 0;低于峰值时为负值。
- 通过对回撤百分比平方,将其转换为非负数:
- Di^2 = (Pi − Hi)^2 / Hi^2
- 对 N 个周期的平方回撤取平均值并开平方根:
- Ulcer Index = sqrt( (1/N) * Σ(i=1..N) Di^2 )
重要提示:此示例假设 Ulcer Index 是根据所选窗口内价格导出的回撤百分比计算的,且运行峰值仅在窗口内达到新高时重置。
数值计算示例(含明确假设)
假设你在 N = 5 个周期内观察一个价格序列。你直接使用价格值 P1..P5,并在这些五个周期内相对于运行峰值测量回撤。
假设
- 序列为:P = [100, 110, 105, 95, 120]。
- N = 5(不超出这些点)。
- 你仅在窗口内计算运行峰值 Hi。
- Ulcer Index 使用回撤百分比 Di = (Pi − Hi)/Hi 计算。
现在逐周期计算:
-
第1周期:P1 = 100
- H1 = max(100) = 100
- D1 = (100 − 100)/100 = 0
- D1^2 = 0
-
第2周期:P2 = 110
- H2 = max(100,110) = 110
- D2 = (110 − 110)/110 = 0
- D2^2 = 0
-
第3周期:P3 = 105
- H3 = max(100,110,105) = 110
- D3 = (105 − 110)/110 = −5/110 = −0.0454545
- D3^2 ≈ 0.00206612
-
第4周期:P4 = 95
- H4 = max(…,95) = 110
- D4 = (95 − 110)/110 = −15/110 = −0.1363636
- D4^2 ≈ 0.01859504
-
第5周期:P5 = 120
- H5 = max(…,120) = 120
- D5 = (120 − 120)/120 = 0
- D5^2 = 0
平均平方回撤:
- (1/5) * (0 + 0 + 0.00206612 + 0.01859504 + 0)
- = (1/5) * 0.02066116
- ≈ 0.004132232
Ulcer Index:
- sqrt(0.004132232) ≈ 0.0643
因此,在这些假设下,此5周期窗口的 Ulcer Index 约为 0.064(无量纲,由平方回撤百分比导出)。
如果你更改任何假设——例如增加更多周期、使用不同的输入序列(如收益率而非价格),或使用不同的峰值定义——即使回撤的“感觉”相似,计算值也可能改变。
局限性与验证:可能出现的问题
一个实际示例可帮助你机械地计算 Ulcer Index,但并不能保证其对未来行为的预测。
主要局限性和失效模式包括:
- 窗口依赖性:运行峰值在所选窗口内计算。延长窗口可能因早期峰值变化而影响未来回撤百分比,从而降低或提高指数。
- 输入定义:你使用的“价格”序列值(收盘价 vs. 其他指标,或转换后的序列)会改变回撤,从而改变 Ulcer Index。
- 解释风险:单个数字总结了回撤深度的变异性,但无法说明回撤发生的原因、恢复速度,或是否存在其他风险维度(如上行波动性)的差异。
- 无预测承诺:历史回撤与未来结果之间的关系,并不能证明该指数未来会以相同方式表现。