R xts: gerando séries temporais de 1 minuto a partir de segundos eventos
Tenho uma sequência xts de eventos de negociação de ações que desejo processar para gerar séries temporais de 1 minuto da OHLC. Por exemplo, este conjunto de negociações:
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
Deve resultar no registro 9:30:00:
Timestamp Open High Low Close
9:30:00 12.32 12.35 12.21 12.35
A maneira como me aproximei disso é dividir a série de operações original a cada minuto:
myminseries = do.call(rbind, lapply(split(mytrades, "minutes"), myminprocessing))
Isso produz os registros que eu quero, mas há um problema: se o estoque não tiver nenhuma negociação em um determinado minuto, eu perderei completamente esse registro de minutos. Em vez disso, o que eu quero é ter um registro de todos os 0s para o minuto de negociação que falta. Por exemplo, se não houver negociação às 9:31:00, eu deveria ter:
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
Como posso preencher a série de 1 minuto? Ou devo usar uma abordagem completamente diferente de split ()?