R xts: generar series de tiempo de 1 minuto a partir de segundos eventos
Tengo una secuencia xts de eventos de comercio de acciones que quiero procesar para generar series de tiempo OHLC de 1 minuto. Por ejemplo, este conjunto de oficios:
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
Debería resultar en el registro de las 9:30:00:
Timestamp Open High Low Close
9:30:00 12.32 12.35 12.21 12.35
La forma en que abordé esto es dividir la serie comercial original por minuto:
myminseries = do.call(rbind, lapply(split(mytrades, "minutes"), myminprocessing))
Esto produce los registros que quiero pero hay un problema: si la acción no tiene ningún intercambio en un minuto dado, perderé ese registro de minutos por completo. En cambio, lo que quiero es tener un registro de todos los ceros para el minuto de operaciones faltantes. Por ejemplo, si no hay comercio a las 9:31:00 debería tener:
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
¿Cómo puedo rellenar la serie de 1 minuto? ¿O debería usar un enfoque completamente diferente al de split ()?