【JoinQuant】用Hurst指数择时投资

发布于: 修改于: 雪球转发:15回复:18喜欢:30

导语:真实中,股票收益率的分布并不像我们所期望的那样是独立正态分布,而是有偏的——收益率时间序列往往存在自相关性。如果能够根据收益率的记忆性分析出它的趋势,那么便可以将此作为一个择时的依据,制定量化交易策略。那么,如何刻画这一统计特性?使用Hurst指数便是其中一种办法。

在标准金融学模型中,我们基本都假定股票的波动是随机独立的。一个随机独立的波动率对应的股票变动如下图所示:

但是实际上,真实的股票数据并非这样——股票的低迷往往会持续很长的时间,而突然的增长则是远超过平均收益的暴涨。

直观上的原因在于,看上去随机的收益率并不是那么的随机——它们具有一些自相关性。例如,在大部分股票市场,当前收益率持续较高的时候,之后的收益率也更可能高(牛市往往持续一段时间),当前收益率低时,之后的收益率也低(熊市往往也会持续很长时间)。

听起来有点像动量效应,其实吧,我们得再次声明下,任何CTA类策略,要么就是抓趋势(偏动量)的,要么就是抓震荡(偏均值回归)的。

自相关性的应用其实起源于其他场景。Hurst指数就可以刻画这一统计性质。Hurst指数的来源就是Hurst本人在研究河流流量之后发现,干旱的时间愈久,就更可能出现持续的干旱;大洪水之后,也更可能出现大洪水。

我们可以像hurst本人刻画河流流量一样,将hurst指数用于刻画股票的记忆性,通过识别股票价格的波动趋势,买入更有可能持续上涨的股票,实现收益。

1.1 Hurst指数的计算

(上图是计算hurst指数的流程图,可配合以下文字一起咀嚼)

简单来讲,hurst指数的计算,是计算一个序列(R/S)t(接下来会具体介绍(R/S)t的计算方法)对t的变化斜率。

如上图所示,如果我们有一系列(t,(R/S)t)的数据,那么回归得到的红线的斜率就是hurst指数的值。

而这里的t就是选择的样本区间的长度(例如选择了八十天的数据,那么t=80),接下来的关键就是计算(R/S)t值。

取沪深300日回报率(daily return)n天内的数据作为时间序列,记回报率X=X1,X2X3,…,Xn为一串时间序列。

第一步:计算这个序列的均值:

第二步:计算离差序列(deviation):

第三步:将离差序列求和,计算出离差序列和的极差(widest difference):

第四步:计算序列X的标准差(standard deviation):

第五步:计算R/S值:

(R/S)t=Rt/St

R=第3步中计算的离差序列和的极差

S=第4步中计算的标准差

根据上面1-5步的计算,我们得到了一个序列X=X1,X2,X3,…,Xn对应的R/S,因为这个序列样本有n个,因此R/S可以写作(R/S)n

如前所述,我们需要计算一系列的(t,(R/S)t),因此我们需要重复上面的步骤——

第六步:重复1-5步计算R/S,但分别取不一样的t值(t=2,3,…,n),这相当于我们对序列:

分别计算按照上述分段方法得到的(R/S)t值。

第七步:计算Hurst指数

a. 将每种分段方法的片段大小(即所取得时间区间t)和R/S对10取对数

b. 这样我们就有了对数序列。将lg(R/S)t作为被解释变量Y,lgt作为解释变量X,线性回归估计斜率H,H就是Hurst指数。

对Hurst指数的直观解释是:当所选取的样本越多,样本的变化也就越丰富,因此离差序列和的极差(以下简称极差)也会越大。如果序列有相关性时,序列长期向着一个方向变化,计算所得的极差就会比完全随机的情形更大,因此当极差随样本增加增长得越快时,序列的记忆性就越强。而hurst就是描述样本规模和R/S的上述关系,当hurst指数大的时候,其记忆性自然也就越强。

(我们这个是level0的理解深度,未来的量化课堂文章会讲原理)

1.2 Hurst指数的性质

Hurst指数体现了时间序列的自相关性,尤其反映了序列中隐藏的长期趋势,统计学上称为长期记忆(long-term memory)。Hurst指数居于0-1之间。以0.5为间隔,时间序列在不同的区间会表现不同的特性:

H=0.5:标准布朗运动。此时,序列为随机游走,表现马尔可夫链特性。

H≠0.5:分形布朗运动,这种运动不是完全随机的,具有长期相关性——

当H>0.5时,表现为持续性(即持续之前序列的性质);

当H<0.5时,表现为反持续性。

1.3 Hurst指数的应用

思路:根据收益率变化趋势与hurst指数,判断应该买入还是卖出——

如果过去收益率增加并且序列有正相关性,买入股票;

如果过去收益率降低并且序列有正相关性,卖出股票;

如果过去收益率降低并且序列有负相关性,买入股票;

如果过去收益率增加并且序列有负相关性,卖出股票;

具体而言,在我们的策略中,采用hurst指数来衡量序列相关性。当hurst>0.6时,认为序列有趋势性,当hurst<0.4时,认为hurst有负相关性;

而对于判断过去收益增加还是减少,一种办法是直接用当前收盘价和前N日收盘价比较,如果当日收盘价高,则认为收益增加。但是在我们的设定中,这种办法的缺陷是这实际上只能判断收益增加,但是不能判断收益率的变化,因此在本文的策略中,采用的是N日收益率对时间回归。如果回归所得的斜率为正,则认为在过去N日中收益率是增长的趋势(注意:是收益率向上,而不是股票走势向上哦!);如果回归所得的斜率为负,则认为在过去N日中收益率是减少的趋势。

注:在应用中,我们取N=59(收盘价数据取N=60天的数据)。

根据回测结果,可以看出hurst的择时在应对大跌时效果较好,但因为要保证收益率是持续增长,往往在大牛市中会提前空仓,但一整个牛熊市下来,收益率远高于大盘。

函数说明书:

到JoinQuant查看代码并与作者交流讨论:【量化课堂】Hurst指数与应用(单股票)

@今日话题 @深蓝超算 @价值趋势技术派 @老罗话指数投资 @许博士说港股 @ScarScar1979 @小股民俱乐部 @读书人 @量化小斗士 @大洋一生 @老杜杜 @书生老徐 @叶峻伊 @博盈之道 @格雷费舍 @达芬奇橙 @醉后 @Notmeasure @价值游戏  


JoinQuant 聚宽 最专业的量化交易平台,免费提供数据获取、研究环境、策略回测、实盘连接、发送交易信号,学习交流等一站式功能体验。

Welcome to JoinQuant !

全部讨论

新形态牛市_福籁2023-09-22 15:46

请问作者有没有hurst 的 EXCEL 文件?

醉后2016-12-11 14:06

不明觉厉

pippy2016-09-27 20:37

转发//

ScarScar19792016-09-27 20:36

OK,3xs

JoinQuant聚宽2016-09-27 19:19

JoinQuant聚宽2016-09-27 19:19

单股票,有可能的

ScarScar19792016-09-27 19:12

中间有一段该策略的曲线(蓝色)上升斜率比同时期的指数(红色)斜率大很多,也就是该段时间远远跑赢了上升阶段的指数,这不可能吧,是否计算有误?

价值趋势技术派2016-09-27 16:54

结果基本和理论预期一致的模型。
其实牛市要战胜指数真不是那么容易的事。

布衣-淡定从容2016-09-27 15:29

嗯 有空研究下