Talib 和 pandas_ta 接受不超过 114130 行数据

问题描述 投票:0回答:0

我遇到了技术分析库的异常行为。 Talib 和 pandas_ta 接受不超过 114130 行数据。

pandas_ta.stdev(closes[:114133], 3)

Open time
2021-02-04 16:33:00+00:00          NaN
2021-02-04 16:34:00+00:00          NaN
2021-02-04 16:35:00+00:00    28.750097
2021-02-04 16:36:00+00:00     2.780675
2021-02-04 16:37:00+00:00     7.548603
                               ...    
2021-04-25 04:00:00+00:00    32.036358
2021-04-25 04:01:00+00:00          NaN
2021-04-25 08:45:00+00:00          NaN
2021-04-25 08:46:00+00:00          NaN
2021-04-25 08:47:00+00:00          NaN
Name: STDEV_3, Length: 114133, dtype: float64

如果您在这些库的任何指标中传递一个包含大量行的数据帧,则 114130 之后的所有值都将等于 NaN。 我需要处理超过 100 万行。 有没有简单的方法来绕过这个限制?

我找到了一个使用 df.rolling 函数的解决方案。

pd.DataFrame(closes).rolling(4).std()

Open time   
2021-02-04 16:33:00+00:00   NaN
2021-02-04 16:34:00+00:00   NaN
2021-02-04 16:35:00+00:00   NaN
2021-02-04 16:36:00+00:00   31.536164
2021-02-04 16:37:00+00:00   8.940106

2023-03-23 16:28:00+00:00   36.785568
2023-03-23 16:29:00+00:00   11.671006
2023-03-23 16:30:00+00:00   20.051231
2023-03-23 16:31:00+00:00   17.322779
2023-03-23 16:32:00+00:00   23.526981
1117888 rows × 1 columns

但是这种方法不适合我,因为pandas没有很多我需要解决任务的指标

python finance ta-lib technical-indicator pandas-ta
© www.soinside.com 2019 - 2024. All rights reserved.