楼主: karma3001
1956 0

关于hurst指数计算 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

已卖:135份资源

大专生

40%

还不是VIP/贵宾

-

威望
0
论坛币
9 个
通用积分
0.1200
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
386 点
帖子
40
精华
0
在线时间
45 小时
注册时间
2012-4-2
最后登录
2023-3-15

楼主
karma3001 发表于 2014-4-15 21:58:55 |AI写论文
1论坛币
小弟读本科没学过matlab,这段时间自学了matlab,我现在要算一个时间段内的HURST,现在编程结果如下:
function [ A,C ] = hurst( p )
format long
    ll=length(p); % l????????¨°?????????????????????
    j=1;
   
    for i=5:500;  
      if mod(ll,i)==0;
         n1(j)=i; % n1(j)是子区间里价格的数量
         n2(j)=ll/i; % n2(j)是子区间存在的个数
         j=j+1;
      end
    end
   l=length(n1);
   K=[n1; n2]
   
   for j=1:l;
        for i=1:n2(j);
          bar=mean(p((i-1)*n1(j)+1:i*n1(j)))  ; %?¨???????????????¨???
          x=p((i-1)*n1(j)+1:i*n1(j))-bar;
          y=cumsum(x);  %?¨???????????????????????
          R(i)=max(y)-min(y) ;%?¨????????????R??
          sigma(i)= std(p((i-1)*n1(j)+1:i*n1(j)),1);
          if sigma(i)==0;
             sigma(i)=0.0001;
          end
          RS(i)=R(i)/sigma(i); %?¨??????????????R/S????
          clear x y
        end
        meanRS=mean(RS); %?¨?????TS?¨°??R/S???¨???
        A(j)=log(meanRS);
        B(j,1)=1;
        B(j,2)=log(n1(j));
        C(j)=B(j,2);
    end
   A=A';
   coefficient=inv(B'*B)*B'*A %???????????§???¨?????Husrt
   BB=coefficient(1)+coefficient(2)*C;
   plot(C,BB)
   hold on
   plot(C,A,'o')
end
我这样算出来的结果总是在0.4以下,不管我取的样本是什么样的,我觉得是程序有问题。。各位高手能帮我看看吗

关键词:Hurst指数 hurst Urs coefficient EFFICIENT function matlab 时间段 本科

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2026-1-3 03:54