在 xts 中开始分钟数据聚合

Starting minute in minute data aggregation in xts

我对 xts to.hourlysplit 方法有疑问。似乎它假定如果我的时间戳是 12:00,则表示一分钟 12:00-12:01。但是,我的数据提供者考虑到了 11:59-12:00。我没有找到任何参数。是让我的时间序列延迟一分钟的唯一解决方案吗?

您的问题实际上是关于 endpoints 函数的,to.hourlysplit.xts 和其他几个函数用来定义间隔。

endpoints函数"assumes"你的时间戳是实际的日期时间,12:00:00的时间是12月的开始 '时钟小时。如果您的数据分辨率为 1 分钟,则 12:00:00 的时间落在 12:00:00.0-12:00:59.999.

的区间内

没有您可以更改的参数,使 xts 表现得好像 12:00:00 的时间意味着它实际上不是什么。

如果您确定您的数据提供者在 11:59:00.0-11:59:59.999 间隔内出现的数据上放置了时间戳 12:00,那么您可能能够简单地从 xts 对象索引中减去一个小值。

# assuming 'x' is your xts object
.index(x) <- .index(x) - 0.001

也就是说,您需要仔细考虑这样做,因为犯错可能会导致您有前瞻性偏差。