Как агрегировать метку времени с помощью модуля 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 .

Другие вопросы по тегам