楼主: 351741762
3286 4

[有偿编程] 求用DFA方法求Hurst指数的R程序,谢谢 [推广有奖]

  • 1关注
  • 0粉丝

初中生

71%

还不是VIP/贵宾

-

威望
0
论坛币
660 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
112 点
帖子
5
精华
0
在线时间
32 小时
注册时间
2016-9-30
最后登录
2023-12-5

楼主
351741762 发表于 2018-2-2 21:41:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
求用DFA方法或DMA法求Hurst指数的R程序,谢谢
二维码

扫码加我 拉你入群

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

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

关键词:Hurst指数 hurst R程序 DFA Urs

沙发
乐文义 发表于 2018-2-8 17:22:52
  1. ###DFA方法估计hurst
  2. ##获得分组
  3. getmatrix<-function(x,s){#x是时间序列,s是子列的长度
  4. x<-cumsum(x-mean(x))
  5. y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
  6. N<-length(y)/(2*s)
  7. ymatrix<-t(matrix(y,s))#分组2*N行s列的矩阵,每一行为一组
  8. return(ymatrix)
  9. }

  10. ###计算消除趋势序列均值
  11. del<-function(yi,n,s){#yi是各组子列,n是多项式阶数
  12. xn<-c(1:s)
  13. model<-lm(yi ~ poly(xn,n))
  14. return(mean(yi-predict(model)))
  15. }

  16. ###计算均值平方根
  17. fs<-function(x,ymatrix,s,n){#ymatrix是样本矩阵,s是子列的长度,n是多项式阶数
  18. jisu<-0
  19. y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
  20. for(i in 1:(length(y)/s)){
  21. jisu<-jisu+(del(ymatrix[i,],n,s))^2
  22. }
  23. return(sqrt(jisu/(length(y)/(2*s))))
  24. }

  25. ###计算hurst指数
  26. s<-10
  27. n<-3
  28. H<-log(fs(x,getmatrix(x,s),s,n),2)/log(s,2)
复制代码

我用数列x<-c(1/(1:100)),n=3,s=10测试,H=-15.22023
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
admin_kefu + 30 + 2 + 2 + 2 热心帮助其他会员

总评分: 论坛币 + 30  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

藤椅
乐文义 发表于 2018-2-8 17:24:41
  1. ###DFA方法估计hurst
  2. ##获得分组
  3. getmatrix<-function(x,s){#x是时间序列,s是子列的长度
  4. x<-cumsum(x-mean(x))
  5. y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
  6. N<-length(y)/(2*s)
  7. ymatrix<-t(matrix(y,s))#分组2*N行s列的矩阵,每一行为一组
  8. return(ymatrix)
  9. }

  10. ###计算消除趋势序列均值
  11. del<-function(yi,n,s){#yi是各组子列,n是多项式阶数
  12. xn<-c(1:s)
  13. model<-lm(yi ~ poly(xn,n))
  14. return(mean(yi-predict(model)))
  15. }

  16. ###计算均值平方根
  17. fs<-function(x,ymatrix,s,n){#ymatrix是样本矩阵,s是子列的长度,n是多项式阶数
  18. jisu<-0
  19. y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
  20. for(i in 1:(length(y)/s)){
  21. jisu<-jisu+(del(ymatrix[i,],n,s))^2
  22. }
  23. return(sqrt(jisu/(length(y)/(2*s))))
  24. }

  25. ###计算hurst指数
  26. s<-10
  27. n<-3
  28. H<-log(fs(x,getmatrix(x,s),s,n),2)/log(s,2)
复制代码


我用x<-c(1/(1:100)),n=3,s=10测试,最后H=-15.22023

板凳
乐文义 发表于 2018-2-8 17:25:50
###DFA方法估计hurst
##获得分组
getmatrix<-function(x,s){#x是时间序列,s是子列的长度
x<-cumsum(x-mean(x))
y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
N<-length(y)/(2*s)
ymatrix<-t(matrix(y,s))#分组2*N行s列的矩阵,每一行为一组
return(ymatrix)
}

###计算消除趋势序列均值
del<-function(yi,n,s){#yi是各组子列,n是多项式阶数
xn<-c(1:s)
model<-lm(yi ~ poly(xn,n))
return(mean(yi-predict(model)))
}

###计算均值平方根
fs<-function(x,ymatrix,s,n){#ymatrix是样本矩阵,s是子列的长度,n是多项式阶数
jisu<-0
y<-c(x[1:(round(length(x)/s)*s)],x[(length(x)-round(length(x)/s)*s+1):length(x)])
for(i in 1:(length(y)/s)){
jisu<-jisu+(del(ymatrix[i,],n,s))^2
}
return(sqrt(jisu/(length(y)/(2*s))))
}

###计算hurst指数
s<-10
n<-3
H<-log(fs(x,getmatrix(x,s),s,n),2)/log(s,2)

x<-c(1/(1:100)),n=3,s=10,最后H=-15.22023

报纸
小胖砸和小短腿 发表于 2019-7-13 22:20:09
乐文义 发表于 2018-2-8 17:25
###DFA方法估计hurst
##获得分组
getmatrix
请问第一行的命令输入后出现,此上下文不允许函数定义,是咋回事

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-30 13:03