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

function [line_H,RS]=dfaX_0322(x)
%% 初始化数据处理
% x=importdata('IF.txt');[line_H,RS]=dfaX_0322(x);line_H
%x=1000*rand(4000,1);[line_H,RS]=dfaX_0322(x);line_H
x=x(:);x=x+2;%防止x中有0
x1=log([x(2:end);10])-log(x);x=x1(1:end-1);%消除序列的短期自相关性,以满足R/S分析对观测对象独立的要求
% x=cumsum(x-mean(x));
%x=log(x(:));
N=length(x);
xulie=[8:floor(N/2)];%表示将x分成floor(N/xulie(i))段

%% 处理input

len_xulie=length(xulie);
RS=zeros(1,len_xulie);%初始化序列的重标极差

%% 求RS过程
for flag_i=1:len_xulie
m=xulie(flag_i);
junzhi_ij=zeros(1,floor(N/xulie(flag_i)));%初始化均值
biaozhuencha_ij=zeros(1,floor(N/xulie(flag_i)));%初始化标准差
jicha_ij=zeros(1,floor(N/xulie(flag_i)));%初始化极差
for flag_j=1:floor(N/xulie(flag_i))
yuansu_ij=x([m*(flag_j-1)+1:m*flag_j]);
junzhi_ij(1,flag_j)=mean(yuansu_ij);
biaozhuencha_ij(1,flag_j)=sqrt(mean((yuansu_ij-junzhi_ij(1,flag_j)).^2));
leijilicha_ij=cumsum(yuansu_ij-junzhi_ij(1,flag_j));
jicha_ij(1,flag_j)=max(leijilicha_ij)-min(leijilicha_ij);
end
RS(1,flag_i)=mean(jicha_ij./biaozhuencha_ij);
end

%% 拟合分段xulie和RS序列,求出Hurst指数
temp1=find(isnan(RS));RS(temp1)=[];xulie(temp1)=[];
line_H=polyfit(log10(xulie),log10(RS),1);

%% 作图
% subplot(1,2,1);plot(x);
% subplot(1,2,2);
% plot(log10(N./xulie(1:len_xulie)),log10(RS(1:len_xulie)),'ro');hold on;
% plot(log10(N./xulie(1:len_xulie)),polyval(line_H,log10(N./xulie(1:len_xulie))),'-b*');
% title(['拟合直线斜率',num2str(line_H(1))]);
% Log_N_RS=[log10(N./xulie(1:len_xulie);log10(RS(1:len_xulie))];
%

%% Hurst指数和相关性的关系
% (1)当0.5<h<1时,说明时间序列具有长程相关性,呈现出趋势不断增强的状态,即在某一时间段是递增(递减)趋势,下一个时间段也会是递增(递减)趋势,且h越接近于1,相关性越强。
% (2)当h=0.5时,说明时间序列不相关,是一个独立的随机过程,即当前状态不会影响将来状态。
% (3)当0<h<0.5时,说明径流时间序列只存在负的相关性,呈现反持久性的状态,即时间序列在某一个时间段是递增(递减)的趋势,则在下一个时间段是递减(递增)的趋势。

% 赫斯特指数有三种形式:
%   1.如果H=0.5,表明时间序列可以用随机游走来描述;
%   2.如果0.5<H≤1,表明黑噪声(持续性)即暗示长期记忆的时间序列;
%   3.如果0≤H<0.5,表明粉红噪声(反持续性)即均值回复过程。
%   也就是说,只要H ≠0.5,就可以用有偏的布朗运动(分形布朗运动)来描述该时间序列数据。

%% polyfit(拟合)和polyval(插值)应用例子
% x = (0: 0.1: 2.5)';
% y = erf(x);
% p = polyfit(x,y,6);
% y1=polyval(p,x);
% subplot(1,3,1);plot(x,y,'-b*');
% subplot(1,3,2);plot(x,y1,'-ro');
% subplot(1,3,3);plot(x,y,'-b*');hold on;plot(x,y1,'-ro');

%% n的输入
% 2.^[2:15]'
% 4
% 8
% 16
% 32
% 64
% 128
% 256
% 512
% 1024
% 2048
% 4096
% 8192
% 16384
% 32768
end

股指的趋势持续研究(Hurst指数)的更多相关文章

  1. Hurst指数以及MF-DFA

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

  2. 时间序列挖掘-预测算法-三次指数平滑法(Holt-Winters)——三次指数平滑算法可以很好的保存时间序列数据的趋势和季节性信息

    from:http://www.cnblogs.com/kemaswill/archive/2013/04/01/2993583.html 在时间序列中,我们需要基于该时间序列当前已有的数据来预测其在 ...

  3. 指数加权移动平均法(EWMA)

    ** 本文内容来自于吴恩达深度学习公开课 1.概述 加权移动平均法,是对观察值分别给予不同的权数,按不同权数求得移动平均值,并以最后的移动平均值为基础,确定预测值的方法.采用加权移动平均法,是因为观察 ...

  4. 解读:未来30年新兴科技趋势报告(AI Frist,IoT Second)

    前段时间美国公布的一份长达35页的<未来30年新兴科技趋势报告>.该报告是在美国过去五年内由政府机构.咨询机构.智囊团.科研机构等发表的32份科技趋势相关研究调查报告的基础上提炼形成的. ...

  5. 10 Future Web Trends 十大未来互联网趋势

    转载自:http://blog.sina.com.cn/s/blog_4be577310100ajpb.html 我们很满意自己进入的当前网络纪元,通常被称为Web 2.0.这个阶段互联网的特征包括搜 ...

  6. 2012高校GIS论坛

    江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办 ...

  7. time series analysis

    1 总体介绍 在以下主题中,我们将回顾有助于分析时间序列数据的技术,即遵循非随机顺序的测量序列.与在大多数其他统计数据的上下文中讨论的随机观测样本的分析不同,时间序列的分析基于数据文件中的连续值表示以 ...

  8. 翻译 | Qt研发副总裁分享2018年工作计划

    原文作者:TuukkaTurunen,高级研发副总裁 翻译校审:Haipeng.Yulong和Ryan 引言:2018年,我们将继续完善Qt 5.9 LTS,现在我们正在为5月份发布Qt 5.11进行 ...

  9. TA-Lib技术指标分析

    import talib as tb from talib import * print(tb.get_functions()) print(tb.get_function_groups()) 指标大 ...

随机推荐

  1. My first makefile to compile multiple C files

    I have three files to compile: main.c, func.c,  func.h The steps: 1   main.c   to   main.o 2   func. ...

  2. LInux 查看环境变量

    1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...

  3. 【NodeJS 学习笔记04】新闻发布系统

    前言 昨天,我们跟着这位大哥的博客(https://github.com/nswbmw/N-blog/wiki/_pages)进行了nodeJS初步的学习,最后也能将数据插入数据库了 但是一味的跟着别 ...

  4. 【开源】OSharp框架解说系列(3):扩展方法

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  5. Ajax JQuery HTML 提交上传文件File HTML+ Ajax+ASP.NET+ WebService

    起因:公司最近有些项目用到了HTML+WebService的组合,发现访问速度等都快了许多,但是由于通过Ajax只能应付一些简单的文字类的传输,上传文件就捉襟见肘了,如果一直引用第三方的swf之类上传 ...

  6. C# 如何将List拆分成多个子集合

    网上的例子: 问:List<string> list = new List<string>();        for (int i = 1; i < 95; i++)  ...

  7. 如何用Python实现杨辉三角和心

    1. 如何实现杨辉三角 import copy list=[] newlist=[] def Fibonacci(list,n): newlist.append(0) if n ==1: return ...

  8. 【续集】在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题

    dudu 的一篇博文:在 IIS 中部署 ASP.NET 5 应用程序遭遇的问题 针对 IIS 部署 ASP.NET 5 应用程序的问题,在上面博文中主要采用两种方式尝试: VS2015 的 Publ ...

  9. C++ 与 php 的交互 之----- C++ 异步获取 网页文字内容,异步获取 php 的 echo 值。

    已搬迁至 http://www.cnblogs.com/linguanh/p/4543836.html

  10. 软件开发常用设计模式—单例模式总结(c++版)

    单例模式:就是只有一个实例. singleton pattern单例模式:确保某一个类在程序运行中只能生成一个实例,并提供一个访问它的全局访问点.这个类称为单例类.如一个工程中,数据库访问对象只有一个 ...