首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R时间序列-制作布林线有问题-需要简单的例子

R时间序列-制作布林线有问题-需要简单的例子
EN

Stack Overflow用户
提问于 2010-09-09 07:45:46
回答 2查看 1.3K关注 0票数 4

学习R语言-我知道如何做移动平均,但我需要做更多-但我不是一个统计学家-不幸的是,所有的文档似乎都是为统计学家写的。

我在excel中做了很多这方面的工作,它对于分析运营活动非常方便。

下面是每行上要生成bollinger bands的字段

值可以是呼叫数、投诉率等任何值

TimeStamp | Value |移动平均值|移动标准差|下部控件|上部控件

简而言之,移动的avg和stdevP指向序列中的前8个左右的值。给定时间点的下部控件=移动平均-2*移动stdevP,上部控件=移动平均+2*移动stdevP

这可以很容易地在excel中完成单个文件,但如果我能找到一种方法使R工作,R将更好地满足我的需要。希望自动化时也能更快、更可靠。

链接或提示将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-30 22:29:54

您可以使用zoo包中的函数rollapply(),前提是您使用的是一个动物园系列:

代码语言:javascript
复制
TimeSeries <- cumsum(rnorm(1000))
ZooSeries <- as.zoo(TimeSeries)

BollLines <- rollapply(ZooSeries,9,function(x){
    M <- mean(x)
    SD <- sd(x)
    c(M,M+SD*2,M-SD*2)
})

现在您必须记住,rollapply使用居中框架,这意味着它将值放在当天的左侧和右侧。与您建议的取x先验值相比,这对于Bollinger带的定义也更方便、更真实。

如果您不想转换为zoo,也可以使用向量并编写自己的函数。我添加了一个基于S3的绘图函数,它允许您轻松地绘制计算。使用这些函数,您可以执行以下操作:

代码语言:javascript
复制
TimeSeries <- cumsum(rnorm(1000))
X <- BollingerBands(TimeSeries,80)
plot(X,TimeSeries,type="l",main="An Example")

要获得以下信息:

功能代码:

代码语言:javascript
复制
BollingerBands <- function(x,width){
  Start <- width +1
  Stop <- length(x)
  Trail <- rep(NA,ceiling(width/2))
  Tail <- rep(NA,floor(width/2))

  Lines <- sapply(Start:Stop,function(i){
    M <- mean(x[(i-width):i])
    SD <- sd(x[(i-width):i])
    c(M,M+2*SD,M-2*SD)
  })


  Lines <- apply(Lines,1,function(i)c(Trail,i,Tail))
  Out <- data.frame(Lines)
  names(Out) <- c("Mean","Upper","Lower")

  class(Out) <- c("BollingerBands",class(Out))

  Out
}

plot.BollingerBands <- function(x,data,lcol=c("red","blue","blue"),...){
    plot(data,...)

    for(i in 1:3){
      lines(x[,i],col=lcol[i])
    }
}
票数 3
EN

Stack Overflow用户

发布于 2011-04-04 07:51:10

R Graph Gallery (65)中有一个插图,给出了计算波段和绘制股票价格的代码。

2005年的代码似乎在六年后仍然有效,并将给出IBM当前的股价和几个月前的股价

最明显的bug是带宽和容量下部图表的宽度,这两个图表已经缩小;覆盖的天数可能还有另一个。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3672761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档