1

I need to create a per minute candlesticks aggregation of the price time series using the Redis time series module.

I was able to aggregate most of the required columns like openPrice (using first), closePrice (using last), highPrice (using max), lowPrice (using min).

However I am absolutely clueless how to aggregate efficiently the openTimestamp and closeTimestamp.

In general I cannot find a way to access only the timestamp of the time series and create rules for it.

The only way that I can perform it using rules is to save in addition to my price time series a time series with (timestamp, timestamp) which I really don't want to do.

Here is my sample code.

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)

Is Redis TimeSeries the right tool to capture candle sticks in stock prices

1 Answer 1

0

Yes, redis timeseries is the right tool. With python, you can implement it in just a few lines of code using RedisTimeseriesManager

Sign up to request clarification or add additional context in comments.

1 Comment

Please don't add "thank you" as an answer. Once you have sufficient reputation, you will be able to vote up questions and answers that you found helpful. - From Review

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.