如果我的问题不是很简洁,我很抱歉。我试图理解QuantStart上发布的估计赫斯特指数的通用公式:
https://www.quantstart.com/articles/Basics-of-Statistical-Mean-Reversion-Testing
代码如下:
from numpy import cumsum, log, polyfit, sqrt, std, subtract
from numpy.random import randn
def hurst(ts):
lags = range(10,80)
tau = [sqrt(std(subtract(ts[lag:], ts[:-lag]))) for lag in lags]
poly = polyfit(log(lags), log(tau), 1)
return poly[0]*2.0
print ('> Hurst Exponent:', '%.6s' % hurst(df['Close']))
我已经应用了这个代码,它起了作用。但我不太明白这个公式到底是怎么工作的。我有疑虑,尤其是对滞后的问题。如果有人能给我一些信息让我理解这部分公式,我将非常感激。你知道吗
例如,如果我将滞后范围设置为10和80,这是否意味着将计算时间序列中10和80个观测值之间的自相关?你知道吗
另一个重要的问题,我需要多少个观测值来建立这个滞后范围?我应该至少有80次观察吗?你知道吗
正如我前面提到的,如果有人能帮我解释一下,我将非常感激。我将非常感激。你知道吗
谢谢!你知道吗
考虑到需要200巴的滞后,观测值少于200巴是毫无意义的。你知道吗
当然。赫斯特就是这样工作的。你知道吗
请参阅从QuantFX模块获取的函数实现,如v.4.13(Py2.7在大多数情况下不会产生问题,但Py3.x中的任何xrange()都应替换为range()):
有关属性的详细帖子和讨论是here
相关问题 更多 >
编程相关推荐