【发布时间】:2012-03-20 07:18:22
【问题描述】:
我有一个 xts 的股票交易事件序列,我想对其进行处理以生成 1 分钟的 OHLC 时间序列。例如这组交易:
Timestamp Price Size
9:30:00.123 12.32 200
9:30.00.532 12.21 100
9:30.32.352 12.22 500
9:30.45.342 12.35 200
应该是 9:30:00 的记录:
Timestamp Open High Low Close
9:30:00 12.32 12.35 12.21 12.35
我的处理方法是按分钟拆分原始交易系列:
myminseries = do.call(rbind, lapply(split(mytrades, "minutes"), myminprocessing))
这会产生我想要的记录,但有一个问题:如果股票在给定的分钟内没有任何交易,我将完全错过该分钟记录。相反,我想要的是为丢失的交易分钟记录全 0。例如,如果 9:31:00 没有任何交易,我应该:
Timestamp Open High Low Close
9:30:00 12.32 12.35 12.21 12.35
9:31:00 0 0 0 0
9:32:00 12.40 12.42 12.38 12.42
如何回填 1 分钟系列?还是应该使用与 split() 完全不同的方法?
【问题讨论】: