Kaufman效率比率的高级考量
定义及KER衡量的内容
Kaufman效率比率(KER)是一种描述性统计量,旨在量化固定回溯窗口内价格变动的“效率”。通俗地说,它将窗口内第一个和最后一个价格之间的距离(净变动)与该窗口内所有相邻价格之间变动的总和(总变动)进行比较。当净变动相对于总变动较大时,比率趋于较高;当价格“徘徊”并回到起点附近时,比率趋于较低。
一个实际含义是,KER本身并不是一种预测工具。它使用固定的计算规则总结过去窗口的价格形态。如果你想评估其对未来行为的可能意义,必须将其视为一个独立的、可检验的问题,而不是公式本身的内置属性。
机制:输入、计算结构和假设
KER的数值输出取决于多个实现选择:
-
价格序列定义。KER使用特定的价格输入(例如,收盘价序列)。如果你从收盘价切换到其他序列(如中间价或典型价格),中间变动和净变动将不同,从而改变比率。
-
回溯长度(窗口大小)。回溯窗口决定了你测量净变动和总变动的时间范围。较短的窗口对局部方向变化和噪声反应迅速;较长的窗口可平滑短期波动,但可能稀释近期的制度变化。
-
绝对变动的总和。“总变动”部分通常由窗口内连续数据点之间绝对差值的总和构成。这一选择很重要,因为它将上涨和下跌的变动视为相加的“变动”,即使它们在净变动中相互抵消。
-
处理零总变动(边缘情况)。如果窗口内的总变动为零,按照通常的“净变动除以总变动”结构,比率将变为未定义。实现时必须明确说明这种情况下的处理方式(例如,输出中性值或标记为缺失)。这一选择会影响后续分析。
任何示例中必须明确说明的假设:你必须定义数据频率(例如,每根K线一个值)、价格类型、回溯长度以及“总变动”的确切规则和任何零总变动的处理方法。没有这些假设,两个计算器即使声称计算同一指标,也可能产生不同的KER值。
高级考量:依赖性和边缘情况
尽管KER的机制简单,但当实际数据和实现细节偏离理想假设时,解释可能变得脆弱。
1) 市场微观结构和不规则更新
KER假设有一致的观察序列。实际上,数据流可能产生缺失的K线、非交易时段或不规则的时间戳。如果你使用相同的回溯计数计算有间隔的K线的KER,可能会无意中测量跨越不等实时的变动。这会使不同时段的比较变得不那么有意义。
2) 波动性与方向
由于分母使用总变动,KER对价格总体移动量敏感,而不仅仅是方向。两个窗口可能有相同的净变动,但路径上的“徘徊”不同。当路径更直接时,KER更高;当路径更迂回时,KER更低。
一个常见的失败模式是将“效率”视为“趋势强度”的同义词,而不检查所选窗口大小和价格输入是否产生这种行为。KER可以反映方向持续性,但它仍然是两个变动度量的比率,因此其输出与时间窗口和数据定义紧密相关。
3) 对回溯选择的敏感性
在波动条件下,即使你仅调整几个K线的回溯窗口,KER的值也可能发生显著变化。这导致对参数选择的依赖:
- 短窗口:响应更快,但对噪声更敏感。
- 长窗口:更稳定,但对近期变化的响应可能较慢。
如果你调整回溯直到KER在历史数据上“看起来不错”,你可能会过度拟合你的解释。在得出结论之前,需要使用一致的设置进行独立验证。
4) 平坦或接近平坦的时期
在低活跃度或接近平坦的时期,净变动和总变动都可能很小。数值精度、舍入和数据预处理可能会主导计算出的比率。在完全平坦的极端情况下,会出现零总变动问题。你的处理方法(缺失值或选择的默认值)会显著影响任何汇总统计。
5) 数据清洗和公司调整(如适用)
对于可能发生调整的工具或数据集,预处理变化会改变过去的价格关系。即使KER完全是机械的,你输入的“价格路径”才是关键。如果数据集包含中断或调整,KER时间序列可能会显示人为的不连续性。
局限性和风险:KER无法保证什么
KER的局限性最好通过描述性统计与因果或预测性主张之间的差距来理解。
-
无内置的前瞻性保证。一个历史窗口内的高KER并不逻辑上意味着未来的高KER、方向持续性或有利结果。当波动性、流动性或交易行为变化时,历史关系可能会改变。
-
路径依赖和制度敏感性。KER衡量窗口内的变动“形态”。如果相同的净变动可能来自不同的路径,KER会区分它们——但这种区分可能与你在新市场制度下的特定决策目标不一致。
-
解释依赖于实现细节。价格类型、窗口长度、绝对变动处理和零总逻辑都会影响结果。如果不固定这些细节,很难在不同系统、供应商或分析之间比较KER。
-
交易成本和执行效果不在KER中。KER仅从价格序列计算,不考虑点差、佣金、滑点或执行时机。任何将KER与现实盈利能力联系起来的尝试都需要额外的、独立的假设和测量。
验证:如何独立检查KER事实
要准确验证与KER相关的主张,应关注可重现性而非解释。
- 使用受控输入重新计算。使用一小段手动构建的价格序列,在选定的回溯窗口内计算净变动和总绝对变动。确认你的实现符合预期定义。
- 测试零总变动和平坦期行为。创建(或找到)一个连续价格相同的窗口,然后确认你的系统如何处理它。记录它是返回缺失、零还是其他值。
- 对参数进行敏感性检查。