我找不到以下问题的解决方案。
给定一个具有['Open', 'High', 'Low', Close']列的数据帧,我想让其他列的斐波那契水平设为N回顾期。

伪代码如下:

look_back_period = 895
maxr = highest(close, look_back_period)
minr = lowest(close, look_back_period)
ranr = maxr - minr

ON = maxr
SS = maxr - 0.236 * ranr
SO = maxr - 0.382 * ranr
FI = maxr - 0.50 * ranr
TE = minr + 0.382 * ranr
TT = minr + 0.236 * ranr
ZZ = minr


我想在上面的列中输入相对编号。仅当minrmaxr更改时,该值才会更改。

希望它足够清楚。

最佳答案

假定您的数据已经存在于名为df的pandas数据框中,则可以使用pandas apply方法获得所需的功能:

lookBack = 895
def minFunction(row):
    if row.name < lookBack:
        return 0
    return df['Close'].loc[row.name - lookBack:row.name].min()

df['minr'] = df.apply(minFunction, axis = 1)


您可以用相同的方式继续实现maxFunction
我希望这个答案可以帮助您解决问题。

关于python - 股票时间序列数据的斐波那契回撤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58819513/

10-11 17:22