我需要创建一个每分钟烛台聚合的价格时间序列使用Redis时间序列模块。
我能够聚合大多数所需的列,如openPrice (首先使用)、closePrice (使用最后)、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)发布于 2022-09-03 14:12:13
是的,redis timeseries是正确的工具。使用python,您可以使用RedisTimeseriesManager在几行代码中实现它。
https://stackoverflow.com/questions/68883590
复制相似问题