У меня есть временной ряд (xts
), и я пытаюсь получить максимальное значение за последние 30 секунд столбца Цена
Я попробовал функцию rollapply
, но с шириной как время, и она, кажется, работает.
require(lubridate)
df$high_last_30secs <- rollapply(df$Price, width = seconds(30), FUN = max)
Но это не измерение 30 секунд назад, как я предполагал.
Вы можете видеть, что в "2018-02-01 09:02:45" high_last_30secs
равно 3205.0, но 3205.0 в столбце Price
происходит только в "2018-02-01 09:02:11", 34 секунды назад, когда должно было быть 30 ... это немного, но я нашел это очень странным.
Price high_last_30secs
2018-02-01 09:02:11 3205.0 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:12 3204.5 3205.0
2018-02-01 09:02:13 3204.5 3205.0
2018-02-01 09:02:14 3204.5 3205.0
2018-02-01 09:02:19 3204.0 3205.0
2018-02-01 09:02:19 3204.0 3205.0
2018-02-01 09:02:25 3203.5 3205.0
2018-02-01 09:02:30 3203.5 3205.0
2018-02-01 09:02:30 3203.5 3205.0
2018-02-01 09:02:30 3203.5 3205.0
2018-02-01 09:02:30 3203.5 3205.0
2018-02-01 09:02:33 3203.5 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:35 3204.0 3205.0
2018-02-01 09:02:38 3204.0 3205.0
2018-02-01 09:02:38 3204.0 3205.0
2018-02-01 09:02:38 3204.0 3205.0
2018-02-01 09:02:38 3204.0 3205.0
2018-02-01 09:02:38 3204.0 3205.0
2018-02-01 09:02:44 3203.5 3205.0
2018-02-01 09:02:45 3203.5 3205.0
2018-02-01 09:02:46 3203.5 3204.5
2018-02-01 09:02:46 3203.5 3204.5
2018-02-01 09:02:46 3203.5 3204.5
Я попробовал некоторые варианты функции rollapply
. Лучший из них был Cummax как FUN, но у меня проблема с размерами
Очень ценю любую помощь!
для воспроизведения:
structure(c(3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5,
3204, 3203, 3203, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3204, 3204, 3204, 3204,
3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204.5, 3204.5,
3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5,
3204.5, 3204.5, 3204.5, 3204.5, 3205, 3205, 3205, 3204.5, 3204.5,
3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5,
3204.5, 3205, 3205, 3205, 3204.5, 3204.5, 3204.5, 3204.5, 3204.5,
3204.5, 3204.5, 3204.5, 3204, 3204, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204,
3204, 3204, 3204, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3204, 3204, 3204, 3204, 3204, 3204, 3204, 3204,
3204, 3204, 3204, 3204, 3204, 3204, 3203.5, 3203.5, 3203.5, 3203.5,
3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5, 3203.5
), index = structure(c(1517482905, 1517482905, 1517482905, 1517482905,
1517482905, 1517482905, 1517482905, 1517482905, 1517482908, 1517482908,
1517482909, 1517482910, 1517482910, 1517482910, 1517482910, 1517482911,
1517482911, 1517482911, 1517482912, 1517482913, 1517482913, 1517482913,
1517482913, 1517482913, 1517482913, 1517482913, 1517482913, 1517482913,
1517482913, 1517482914, 1517482914, 1517482914, 1517482914, 1517482914,
1517482916, 1517482916, 1517482917, 1517482918, 1517482918, 1517482918,
1517482923, 1517482923, 1517482923, 1517482923, 1517482923, 1517482923,
1517482923, 1517482923, 1517482924, 1517482926, 1517482926, 1517482926,
1517482926, 1517482926, 1517482927, 1517482930, 1517482930, 1517482930,
1517482930, 1517482930, 1517482930, 1517482930, 1517482931, 1517482931,
1517482931, 1517482931, 1517482931, 1517482931, 1517482931, 1517482931,
1517482931, 1517482931, 1517482932, 1517482932, 1517482932, 1517482932,
1517482932, 1517482932, 1517482933, 1517482934, 1517482939, 1517482939,
1517482945, 1517482950, 1517482950, 1517482950, 1517482950, 1517482953,
1517482955, 1517482955, 1517482955, 1517482955, 1517482955, 1517482955,
1517482958, 1517482958, 1517482958, 1517482958, 1517482958, 1517482964,
1517482965, 1517482966, 1517482966, 1517482966, 1517482966, 1517482967,
1517482967, 1517482967, 1517482969, 1517482970, 1517482970, 1517482970,
1517482970, 1517482970, 1517482970, 1517482975, 1517482975, 1517482975,
1517482975, 1517482975, 1517482975, 1517482975, 1517482975, 1517482977,
1517482978, 1517482978, 1517482978, 1517482978, 1517482982, 1517482987,
1517482987, 1517482987, 1517482987, 1517482987, 1517482987, 1517482987,
1517482987, 1517482991, 1517482991, 1517482991, 1517482991), tzone = "", tclass = c("POSIXct",
"POSIXt")), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), .indexTZ = "", tclass = c("POSIXct", "POSIXt"), tzone = "", .Dim = c(141L,
1L), .Dimnames = list(NULL, "Price"))