隔夜股票数据的周期性

Periodicity for overnight stock data

我经常使用 to.daily 将 1 分钟 OHLC 数据转换为每日格式,但我正在尝试找到一种方法来对夜间数据执行相同的操作。我希望看到指定 "day" 开始和结束时间的选项,但没有看到。

隔夜 session 从 18:00 到 09:30。

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

您可以使用 which.i = TRUE 的时间子集来查找您不需要的所有观察结果。然后将原始数据与结果的负数进行子集化,因此所有非隔夜观测值都将被丢弃。

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

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


如果您已经有了数据子集,因此它只包含隔夜会话,您可以使用 period.apply() 和自定义端点聚合到 "daily"。假设您的数据位于名为 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)