当我使用分形包运行随机游走的示例代码时:
library(fractal)
## create test series
set.seed(100)
x <- rnorm(1024)
walk <- cumsum(x)
## calculate the Hurst coefficient of a random
## walk series using various techniques
methods <- c("aggabs","aggvar","diffvar","higuchi")
z <- lapply(methods, function(method, walk){
hurstBlock(ifelse1(method=="higuchi",diff(walk),walk), method=method)
},walk=walk )
names(z) <- methods
## plot results
old.plt <- splitplot(2,2,1)
for (i in 1:4){
if (i > 1)
splitplot(2,2,i)
plot(z[[i]], key=FALSE)
mtext(paste(attr(z[[i]],"stat.name"), round(as.numeric(z[[i]]),3), sep=", H="),
line=0.5, adj=1)
}
par(old.plt)
我没有.5的赫斯特指数?我知道有不同的计算方法,但我相信AggVar最像是R / S重新缩放方法,对于布朗运动,它应该返回.5而不是.94就像它一样。
不应该是.5?
如果你改变了
walk&lt; - cumsum(x)to
walk&lt; - x然后这是白噪声,我应该得到Hurst指数为0.但我不会。
你能帮忙解释一下吗?
答案 0 :(得分:0)
我将检查Wikipedia,但大多数来源都引用> .5持久性,即。可能的趋势,.5 =随机的白噪声过程,<。5 =均值回复,我不确定您在哪里得到0 =白噪声,我在任何期刊或研究中都从未见过,维基百科一定是错误的,我会检查,您是不正确的,请仔细阅读Wikipedia关于以下提取的hurst指数的规定
Blockquote A值H在0.5–1范围内表示一个具有长期正自相关的时间序列,这意味着该序列中的一个高值很可能会跟随另一个高值,并且很长一段时间都进入未来也将趋于高涨。介于0到0.5之间的值表示一个时间序列,该序列在相邻对中的高值和低值之间进行长期切换,这意味着单个高值可能会跟随一个低值,并且此后的值将趋于高,这种趋势会持续很长时间,直到在高值和低值之间切换。 H = 0.5的值可以表示一个完全不相关的序列,但实际上,它是适用于序列的值,在较小的时滞下,其自相关可以为正或为负,但自相关的绝对值迅速呈指数衰减至零。这与0.5
答案 1 :(得分:0)
自从我回答上述问题后,我对三个最著名的 Hurst 指数库进行了广泛的测试,并在 youtube 上发布了一个视频,但是,从分形来看,最常用的 Hurst 估计器是来自 fractal 的 hurstpec 和来自 pracma 的 hurstexp图书馆。无论您使用什么估计,PerformanceAnalytics 计量经济学金融库中的另一个估计器似乎都不正确。我在 Authors Github 维护站点上留下了纠错请求或检查,我还没有检查回来查看回复,我在 4 个月前离开了请求。
iwm_rt <- dailyReturn(IWM, type ="log")
头(iwm_rt)
```{r}
library(pracma)
library(fractal)
x <- iwm_rt
hurstBlock(x, method="aggAbs", scale.min=8, scale.max=NULL,
scale.ratio=9, weight=function(x) rep(1,length(x)), fit=lm)
fit_aggab <- hurstBlock(x, method="aggAbs", scale.min=8, scale.max=NULL,
scale.ratio=9, weight=function(x) rep(1,length(x)), fit=lm)
plot(fit_aggab)
RoverS(x, n.block.min=22, scale.ratio=9, scale.min=8)
hurstSpec(x, method="standard", freq.max=0.25, dc=FALSE, n.block=NULL,
weight=function(x) rep(1,length(x)), fit=lm, sdf.method="direct")
hurstexp(x)
来自 hurstblock in fractal 的 aggabs 方法是来自大样本时间序列的聚合估计,拟合 aggabs 估计器的最关键因素是 scale.ratio 估计我通过试错法解决它有点乏味但我不知道更科学的方法,规模。 ratio 是时间序列中每个后续样本序列的乘数