【发布时间】:2020-10-13 06:32:23
【问题描述】:
我目前正在尝试为股票价格烛台做一个简单的实现。假设我们有一只名为 XYZ 的股票。该股票接收价格流(没有特定频率),(例如)看起来像:XYZ: [10.2, 10.7, 12, 11 ....]。
目标是记录每分钟的一些指标,以反映该股票的状态。 candle stick 具有收盘价(一分钟内的最后已知价格)、高价(一分钟内的最高价格)等指标。
我认为可以实现这一点的一种方法是使用Redis TimeSeries。我考虑了这个解决方案,因为我可以在价格流上create rules,并且每 60 秒它会将一些聚合(如:max、min、first..等)刷新到目标存储桶。
我当前使用 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 流)会更容易吗?
【问题讨论】:
标签: redis time-series candlestick-chart py-redis redistimeseries