与动物园的每日变化

时间:2015-04-21 13:05:54

标签: r time-series zoo

我试图比较两个时间序列的波动性,看看如下:

  • A系列与B系列的平均每日变化
  • A系列与B系列中每日最大变化
  • 每日更改的sd是系列A与B
  • 系列A和B之间的最大差异

我是R的新手,但是每个人似乎都在推荐时间序列动物园。我一遍又一遍地搜索,没有一个关于如何找到日常变化的教程...

现在我有了这个:

series<-c("A","B")  
dateStart="01-jan-15"
DateEnd=format(Sys.Date(),format="%d-%b-%y")
dfa=getMyData(series[1],dateStart,DateEnd)
dfb=getMyData(series[2],dateStart,DateEnd)
df <-merge(dfa,dfb,by="date")  
df$date<-as.Date(df$date)
df=rename(df, c("price.x"="A"))
df=rename(df, c("price.y"="B"))
df=df[ , !names(df) %in% c("series.x","series.y")]  
df$Difference=df$A-df$B
abc <- read.zoo(df)
summary(abc)

我错过了一些非常简单的事情吗?当然,用于时间序列分析的包应该有一个功能解决方案来添加每日更改吗?

1 个答案:

答案 0 :(得分:2)

让我们先创建数据

z.index = as.Date(12550:12554)
z1 = zoo(seq(1,3,6,4,3), order.by = z.index)
z2 = zoo(seq(2,7,4,8,3), order.by = z.index)

A系列与B系列的平均每日变化 - 两者之间的差异

mean(diff(z1)) - mean(diff(z2))
系列A与B的最大日变化 - 每个系列中最大的

max(diff(z1)); max(diff(z2))
每日变化的sd是A系列与B系列

sd(diff(z1)); sd(diff(z2))
系列A和B之间的最大差异 - 如果你的意思是绝对差异

max(abs(z1 - z2));