Не является дубликатом: Binning Dates in R или Биннинг данных о времени в R
Контекст
Я использую getMultipleTicks
в Rblpapi
для получения тиковых данных по акции (в данном примере TSLA) за месяц:
rawData = getMultipleTicks("tsla us equity", eventType = "TRADE", startTime = as.POSIXlt("2017-03-10 13:30:00"), endTime = as.POSIXlt("2017-04-10 20:00:00"), tz="America/New_York")
> str(rawData)
'data.frame': 1130690 obs. of 3 variables:
$ times: POSIXct, format: "2017-03-10 08:30:07" ...
$ value: num 246 246 246 246 246 ...
$ size : num 58 42 80 5 9 1 4 73 100 941 ...
Цель
Эти данные необходимо преобразовать из этого:
Необработанные данные:
> head(rawData, 5)
times value size
1 2017-04-10 09:30:00 309 1
2 2017-04-10 09:30:00 309 1
3 2017-04-10 09:30:02 309 1
4 2017-04-10 09:30:02 308 1
5 2017-04-10 09:30:04 309.38 1
К этому:
Чистые данные:
> head (cleanData, 5)
times value size
1 2017-04-10 09:30:00 309 2
2 2017-04-10 09:30:01 0
3 2017-04-10 09:30:02 308.5 2
4 2017-04-10 09:30:03 0
5 2017-04-10 09:30:04 309.38 1
- Пропущенное время (в секундах) заполняется
- Цены (значения указаны в VWAP)
- Объемы (размеры) суммируются
Время вычислений не имеет значения.
Что я пробовал
Я наивно пытался использовать ?cut
, но не смог добиться каких-либо значимых результатов на данные времени биннинга в R .
Коллега предложил использовать цикл for, но не знает, как начать его реализацию с указанными выше требованиями.