隔夜库存数据的周期性

时间:2018-01-10 00:59:01

标签: r quantmod

我经常使用to.daily将1分钟OHLC数据转换为每日格式,但我正试图找到一种方法来对夜间数据做同样的事情。我希望看到选项指定“日”开始和结束的时间,但没有看到。

隔夜会议时间为18:00至09:30。

有没有人有一个简单的方法来做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以使用which.i = TRUE的时间子集来查找您不想要的所有观察结果。然后使用结果的负数对原始数据进行子集化,这样就可以删除所有非过夜观察值。

# assume data are in a xts object named 'x'
DayObs <- x["T09:30/T18:30", which.i = TRUE]
Overnight <- x[-DayObs,]

您可能需要更改时间子集调用中的开始和结束时间。

如果您已经拥有数据子集以便它只包含隔夜会话,那么您可以聚合到&#34;每天&#34;使用period.apply()和自定义端点。假设您的数据位于名为x的对象中:

ep <- c(0, which(diff(.indexhour(x) > 9 & .indexmin(x) > 30) == 1))
makeOHLC <- function(x) {
  op <- as.numeric(first(x))
  cl <- as.numeric(last(x))
  c(Open = op, High = max(x), Low = min(x), Close = cl)
}
period.apply(x, ep, makeOHLC)