首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis TimeSeries是捕捉股票价格中蜡烛棒的正确工具吗?

Redis TimeSeries是捕捉股票价格中蜡烛棒的正确工具吗?
EN

Stack Overflow用户
提问于 2020-06-23 08:37:45
回答 3查看 1.6K关注 0票数 4

我目前正试图做一个简单的实现股票价格烛台。假设我们有一种股票叫做XYZ。这只股票收到的价格流(没有特定的频率),它(例如)看起来: XYZ: 10.2,10.7,12,11 .

目标是记录每一分钟的指标,以反映该股票的状态。蜡烛棒有收盘价(最后知道的价格在一分钟内),高价格(一分钟内的最高价格)...etc等指标。

我认为我可以实现这一点的一种方法是使用红系TimeSeries。我考虑这个解决方案是因为我可以对价格流进行创建规则,每60秒它就会刷新一些聚合(比如: max、min、first..etc)。到目的地的水桶。

我目前使用Redis TimeSeries (在Python中)实现了用于的蜡烛棒,每个的股价看起来都是这样的(再次使用股票XYZ ),并且没有简单的标签:

代码语言:javascript
复制
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)

我的问题是:

  1. 是否有一种方法可以发送多个聚合(如max、last...etc)。在一条规则中,而不是为每个股票创建多个源和目标桶?
  2. 对于这个任务,Redis TimeSeries是一个合适的选择吗?还是使用另一个解决方案(例如Redis )会更容易呢?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-06-24 09:57:16

  1. 没有任何选项可以将多个聚合发送到一个下样例系列,因为每个时间戳都可以包含一个。您可以使用标签一次查询所有系列。
  2. RedisTimeSeries将是一个很好的解决方案,因为它会在插入时降低数据的采样,所以查询它会非常快。它还使用双增量压缩,这意味着您的数据将需要比其他一些解决方案更少的内存。如果你只关心烛台的话,你甚至可以用保留来退休源数据。
代码语言:javascript
复制
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)
票数 3
EN

Stack Overflow用户

发布于 2020-06-24 12:26:27

f4,谢谢你尝试RedisTimeSeries。

您可以将模块配置为自动创建符合预定义规则的规则。它在文档:政策-政策中进行了描述。

我希望这能解决你的问题。

票数 2
EN

Stack Overflow用户

发布于 2022-09-03 14:05:13

我创建了一个名为RedisTimeseriesManager的包,它能够自动创建所有下采样规则。有关功能齐全的实现,请参见data.ipynb

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62530654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档