楼主: Sunshine飞鸟
4642 1

[问答] 根据R/S分析法算法编写的rsFit函数来求Hurst指数 [推广有奖]

  • 1关注
  • 0粉丝

本科生

32%

还不是VIP/贵宾

-

威望
0
论坛币
186 个
通用积分
0.0001
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2101 点
帖子
23
精华
0
在线时间
142 小时
注册时间
2014-11-18
最后登录
2024-2-26

楼主
Sunshine飞鸟 学生认证  发表于 2015-12-13 20:29:50 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

rsFit

function (x, levels = 50, minnpts = 3, cut.off = 10^c(0.7, 2.5),

    doplot = FALSE, trace = FALSE, title = NULL, description = NULL)

{

    call = match.call()

    data = list(x = x)

    x = as.vector(x)

    n = length(x)

    increment = (log10(n/minnpts))/levels

    M = floor(10^((1:levels) * increment))

    M = M[M > 1]

    Y = cumsum(x)

    Y2 = cumsum(x * x)

    RS = NULL

    for (m in M) {

        S = sqrt(Y2[m]/m - (Y[m]/m)^2)

        Z = Y[1:m] - (1:m) * Y[m]/m

        STATS = (max(Z) - min(Z))/S

        RS = c(RS, STATS)

        if (trace)

            cat("\n\tm = \t", m, "\tR/S = \t", STATS)

    }

    if (trace)

        cat("\n")

这是重标极差法(R/S分析法)的算法程序,下图为所依据的算法步骤的一部分:

首先,我对照算法来看程序,不知求所有子区间a的极差的均值这一步在程序哪里体现;

其次,RS = c(RS, STATS)和if (trace)以及cat函数这两步是什么意思;

还有,我用数据运行过,发现S,Z显示都是null,且报错如下,

Error in if (trace) cat("\n\tm = \t", m, "\tR/S = \t", STATS) :

  argument is not interpretable as logical;Error in if (trace) cat("\n") : argument is not interpretable as logical

本人刚接触编程,还想根据经典R/S法来自己编写修正的R/S法和V/S法用于论文,但一上来就被卡住了,希望各位高手帮忙解答下,如能直接提供以上两个程序,必有重谢,非常感谢!


二维码

扫码加我 拉你入群

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

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

关键词:Hurst指数 hurst Urs fit 分析法 levels 分析法 title

沙发
jyt8866989 发表于 2016-3-28 10:33:12
哥们,你现在搞定没?

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

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