gpt4 book ai didi

redis - Redis TimeSeries 是捕捉股票价格烛台的正确工具吗

转载 作者:行者123 更新时间:2023-12-03 06:41:10 25 4
gpt4 key购买 nike

我目前正在尝试为股票价格烛台做一个简单的实现。假设我们有一只名为 XYZ 的股票。该股票收到一系列价格(没有特定频率),(例如)看起来像:XYZ: [10.2, 10.7, 12, 11 ....]。
目标是记录每分钟过去的一些指标,以反射(reflect)该股票的状态。 candle stick具有诸如收盘价(一分钟内的最后已知价格)、高价(一分钟内的最高价格)等指标。
我认为可以实现的一种方法是使用 Redis TimeSeries .我考虑了这个解决方案,因为我可以 create rules在价格流上,每 60 秒它会将一些聚合(如:max、min、first..etc.)刷新到目标存储桶。
我当前的实现使用 Redis TimeSeries(在 Python 中)用于 的烛台每个股票价格看起来像这样(再次以股票 XYZ 为例)并且为了简单起见没有标签:

from redistimeseries.client import Client
r = Client()
r.flushdb()

# Create source & destination buckets
r.create('XYZ_PRICES') # source
r.create(closing_price)
r.create(highest_price)
# Create rules to send data from src -> closing_price & highest_price buckets
r.createrule(src, 'closing_price', 'last', bucket_size_msec=60000)
r.createrule(src, 'highest_price', 'max', bucket_size_msec=60000)
我的问题是:
  • 有没有一种方法可以在一个规则中发送多个聚合(如 max、last...等),而不是为每只股票创建多个源和目标存储桶?
  • Redis TimeSeries 是该任务的合适选择吗?还是使用其他解决方案(例如 Redis 流)会更容易吗?
  • 最佳答案

  • 没有选项可以将多个聚合发送到下采样系列,因为每个时间戳可以保存一个。您可以使用标签一次查询所有系列。
  • RedisTimeSeries 将是一个很好的解决方案,因为它会在插入时对您的数据进行下采样,因此查询它会非常快。它还使用双增量压缩,这意味着您的数据将需要比其他一些解决方案更少的内存。如果您只关心烛台,您甚至可以使用保留来淘汰源数据。
  • r.create('XYZ_PRICES', retention_msecs=300000, labels={'name':'xyz', 'type:src'})

    r.create(opeing_price, labels={'name':'xyz', 'type:opening'})
    r.create(closing_price, labels={'name':'xyz', 'type:closing'})
    r.create(highest_price, labels={'name':'xyz', 'type:highest'})
    r.create(lowest_price, labels={'name':'xyz', 'type:lowest'})

    r.createrule(src, 'opening_price', 'first', bucket_size_msec=60000)
    r.createrule(src, 'closing_price', 'last', bucket_size_msec=60000)
    r.createrule(src, 'lowest_price', 'min', bucket_size_msec=60000)
    r.createrule(src, 'highest_price', 'max', bucket_size_msec=60000)

    关于redis - Redis TimeSeries 是捕捉股票价格烛台的正确工具吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62530654/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com