DFA法计算的Hurst指数全部python代码,包括单维EXCEL数据的读取代码
时间: 2024-03-02 20:05:56 浏览: 142
hurst指数计算程序
4星 · 用户满意度95%
好的,下面是DFA法计算Hurst指数的Python代码,包括单维Excel数据的读取代码:
```python
import pandas as pd
import numpy as np
# 读取Excel数据
data = pd.read_excel('data.xlsx', header=None)
x = data.values.flatten()
# 计算累加序列
y = np.cumsum(x - np.mean(x))
# 计算序列均值
mean = np.mean(x)
# 计算序列标准差
std = np.std(x)
# 构造不同尺度的子序列
N = len(x)
n = np.floor(N / 2).astype(int)
F_n = np.zeros(n)
for i in range(n):
x_i = y[(i + 1):(i + 1 + n)]
x_i = x_i - np.mean(x_i)
F_n[i] = np.sqrt(np.mean(x_i ** 2))
# 线性拟合,计算Hurst指数
x = np.log(np.arange(1, n+1))
y = np.log(F_n)
p = np.polyfit(x, y, 1)
hurst = p[0] * 2
print('Hurst指数为:', hurst)
```
其中,`data.xlsx`为存放数据的Excel文件,第一列为待计算的单维数据。在代码中,我们先读取Excel数据,然后计算出累加序列、序列均值、序列标准差。接着,我们使用DFA算法计算不同尺度的子序列,并进行线性拟合,最终求得Hurst指数。
阅读全文