hurst指数评价与r/s分析
hurst的Python项目详细描述
赫斯特
赫斯特指数评估与r/s分析
hurst是一个小的python模块,用于分析random walks和计算hurst指数(h)。
h=0.5-布朗运动,
0.5<;h<;1.0-持续行为,
0<;h<;0.5-反持久行为。
安装
使用
安装hurst模块
pip install hurst
或pip install -e git+https://github.com/Mottl/hurst#egg=hurst
用法
importnumpyasnpimportmatplotlib.pyplotaspltfromhurstimportcompute_Hc,random_walk# Use random_walk() function or generate a random walk series manually:# series = random_walk(99999, cumprod=True)np.random.seed(42)random_changes=1.+np.random.randn(99999)/1000.series=np.cumprod(random_changes)# create a random walk from random changes# Evaluate Hurst equationH,c,data=compute_Hc(series,kind='price',simplified=True)# Plotf,ax=plt.subplots()ax.plot(data[0],c*data[0]**H,color="deepskyblue")ax.scatter(data[0],data[1],color="purple")ax.set_xscale('log')ax.set_yscale('log')ax.set_xlabel('Time interval')ax.set_ylabel('R/S ratio')ax.grid(True)plt.show()print("H={:.4f}, c={:.4f}".format(H,c))
H=0.4964, c=1.4877
系列的种类
函数的kind
参数可以有以下值:'change'
:序列只是随机值(即np.random.randn(...)
)'random_walk'
:序列是变化的累积和(即np.cumsum(np.random.randn(...))
)'price'
:序列是变化的累积产物(即np.cumprod(1+epsilon*np.random.randn(...)
)
布朗运动,持续和反持续随机游动
可以使用random_walk()
函数生成随机游动,如下所示:
布朗
brownian = random_walk(99999, proba=0.5)
持续性
persistent = random_walk(99999, proba=0.7)
抗持久性
antipersistent = random_walk(99999, proba=0.3)