楼主: 谦微
2026 5

[问答] 有没有哪位大侠近期研究金融时间序列的? [推广有奖]

  • 7关注
  • 20粉丝

副教授

69%

还不是VIP/贵宾

-

威望
0
论坛币
1076 个
通用积分
582.2893
学术水平
35 点
热心指数
84 点
信用等级
30 点
经验
29339 点
帖子
1135
精华
0
在线时间
521 小时
注册时间
2013-6-4
最后登录
2024-5-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
有没有哪位大侠近期研究金融时间序列的长记忆性检验的?我急需matlab的r/s代码  谁有可以借鉴一下不?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:金融时间序列 时间序列 有没有 MATLAB matla matlab

相信自己,止于至善!
沙发
syslon 发表于 2014-6-4 20:30:11 |只看作者 |坛友微信交流群
以前做过,好像是做 rescaled 什么检验长期记忆的吧?在matlab还是比较容易实现的,
已有 1 人评分热心指数 收起 理由
谦微 + 1 精彩帖子

总评分: 热心指数 + 1   查看全部评分

使用道具

藤椅
windblood 发表于 2014-6-5 18:37:33 |只看作者 |坛友微信交流群
这是以前算Hurst指数的,其中binMethod是指用数据长度的约数分组、还是用所有不大于长度一半的数分组
function [H,RS,V]=hurst(data,binMethod)
%function:        compute hurst component:H, R/S and respect bin length-n:RS, V statistics
%input:                data: column vector
%                        binMethod: scalar numer,group methods for data,0 for "divisor"/1 for "all"
%output:        H:1*1 value,hurst component
%                        RS:N*2 matrix, column1: bin length, column2: RS
%                        V:V statistics

% to be done: indivisual test
% R/S analysis requires time series has no self correlation

obsNum=length(data);
if binMethod==0
        tmp=divisor(obsNum);
        n=tmp(tmp>=2 & tmp<=obsNum/2);
elseif binMethod==1
        n=2:floor(obsNum/2);
else
        error('binMethod should be ''divisor'' or ''all''');
end

RS=zeros(length(n),2);
RS(:,1)=n;
for ii=1:length(n)
        binLength=n(ii);
        bins=floor(obsNum/binLength);
        binData=reshape(data((end-bins*binLength+1):end),binLength,bins);
        binMean=mean(binData);
        binStd=std(binData,1);
        cumDev=cumsum(binData-repmat(binMean,binLength,1));
        R=max(cumDev)-min(cumDev);
        RS(ii,2)=mean(R./binStd);
end

coef=regress(log(RS(:,2)),[ones(size(RS,1),1) log(RS(:,1))]);
H=coef(2);
V=RS(:,2)./sqrt(RS(:,1));

end
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
谦微 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
谦微 发表于 2014-6-5 20:43:11 |只看作者 |坛友微信交流群
windblood 发表于 2014-6-5 18:37
这是以前算Hurst指数的,其中binMethod是指用数据长度的约数分组、还是用所有不大于长度一半的数分组
func ...
非常感谢~~我有个代码好像不对,请大侠帮忙指正。

function myr_s =myr_s1(x)%
tic;
[k,l]=size(x);
x=x(:,4);%
Q=[];
for n=2:k;             %均分为k-1个序列
     x1=x(1:n,:);
       avg_x=mean(x1);
       var_x=var(x1);
      
       y=ones(n,1);
       yy=avg_x*y;
       xx=x1-yy;   
   
      for i=2:n;
           xx(i,1)=xx(i,1)+xx(i-1,1);
     end;
           xx1=max(xx);
           xx2=min(xx);
          R_n=xx1-xx2;
   
          Qn=R_n/var_x;
          Q=[Q,Qn];
end;
sn=[2:k];
lsn=log(sn);
%[mn,nn]=size(lsn)

lq=log(Q);
%[mq,nq]=size(lq)
[a,b]=polyfit(lsn,lq,1);
H=a;
myr_s=H
toc;
end
相信自己,止于至善!

使用道具

报纸
windblood 发表于 2014-6-5 22:19:56 |只看作者 |坛友微信交流群
谦微 发表于 2014-6-5 20:43
非常感谢~~我有个代码好像不对,请大侠帮忙指正。

function myr_s =myr_s1(x)%
好像第一层for循环,你想分n组,但实际只取了x的1:n个数作为1组,后面的数就没管了
而且分组,不可能分到[k/2]以上,因为那样每组只有1个值,没法算
估计你组数和每组内的样本数混淆了

另外,RS分析的逻辑好像也不对,不知道是不是上面的问题导致的;
建议你要么好好对着RS的步骤一步步做,要么去mathworks的用户中心下一个函数直接用
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
谦微 + 1 + 1 + 1 精彩帖子

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

地板
谦微 发表于 2014-6-6 09:59:33 |只看作者 |坛友微信交流群
windblood 发表于 2014-6-5 22:19
好像第一层for循环,你想分n组,但实际只取了x的1:n个数作为1组,后面的数就没管了
而且分组,不可能分到 ...
好的 非常感谢 我之前的算法没搞清楚rs方法的分组前提  只看了公式  所以搞错了 前面看到中山大学黄饴蓉博士的rs方法有效性论证的论文  他明明在论文中说了可以向他索取matlab代码但发邮件过去确实有病毒的自动回复  搞得我好生郁闷!谢谢大侠的帮助  给你加分!
相信自己,止于至善!

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-21 17:45