我使用了滚动,但所有值均为NaN

问题描述

我使用滚动获取移动值数据。 L5,L10,L20,L90,L120具有MA值,但是当我对“ ATR”使用相同的功能时,它不能代表值。

    df = DataFrame(self.kiwoom.ohlcv,columns=['date','open','high','low','close','volume'])

    allday_list = DataFrame(df,'volume','L5','L10','L20','L60','L120','TR1','TR2','TR3','ATR','ATR20','EMA'])

    allday_list = allday_list.sort_values(by=['date'],ascending=True)


    L5 = allday_list['close'].rolling(window=5).mean()
    L10 = allday_list['close'].rolling(window=10).mean()
    L20 = allday_list['close'].rolling(window=20).mean()
    L60 = allday_list['close'].rolling(window=60).mean()
    L120 = allday_list['close'].rolling(window=120).mean()

    allday_list['TR1'] = allday_list['high']-allday_list['close'].shift(1)
    allday_list['TR2'] = allday_list['close'].shift(1)-allday_list['low']
    allday_list['TR3'] = allday_list['high']-allday_list['low']

    allday_list = allday_list.astype({'TR3': 'float'})

    condition = [(allday_list['TR1'] > allday_list['TR2']) & (allday_list['TR1'] > allday_list['TR3']),(allday_list['TR2'] > allday_list['TR1']) & (allday_list['TR2'] > allday_list['TR3']),(allday_list['TR3'] > allday_list['TR1']) & (allday_list['TR3'] > allday_list['TR2'])]

    choice = [allday_list['TR1'],allday_list['TR2'],allday_list['TR3']]

    allday_list['ATR'] = np.select(condition,choice,default=np.nan)

    allday_list['ATR20'] = allday_list['ATR'].rolling(window=20).mean()

它是值的表示形式。我不明白为什么会这样。

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)