У меня есть последовательность событий торговли акциями, которые я хочу обработать для генерации 1-минутной серии OHLC. Например, этот набор профессий:R xts: генерация 1-минутного временного ряда из вторых событий
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))
Это создает записи, которые я хочу, но есть проблема: если у акции нет какой-либо сделки за определенную минуту, я полностью пропущу эту минутную запись. Вместо этого я хочу иметь всю запись 0s для минуты недостающих профессий. Например, если нет никакой торговли в 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()?
выглядит он, вероятно, хочет, чтобы обернуть align.time вокруг него также. – GSee