RS法计算Hurst指数
本文主要介绍一下使用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指数相关推荐
- Python的Mann-Kendall非参数检验和计算Hurst指数
Mann-Kendall 检验法简称为 M-K 法, 是一种非参数统计检验方法, 可适用于不具有正态分布特征变量的趋势分析[38].假定X1,X2,...Xn为时间序列变量[1],n为时间序列的长度, ...
- 使用matlab计算hurst指数的代码
您可以使用以下代码来计算Hurst指数: % 加载数据 data = load('your_data.txt');% 计算数据的长度 N = length(data);% 初始化矩阵 rs = zer ...
- 获取铁矿石和螺纹钢期货数据。对收益率序列进行描述性统计、jb检验,反正是否符合分形市场假说。计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行评估。寻求改进空间。
源码已上传至github 项目简介 获取铁矿石和螺纹钢期货数据.对收益率序列进行描述性统计.jb检验,反正是否符合分形市场假说.计算Hurst指数,制定跨品种套利策略,并进行回测,对跨品种套利效果进行 ...
- 时间序列中Hurst指数的计算(python代码)
在做时间序列分析时,需要计算Hurst指数,由于Hurst指数计算比较复杂,刚开始懒得自己写,就在github上进行搜索,多是这个代码: from numpy import std, subtract ...
- Hurst指数以及MF-DFA
转:https://uqer.io/home/ https://uqer.io/community/share/564c3bc2f9f06c4446b48393 写在前面 9月的时候说想把arch包加 ...
- dfa matlab用法,关于使用MF-DFA方法计算广义Hurst指数的MATLAB操作问题
我在论坛上复制了一个代码,是使用MF-DFA方法计算广义Hurst指数的,但不知道需填入的各个变量的名称,我是零基础,但任务时间很紧,来不及现学,所以想先用来算个数,请各位高手指教,不胜感激! 请问括 ...
- R语言 Hurst指数计算
GPS filenum=c(11:15,19:24) roads=c("鞍山西道","白堤路","保山道","复康路", ...
- 股指的趋势持续研究(Hurst指数)
只贴基本的适合小白的Matlab实现代码,深入的研究除了需要改进算法,我建议好好研究一下混沌与分形,不说让你抓住趋势,至少不会大亏,这个资金盈亏回调我以前研究过. function [line_H,R ...
- 根据身高体重计算BMI指数,判断您是否健康。
目录 前言 (1)体质指数 (Body Mass Index,简称BMI) 1.定义 2.计算公式如下: 3.亚裔成年人请用以下的指引: 4.*罹病情况包括 5.该公式可判断人体的健康状况.根据美国有 ...
- Kinect体感机器人(三)—— 空间向量法计算关节角度
Kinect体感机器人(三)-- 空间向量法计算关节角度 By 马冬亮(凝霜 Loki) 一个人的战争(http://blog.csdn.net/MDL13412) 终于写到体感机器人的核心代码了, ...
最新文章
- 一分钟了解 TCP/IP 模型
- 宜信开源|数据库审核软件Themis的规则解析与部署攻略
- Go实现简单的K-V存储
- 定时从linux获取文件,Linux 使用scp命令定时将文件备份到另一台服务器
- 软件官网与memcached介绍
- linux 后台程序 cout输入到文件,istringstream在读文件时候的应用
- 【自定义控件】c#winform自定义控件实现标签控件
- Sites Table
- 法向量 点云pca_CVPR 2019 | 旷视研究院Oral论文提出GeoNet:基于测地距离的点云分析深度网络...
- 淘宝店的图片哪里来的
- python怎么用for循环找出最大值_从“for in”循环中获取最小值和最大值
- Django框架基础之session
- 喜庆:上周阅读量5W,超过了99%的C友
- 法兰克焊接机器人编程入门_FANUC机器人应用
- 手把手教你如何删除病毒木马(转)
- steam方舟服务器直连,方舟服务器在steam上等待发布 | 手游网游页游攻略大全
- CF1389G Directing Edges
- 高等数学(第七版)同济大学 习题12-4 个人解答
- 容量 Byte、KB、MB、GB、TB、PB、EB、ZB、YB、NB、DB、CB、XB
- 通过JSP网页连接MySQL数据库,从MySQL数据库中读出一张表并显示在JSP网页中