我有一个带有ohlc(高低开盘)股价数据的熊猫数据框。每行都是一天的数据。看起来是这样(抱歉,我不知道如何更好地格式化它):
date open high low adj.close volume ema8 ema12 ema26 mband lband ... macd macd.hist target PP R1 S1 R2 S2 R3 S3
2005-03-04 -5.934450 -6.071830 -5.869030 0.013257 -0.249857 -5.988225 -6.022177 -6.153670 -6.155240 -5.537682 ... -0.2010 0.0338 0 -3.980287 -2.091543 -1.888744 -4.183087 -3.777487 -2.294343 -1.685944
2005-03-07 -6.065900 -6.151828 -5.940313 -0.010271 -0.229350 -6.047194 -6.080442 -6.211052 -6.182233 -5.645053 ... -0.1976 0.0341 0 -4.030714 -2.121114 -1.909600 -4.242228 -3.819199 -2.332628 -1.698085
2005-03-08 -6.318254 -6.345922 -5.958567 -0.044418 0.811561 -6.291485 -6.346545 -6.505776 -6.467317 -5.903784 ... -0.2302 -0.0030 0 -4.101496 -2.244426 -1.857070 -4.488852 -3.714141 -2.631782 -1.469715
我要做的是计算类似于此图中所描述的经典枢轴(每个小节都是一天):
在我的示例中,最低价格低点仍应被视为最低枢轴点,无论从建立该最低点以来已经过了多少天,只要它在没有先走低之前就走高(在这种情况下,较低的低点就是枢轴)。
基本上,最低价“最低价”之后的一天的“收盘价”栏必须大于设置最低价最低价的那一天的“最高价”,为解释这一点,可以称为确认低枢轴。然后最终将跟随一个高枢轴,这由随后的“关闭”列<设置该高枢轴的当天的“低端”确认。一旦设置了较高的枢轴,我们就开始检查新的较低的枢轴,依此类推。
我要获取的是我数据中的最后三个低枢轴和最后三个高枢轴,以便我可以检查枢轴的趋势是向上还是向下(较高的较高枢轴和较高的较低枢轴,或者相反),但是要做到这一点,我首先需要弄清楚如何获得每个...
我能想到的唯一一件事是,我的python能力受到限制,是在行中循环,从第一个低枢轴作为数据集中第一天的低点开始,从第一个高枢轴作为高点开始第一天,然后尝试对这些关键点进行一些比较。在Pandas中有什么好方法吗?