分形维度指数是如何计算的?
直接答案:你计算的是什么以及如何计算
分形维度指数(通常简称为“FDI”类指标)是通过估算一个序列(通常是价格或收益率时间序列)的分形维度来计算的。该估算产生一个数值,反映数据在不同尺度下表现出的“粗糙程度”或“自相似性”,依据的是当你观察更小或更大尺度时,计数或波动性的变化方式。
不同产品或图表软件中没有统一通用的公式。实际上,计算通常遵循几种常见的估算方法之一(例如,基于盒计数的标度法或重标极差法)。各种实现方式的共同点是都需要:(1) 输入时间序列,(2) 窗口长度或样本量,以及 (3) 决定你比较哪些“尺度”的标度选择。
机制或定义:关键组成部分
1) 选择输入时间序列
你从一个序列 ({x_t}) 开始。在交易相关的情境中,(x_t) 可能是:
- 原始价格序列 (\text{price}_t)
- 对数价格序列 (\log(\text{price}_t))
- 收益率,例如 (r_t = \log(\text{price}t/\text{price}{t-1}))
不同的方法对“粗糙度”的解释不同,因此你使用的 (x_t) 类型很重要。如果你的目标是验证计算结果,第一步就是确认定义中假设使用了哪种变换(价格 vs. 收益率 vs. 对数价格)。
2) 确定估算方法族
从时间序列数据中估算分形维度的两种常用方法是:
A) 盒计数法(基于计数的标度)
- 在序列的表示图上叠加不同大小的网格。
- 对于每个盒子大小 (\varepsilon),统计需要多少个盒子 (N(\varepsilon)) 才能覆盖整个图形(或相关的嵌入)。
- 拟合类似 (N(\varepsilon) \propto \varepsilon^{-D}) 的关系,这意味着 (D) 可以通过双对数图的斜率估算。
典型的估算步骤如下: [ \log N(\varepsilon) = a - D,\log \varepsilon ] 然后 (D) 是通过拟合 (\log N(\varepsilon)) 与 (\log \varepsilon) 的关系得到的斜率。
B) 重标极差法(基于滞后尺度的波动性标度)
- 计算在不同滞后尺度 (\tau) 下的波动性度量(例如极差或聚合波动)。
- 检查该波动性如何随 (\tau) 变化。
- 分形维度估计值从通过拟合幂律得到的指数中推导。
一个通用形式为: [ \text{variability}(\tau) \propto \tau^{H} ] 然后根据模型假设的具体关系将 (H) 映射为 (D)。必须准确说明这种映射关系才能复现结果。
3) 窗口长度和标度范围(影响数值的参数)
大多数指标实现都是滚动计算的:
- 窗口长度 (L):每个时间步使用的连续点数。
- 标度范围:考虑哪些 (\varepsilon)(盒子大小)或 (\tau)(滞后)。
- 最小标度数量:用于在双对数图上拟合直线的不同尺度数量。
如果你改变 (L) 或标度范围,拟合的斜率/指数可能会变化。这就是为什么在无法确认相同底层方法和设置的情况下,不应跨平台比较数值的原因之一。
4) 预处理和数值细节
即使选择了相同的通用方法,结果仍取决于实现选择,例如:
- 是否对序列去趋势或归一化。
- 如何处理缺失值。
- 如何为盒计数嵌入序列(例如,在时间-数值平面上使用图形)。
- 斜率拟合方法(对双对数值使用普通最小二乘法、稳健拟合等)。
这些不会改变基本概念,但可能会影响最终估计值。
证据或示例:可独立验证的计算模板
由于没有适用于所有工具的统一“FDI公式”,最可靠的验证方法是复现你打算使用的估算方法族的数学过程。
以下是 盒计数法 的自包含模板(概念性步骤):
- 取一段数据窗口 ({x_1, x_2, \dots, x_L})。
- 对多个盒子大小 (\varepsilon_1, \varepsilon_2, \dots, \varepsilon_k),在时间-数值图表示上叠加盒子(一个轴为时间,另一个轴为 (x_t))。
- 计算 (N(\varepsilon_i)):覆盖窗口内图形所需的盒子数量。
- 拟合 (\log N(\varepsilon_i)) 与 (\log (1/\varepsilon_i)) 的关系(等价于与 (\log \varepsilon_i) 拟合,但符号相反)。
- 拟合直线的斜率给出分形维度 (D) 的估计值,即你的“分形维度指数”对应的数值。
对于 重标极差法 方法,独立验证类似:
- 选择一组滞后 (\tau)(例如,小于窗口长度的小到中等值)。
- 在每个 (\tau) 上计算选定的波动性统计量。
- 在双对数坐标轴上拟合标度律以估计指数。
- 使用指定的映射关系将该指数转换为 (D)。
关键假设:你拟合的关系必须在所选标度范围内有意义。如果在数据不遵循幂律的尺度上强行拟合,斜率可能不稳定。
局限性和风险:计算失败或误导的情况
1) 不同定义导致不同结果
由于实现可能使用不同的分形维度估算器和参数选择,两个“FDI”数值可能无法直接比较。可复现性取决于是否匹配:
- 输入定义(价格 vs. 收益率 vs. 对数价格)
- 估算方法族(盒计数 vs. 重标极差)
- 窗口长度和标度范围
- 拟合方法
2) 样本过小和不稳定的标度拟合
分形维度估算依赖于在多个尺度上观察标度行为。如果你:
- 使用的窗口 (L) 过短,
- 包含的 (\varepsilon) 或 (\tau) 值过少,
- 或选择的标度范围未显示一致的标度行为, 那么拟合的斜率/指数会变得嘈杂,并可能因微小变化而大幅波动。
3) 非平稳性和机制变化
许多时间序列会随时间改变其统计行为。如果底层过程发生变化(例如波动率聚集或结构性变化),则固定窗口内的标度行为可能无法代表更大背景。这会影响所得维度估计值的可解释性。
4) 实际数据问题
常见的扭曲估算问题包括:
- 相对于信号尺度的严重测量噪声
- 异常值主导波动性统计量
- 缺失或不规则间隔的数据
- 不同运行之间的预处理不一致
5) 对数值的解释
即使计算正确,输出也是描述性的,而非预测性的。相同的“粗糙度”度量可能在不同机制下出现。