我目前正试图做一个简单的实现股票价格烛台。假设我们有一种股票叫做XYZ。这只股票收到的价格流(没有特定的频率),它(例如)看起来: XYZ: 10.2,10.7,12,11 .
目标是记录每一分钟的指标,以反映该股票的状态。蜡烛棒有收盘价(最后知道的价格在一分钟内),高价格(一分钟内的最高价格)...etc等指标。
我认为我可以实现这一点的一种方法是使用红系TimeSeries。我考虑这个解决方案是因为我可以对价格流进行创建规则,每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)我的问题是:
发布于 2020-06-24 09:57:16
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)发布于 2020-06-24 12:26:27
发布于 2022-09-03 14:05:13
我创建了一个名为RedisTimeseriesManager的包,它能够自动创建所有下采样规则。有关功能齐全的实现,请参见data.ipynb。
https://stackoverflow.com/questions/62530654
复制相似问题