【发布时间】:2021-02-17 15:25:03
【问题描述】:
我正在尝试处理一个不应该太难解决的问题,但我很难找到解决方法。
基本上,我有一组 OHLC 数据:
>>print(df)
Open High Low Close Volume Date
Date
2020-11-02 00:00:00 396.68 401.01 396.44 400.70 41468.48318 2020-11-02 00:00:00
2020-11-02 00:30:00 400.68 404.50 400.61 402.45 35209.25068 2020-11-02 00:30:00
2020-11-02 01:00:00 402.48 403.14 400.62 401.89 18107.53656 2020-11-02 01:00:00
2020-11-02 01:30:00 401.88 402.88 401.26 402.48 13852.17215 2020-11-02 01:30:00
2020-11-02 02:00:00 402.49 403.85 398.82 401.17 21853.35028 2020-11-02 02:00:00
... ... ... ... ... ... ...
2020-11-04 19:30:00 401.88 403.88 401.88 402.46 17944.49509 2020-11-04 19:30:00
2020-11-04 20:00:00 402.50 404.23 397.72 399.59 41674.44864 2020-11-04 20:00:00
2020-11-04 20:30:00 399.60 402.26 399.40 401.21 18606.38545 2020-11-04 20:30:00
2020-11-04 21:00:00 401.20 403.15 400.79 402.70 14408.66482 2020-11-04 21:00:00
2020-11-04 21:30:00 402.69 403.01 401.74 402.71 8873.15569 2020-11-04 21:30:00
给定一个可以为 10 的 固定 范围(因此从 350 到 360、351 到 361 等等)检测何时超过 N 根蜡烛在该范围内收盘。所以基本上这个范围需要“滑动”整个图表并找到符合我上面描述的标准的区域(超过 N 数量的蜡烛关闭在该范围内)。
在这种情况下,白色盒子里有 6 支蜡烛,所以这就是我要找的,注意蜡烛必须不穿过盒子,它只需要“开始“在那里。
我试图使其尽可能清晰和详细。我想发布更多代码,但我真的很难找到解决方法,尽管我很确定 Pandas、Numpy 或 scipy 应该很容易。谁能帮我找到这方面的方向?欢迎任何建议
【问题讨论】:
-
类似
df[df['Close'].between(350,360)] -
这可能会有所帮助,但就我而言,它有点复杂:我需要检测所有这些符合上述标准的“区域”。谢谢!