问题描述
我使用滚动获取移动值数据。 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()
它是值的表示形式。我不明白为什么会这样。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)