We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignore length check
when groupby, the data length changes. If bottleneck could be the same as talib and not throw any errors, it would be great
import numpy as np import pandas as pd import talib as ta import bottleneck as bn pd._testing._N = 10 pd._testing._K = 4 df = pd._testing.makeTimeDataFrame() df.iloc[:5, 2:] = np.nan print(df) """ A B C D 2000-01-03 -0.871075 0.698964 NaN NaN 2000-01-04 -0.096067 0.305798 NaN NaN 2000-01-05 -1.691204 -1.157270 NaN NaN 2000-01-06 -1.538781 0.688315 NaN NaN 2000-01-07 -0.435411 0.337505 NaN NaN 2000-01-10 -0.874476 -0.291829 0.144669 0.594654 2000-01-11 0.613167 -0.082849 1.034253 -0.036335 2000-01-12 0.452147 0.610120 1.045389 1.367216 2000-01-13 0.401962 -0.193553 0.182087 -1.482994 2000-01-14 -1.078286 0.129149 0.491651 -0.000052 """ df = pd.DataFrame(df.stack(), columns=['CLOSE']) df.index.names = ['date', 'asset'] print(df.tail()) """ CLOSE date asset 2000-01-13 D -1.482994 2000-01-14 A -1.078286 B 0.129149 C 0.491651 D -0.000052 """ df['SMA'] = df['CLOSE'].groupby('asset', group_keys=False).apply(lambda x: ta.SMA(x, 5)) df['move_mean'] = df['CLOSE'].groupby('asset', group_keys=False).apply(lambda x: pd.Series(bn.move_mean(x, 5), index=x.index)) print(df.tail()) """ CLOSE SMA move_mean date asset 2000-01-13 D -1.482994 NaN NaN 2000-01-14 A -1.078286 -0.097097 -0.097097 B 0.129149 0.034208 0.034208 C 0.491651 0.579610 0.579610 D -0.000052 0.088498 0.088498 """ df['SMA'] = df['CLOSE'].groupby('asset', group_keys=False).apply(lambda x: ta.SMA(x, 8)) df['move_mean'] = df['CLOSE'].groupby('asset', group_keys=False).apply(lambda x: pd.Series(bn.move_mean(x, 8), index=x.index)) print(df.tail()) """ df['move_mean'] = df['CLOSE'].groupby('asset', group_keys=False).apply(lambda x: pd.Series(bn.move_mean(x, 8), index=x.index)) ^^^^^^^^^^^^^^^^^^ ValueError: Moving window (=8) must between 1 and 5, inclusive """
There may be two areas that need to be modified https://github.com/pydata/bottleneck/blob/master/bottleneck/src/move_template.c#L993 https://github.com/pydata/bottleneck/blob/master/bottleneck/src/nonreduce_axis_template.c#L62
The text was updated successfully, but these errors were encountered:
TA-Lib/ta-lib-python#585
same problem. keep silent, do not throw exception
Sorry, something went wrong.
Successfully merging a pull request may close this issue.
Ignore length check
when groupby, the data length changes.
If bottleneck could be the same as talib and not throw any errors, it would be great
There may be two areas that need to be modified
https://github.com/pydata/bottleneck/blob/master/bottleneck/src/move_template.c#L993
https://github.com/pydata/bottleneck/blob/master/bottleneck/src/nonreduce_axis_template.c#L62
The text was updated successfully, but these errors were encountered: