基于多重修正R/S分析的Hurst指数计算系统
项目简介
本项目构建了一个高精度的MATLAB计算平台,专门用于通过多种重标极差(R/S)分析方法估算时间序列的Hurst指数。系统集成了经典R/S分析算法与Lo's修正R/S分析技术,能够有效解决经典方法在面对短期自相关和非平稳性时的偏差问题,分离出真正的长期记忆特征。
系统内置了模拟数据生成功能、完整的数据预处理流程、核心估算引擎以及统计检验模块,适用于金融计量经济学、水文学及网络流量建模等领域的长程依赖性分析。
功能特性
- 内置模拟数据生成:能够自动生成包含线性趋势、短期自相关噪声(AR过程)以及分数布朗运动特征的模拟金融时间序列,无需外部数据即可演示算法效果。
- 专业数据预处理:包含对数收益率转换、去趋势处理(Detrending)以及Z-Score标准化,确保输入数据满足分析要求。
- 双重分析引擎:
*
经典R/S分析:基于Mandelbrot提出的统计算法。
*
Lo氏修正R/S分析:引入加权自协方差修正技术,消除短期记忆对Hurst指数估算的干扰。
- 自适应滞后选择:在计算修正R/S统计量时,采用基于AR(1)系数的数据驱动公式自动计算最优截断滞后阶数(Likelihood of lag q)。
- 统计假设检验:计算Lo的V统计量(V-statistic),并基于95%置信区间对序列的长程依赖性进行显著性检验。
- 可视化报告:自动生成原始序列图、收益率图、双对数回归拟合图以及V统计量趋势图。
系统要求
- MATLAB R2016a 或更高版本
- 无需额外工具箱(Signal Processing System 或 Econometrics Toolbox 非必须,代码主要基于基础函数实现)
使用方法
由于代码采用了单文件架构,直接在MATLAB环境中运行
main 函数即可启动分析流程。系统将依次执行数据生成、处理、计算、回归及绘图,并在命令窗口输出详细的统计报告。
核心算法与实现逻辑详解
系统基于 main.m 的实际代码实现,主要分为以下几个处理阶段:
1. 数据模拟与导入
为保证独立运行能力,系统首先生成长度为2048的样本数据。数据构造逻辑为:基础价格 + 累积噪声 + 线性趋势。其中噪声部分引入了一阶自回归(AR(1))特征,以此模拟市场中常见的短期记忆干扰,用于测试修正算法的有效性。
2. 数据预处理
在进入R/S分析前,代码对原始价格序列进行了严格的平稳化处理:
- 对数收益率计算:通过
diff(log(price)) 将非平稳的价格序列转换为收益率序列。 - 去趋势(Detrending):对收益率进行中心化处理,减去均值。
- 标准化:执行
(X - mean)/std 操作,统一数据量纲。
3. 多尺度R/S计算引擎
这是本项目的核心部分,系统定义了从最小尺度(16)到最大尺度(N/2)的一系列分割点
n,并对每个尺度执行以下操作:
- 区段划分:将总序列划分为长度为
n 的互不重叠子区间。 - R值计算:对每个子区间计算累积截距序列的极差(最大值减最小值)。
- S值计算(经典版):直接计算子区间的标准差。
- S值计算(Lo氏修正版):
* 计算一阶自相关系数 $rho_1$。
* 应用 Andrews/Lo 的数据驱动公式 $q = [((3n/2)^{1/3} cdot (2rho_1 / (1-rho_1^2))^{2/3})]$ 自动确定最优滞后阶数 $q$。
* 利用
Bartlett用于权重的Newey-West估计量,计算加权自协方差项。
* 将加权自协方差项加回样本方差中,得到修正后的标准差 $S_{lo}$,以此过滤短期自相关性。
4. Hurst指数估算(线性回归)
系统分别收集经典和修正后的R/S值,在双对数坐标系 $log(n) - log(R/S)$ 下进行普通最小二乘法(OLS)线性回归。
- 回归直线的斜率即为 Hurst指数。
- 代码同时计算拟合优度($R^2$),用于评估分形特征的稳定性。
5. 全局V统计量检验
代码单独实现了一个函数
calculate_global_v_statistic,用于对全长序列进行非参数检验:
- 计算全序列的修正R/S值。
- 计算统计量 $V_N = (R/S) / sqrt{N}$。
- 将计算结果与Lo (1991) 提供的95%置信区间 $[0.809, 1.862]$ 进行比对,从而在统计学上判断是否拒绝“随机游走”的原假设。
6. 结果判读与可视化
系统最后根据计算出的Hurst指数进行定性分析:
- H < 0.45:判定为反持久性(均值回归)。
- 0.45 <= H <= 0.55:判定为随机游走。
- H > 0.55:判定为持久性(长记忆效应)。
同时绘图展示四个子图:
- 原始时间序列:展示模拟价格走势。
- 标准化收益率:展示去趋势后的波动情况。
- Hurst指数回归分析:在同一张双对数图上对比经典R/S(蓝色)和修正R/S(红色)的拟合斜率,直观展示短期记忆对经典方法的干扰以及修正方法的效果。
- V统计量趋势:展示 $V_n$ 随时间尺度变化的稳定性。