本文主要介绍一下使用RS法计算Hurst指数,文章原理等来自互联网,使用python进行了简单的实现。

声明:本博客的内容来源于各大论文和互联网,其正确性有待考究。目的仅仅为了记录一下本人的学习过程,如果正好也能对你有一点帮助或者发现文中的错误所在,非常欢迎留言交流呀。


1 原理

本人是一个小白,今天搜索了很多文章,讲得都不怎么透彻,最后看到了这篇http://club.excelhome.net/thread-1414154-1-1.html文章,讲得非常详细,这里我将其主要部分贴在此处。(原文中讲得非常详细,还涉及到了如何优化计算等问题)

2 意义

本人是个小白,以下内容来自引用[2],其Hurst数值大小的意义如下:

3 代码实现(python)

详细的实现代码也是根据该文中提供的原理进行编写的,是最原始的解法,未进行优化,其中的命名也是和上图中的原理是一一对应的,便于理解。

import numpy as np
import mathdef hurst_rs(data:list):"""使用rs法计算Hurst指数值"""t_i = []for r in range(2, (len(data))//2 + 1):g = len(data)//rx_i_j = [data[i * r : (i+1)*r] for i in range(g)]x_i_mean = [sum(x_i)/r for x_i in x_i_j]y_i_j = [[x_i_j[i][j] - x_i_mean[i] for j in range(r)] for i in range(g)]z_i_j = [[sum(y_i_j[i][ : j + 1])  for j in range(r)] for i in range(g)]r_i = [max(z_i_j[i])-min(z_i_j[i]) for i in range(g)]s_i = [math.sqrt(sum([ (x_i_j[i][j]-x_i_mean[i])**2 for j in range(r)]) / (r-1)) for i in range(g)]rs_i = [r_i[i]/s_i[i] for i in range(g)]rs_mean = sum(rs_i)/g# t_i.append( math.sqrt(sum([(rs_i[i] - rs_mean)**2 for i in range(g)])/(g-1)) )t_i.append(rs_mean)return np.polyfit(np.log(np.arange(2, len(data)//2 + 1)), np.log(np.array(t_i)), 1)[0]if __name__ == "__main__":# 测试data_test = list(np.arange(0, 100))print(hurst_rs(data_test))

以上代码的测试结果为:1.0539540901544668


参考文献

[1] RS 分析法和 Hurst 指数计算方法 http://club.excelhome.net/thread-1414154-1-1.html(出处: ExcelHome技术论坛)

[2] 薛静. 基于Hurst指数的AED自动诊断分析算法研究[D]. 2014.

RS法计算Hurst指数相关推荐

  1. Python的Mann-Kendall非参数检验和计算Hurst指数

    Mann-Kendall 检验法简称为 M-K 法, 是一种非参数统计检验方法, 可适用于不具有正态分布特征变量的趋势分析[38].假定X1,X2,...Xn为时间序列变量[1],n为时间序列的长度, ...

  2. 使用matlab计算hurst指数的代码

    您可以使用以下代码来计算Hurst指数: % 加载数据 data = load('your_data.txt');% 计算数据的长度 N = length(data);% 初始化矩阵 rs = zer ...

  3. 获取铁矿石和螺纹钢期货数据。对收益率序列进行描述性统计、jb检验,反正是否符合分形市场假说。计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行评估。寻求改进空间。

    源码已上传至github 项目简介 获取铁矿石和螺纹钢期货数据.对收益率序列进行描述性统计.jb检验,反正是否符合分形市场假说.计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行 ...

  4. 时间序列中Hurst指数的计算(python代码)

    在做时间序列分析时,需要计算Hurst指数,由于Hurst指数计算比较复杂,刚开始懒得自己写,就在github上进行搜索,多是这个代码: from numpy import std, subtract ...

  5. Hurst指数以及MF-DFA

    转:https://uqer.io/home/ https://uqer.io/community/share/564c3bc2f9f06c4446b48393 写在前面 9月的时候说想把arch包加 ...

  6. dfa matlab用法,关于使用MF-DFA方法计算广义Hurst指数的MATLAB操作问题

    我在论坛上复制了一个代码,是使用MF-DFA方法计算广义Hurst指数的,但不知道需填入的各个变量的名称,我是零基础,但任务时间很紧,来不及现学,所以想先用来算个数,请各位高手指教,不胜感激! 请问括 ...

  7. R语言 Hurst指数计算

    GPS filenum=c(11:15,19:24) roads=c("鞍山西道","白堤路","保山道","复康路", ...

  8. 股指的趋势持续研究(Hurst指数)

    只贴基本的适合小白的Matlab实现代码,深入的研究除了需要改进算法,我建议好好研究一下混沌与分形,不说让你抓住趋势,至少不会大亏,这个资金盈亏回调我以前研究过. function [line_H,R ...

  9. 根据身高体重计算BMI指数,判断您是否健康。

    目录 前言 (1)体质指数 (Body Mass Index,简称BMI) 1.定义 2.计算公式如下: 3.亚裔成年人请用以下的指引: 4.*罹病情况包括 5.该公式可判断人体的健康状况.根据美国有 ...

  10. Kinect体感机器人(三)—— 空间向量法计算关节角度

    Kinect体感机器人(三)-- 空间向量法计算关节角度 By 马冬亮(凝霜  Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 终于写到体感机器人的核心代码了, ...

最新文章

  1. 一分钟了解 TCP/IP 模型
  2. 宜信开源|数据库审核软件Themis的规则解析与部署攻略
  3. Go实现简单的K-V存储
  4. 定时从linux获取文件,Linux 使用scp命令定时将文件备份到另一台服务器
  5. 软件官网与memcached介绍
  6. linux 后台程序 cout输入到文件,istringstream在读文件时候的应用
  7. 【自定义控件】c#winform自定义控件实现标签控件
  8. Sites Table
  9. 法向量 点云pca_CVPR 2019 | 旷视研究院Oral论文提出GeoNet:基于测地距离的点云分析深度网络...
  10. 淘宝店的图片哪里来的
  11. python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值
  12. Django框架基础之session
  13. 喜庆:上周阅读量5W,超过了99%的C友
  14. 法兰克焊接机器人编程入门_FANUC机器人应用
  15. 手把手教你如何删除病毒木马(转)
  16. steam方舟服务器直连,方舟服务器在steam上等待发布 | 手游网游页游攻略大全
  17. CF1389G Directing Edges
  18. 高等数学(第七版)同济大学 习题12-4 个人解答
  19. 容量 Byte、KB、MB、GB、TB、PB、EB、ZB、YB、NB、DB、CB、XB
  20. 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中

热门文章

  1. 模拟与仿真两个词的区别
  2. 用大白话谈谈XSS与CSRF
  3. int temp java,temp是什么意思
  4. idea git切换分支、拉取最新代码 自己的代码被覆盖怎么办
  5. 财会法规与职业道德【18】
  6. 大数据的价值,主要体现在哪几方面?
  7. 微信的商业价值有哪些?
  8. html css样式没有效果图,5个Blockquote的css样式
  9. Python 根据出生日期判断星座
  10. Python编程通过出生日期判断星座