Как агрегировать метку времени с помощью модуля redis timeseries?
Мне нужно создать агрегацию поминутных свечей временного ряда цен с помощью модуля временных рядов Redis.
Мне удалось собрать большинство необходимых столбцов, таких как openPrice (используя first), closePrice (используя last), highPrice (используя max), lowPrice (используя min).
Однако я совершенно не понимаю, как эффективно агрегировать openTimestamp и closeTimestamp.
В общем, я не могу найти способ получить доступ только к отметке времени временного ряда и создать для него правила.
Единственный способ, которым я могу выполнить это с помощью правил, - это сохранить в дополнение к моему ценовому временному ряду временной ряд с (отметкой времени, отметкой времени), что я действительно не хочу делать.
Вот мой пример кода.
from redistimeseries.client import Client
from datetime import datetime
from random import randint
rts = Client()
rts.create('price')
rts.create('openPrice')
rts.create('closePrice')
rts.create('lowPrice')
rts.create('highPrice')
rts.createrule('price', "openPrice", 'first', bucket_size_msec=60000)
rts.createrule('price', 'closePrice', 'last', bucket_size_msec=60000)
rts.createrule('price', 'lowPrice', 'min', bucket_size_msec=60000)
rts.createrule('price', 'highPrice', 'max', bucket_size_msec=60000)
# inserting test data
now = datetime.utcnow()
now_int = 1000 * int(now.timestamp())
prices = []
for i in range(5000):
r_n = randint(1, 1000000)
new_time = now_int + i*1000
rts.add('price', new_time, r_n)
Redis TimeSeries - подходящий инструмент для отслеживания свечей в ценах акций
1 ответ
Да, временные ряды redis — правильный инструмент. С помощью python вы можете реализовать его всего за несколько строк кода, используя RedisTimeseriesManager .