hurst指数多维数据python代码
时间: 2023-07-23 10:26:03 浏览: 107
下面是计算 Hurst 指数的多维数据的 Python 代码:
``` python
import numpy as np
def hurst(X):
"""计算Hurst指数"""
N = len(X)
max_k = int(np.floor(np.log2(N)))
Y = np.cumsum(X)
mean_Y = Y / np.arange(1, N + 1)
R = np.zeros(max_k)
for k in range(max_k):
n = int(np.floor(N / 2**(k+1)))
range_n = np.arange(n)
S = np.zeros(n)
for i in range_n:
start = i * 2**(k+1)
end = start + 2**k
S[i] = np.std(Y[start:end])
R[k] = np.log(np.mean(S) / np.std(Y))
return np.polyfit(np.log(np.arange(1, max_k+1)), R, 1)[0]
```
这个函数可以计算任意维度的时间序列数据的 Hurst 指数,主要思路是按照二叉树的方式分割数据,然后计算每个分割区间的标准差。最终通过线性拟合得到 Hurst 指数。函数的输入参数是一个 numpy 数组,输出是一个浮点数,表示 Hurst 指数。
阅读全文