如何从R中的1分钟刻度数据中提取特定的重复时间?

时间:2011-04-09 06:20:39

标签: r time-series trading bloomberg

例如,假设我想在每天09:04:00从格式为的时间序列中提取价格:

DateTime            | Price
2011-04-09 09:01:00 | 100.00
2011-04-09 09:02:00 | 100.10
2011-04-09 09:03:00 | 100.13

(注意:在实际数据中没有|,我刚刚将它包含在这里,以说明DateTime是索引,而Price是coredata,两者在xts对象中是不同的)

并将这些提取的值放入xts向量中......最有效的方法是什么?

另外,如果我有一个五年的跨境传播时间序列,由于时间差异,在一年中的不同时间(例如冬季上午9点,夏季时间上午10点)开始传播,我怎么能让R考虑到这些时差,并将上午9点至下午6点30分或上午10点至下午6点30分视为相同的“日”间隔。

换句话说,我想将日内,1米刻度数据文件转换为每日OHLC数据。通常只会使用xts和to.period来做到这一点,但是 - 考虑到上面提到的时间差 - 给出奇数/奇怪的一天开始/结束时间

非常感谢任何建议!

1 个答案:

答案 0 :(得分:3)

您可以使用带有xts子集的“T”前缀为每天指定时间 interval 。您必须指定间隔;一次不行。

set.seed(21)
x <- xts(cumprod(1+rnorm(2*60*24)/100),
  as.POSIXct("2011-04-09 09:01:00")+60*(1:(2*60*24)))
x["T09:01:59/T09:02:01"]
#                          [,1]
# 2011-04-09 09:02:00 0.9980737
# 2011-04-10 09:02:00 1.0778835