You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For example, I have 1 minute scale tick data, and I'd like add 5 minute/ 15 minute feature upon .
I wrote a function
def apply_over(func, arr, stride):
n = len(arr)
s = np.empty(n).reshape(-1, stride)
for i in range(stride):
s[:,i] = func(arr[i::stride])
return s.reshape(n,)
This generate 5 minute SMA features for each 1 minute tick .
I'd like adapt above code to every talib function, though there are many Indicator need multi input.
So wonder is there any suggestion way to wrap talib function with my apply_over fucntion ?
Is your issue that you have a column of TA-Lib output and want to “adjust”
that output to a different timescale?
Normally one would adjust the OHLCV data to a different timescale and then
call TA-Lib functions on that new timescale.
On Tue, Mar 14, 2023 at 9:20 AM eromoe ***@***.***> wrote:
For example, I have 1 minute scale tick data, and I'd like add 5 minute/
15 minute feature upon .
I wrote a function
def apply_over(func, arr, stride):
n = len(arr)
s = np.empty(n).reshape(-1, stride)
for i in range(5):
s[:,i] = func(arr[i::5])
return s.reshape(n,)
This generate 5 minute SMA features for each 1 minute tick .
arr = np.arange(n).astype(float)
sma_5_5 = apply_over(lambda a: talib.SMA(a, 5) , arr, 5)
I'd like adapt above code to every talib function, though there are many
Indicator need multi input.
So wonder is there any suggestion way to wrap talib function with my
apply_over fucntion ?
Or I have to rewrite all the functions ...
—
Reply to this email directly, view it on GitHub
<#583>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAF5AYCWKDDVW5JLQGYNX3W37THDANCNFSM6AAAAAAVZ42Y4U>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
For example:
A series ...,500, 501, 502, 503, 504 , 505,....
At 505,
1 minute scale = SMA([ 501, 502, 503, 504 , 505])
5 minute scale = SMA([ 485, 490, 495, 500 , 505])
Using pandas resmple(freq='5min').first() would make gaps , shrink arr length from 1000 to 200 . You need do it 5 times with each shift [0,1,2,3,4] and apply SMA to make sure every tick have 5 minute feature, , like what I do in apply_over
Activity
mrjbq7 commentedon Mar 14, 2023
eromoe commentedon Mar 14, 2023
No, arr is input .
you can think
arr = np.arange(1000).astype(float)as a stock close price at minute level .It is a 1000 time tick collection.
On every tick , I need calculate
sma5ontalib.SMA(arr, 5))apply_over(lambda a: talib.SMA(a, 5) , arr, 5))apply_over(lambda a: talib.SMA(a, 5) , arr, 15))For example:
A series
...,500, 501, 502, 503, 504 , 505,....At 505,
Using
pandas resmple(freq='5min').first()would make gaps , shrinkarrlength from1000to200. You need do it 5 times with each shift [0,1,2,3,4] and applySMAto make sure every tick have 5 minute feature, , like what I do inapply_overeromoe commentedon Mar 14, 2023
I am looking for a way, either inherit a interface or a wrap to achieve my goal efficiently.
Avoid writing too much replicated codes.
Marc-Bogonovich commentedon Sep 23, 2023
Hello @eromoe , I'm curious if you've had any progress on this issue. I am currently working on similar code myself.