2015-10-17 32 views
2

使用從雅虎財經下載蟒蛇大熊貓數據框(d),它的格式是:利布ADX功能錯誤

日期,開盤價,最高價,最低價,收盤價音量,調關閉 2015-01-13,1.290, 1.290,1.200,1.225,421600,1.225

我可以成功地使用利布功能是這樣的:

talib.abstract.EMA(d, timeperiod=8, price='Close') 
talib.abstract.SMA(d, timeperiod=13, price='Close') 
talib.abstract.RSI(d, timeperiod=25, price='Close') 

從文檔(http://mrjbq7.github.io/ta-lib/func_groups/momentum_indicators.html),他們採取的形式:

real = XYZ(close, timeperiod=14) 

嘗試與形式使用塔里布功能然而,當:

real = XYZ(high, low, close, timeperiod=14) such as the ADX I cant figure out the correct syntax needed. 

我已經試過這樣:

talib.abstract.ADX(d,high='High',low='Low',close='Close',Timeperiod=10) 

例外:輸入數組參數缺少必需的數據鍵:高,低,接近

這:

talib.abstract.ADX(high=d.High,low=d.Low,close=d.Close,Timeperiod=10) 

TypeError: only length-1 arrays can be converted to Python scalars 

對於這個以及其他具有多個輸入參數的talib python包裝所需參數的正確格式有何想法?

任何幫助正確的格式將不勝感激! 在此先感謝

回答

1

取決於在某些情況下陣列的形狀。如果你確實需要這個功能作爲緊急事項,只需從庫中調用它:

import talib 
import numpy as np 
h = np.array(high) 
l = np.array(low) 
c = np.array(close) 
output_atr = np.array(talib.ATR(h,l,c,14)) 

這工作正常。

+1

感謝您的幫助。 FYI talib.abstract與其他函數一起工作,但是失敗了,如下所示:talib.abstract.ADX(d.High.values,d.Low.values,d.Close.values,10) 但是這個工程:talib.ADX(d。 High.values,d.Low.values,d.Close.values,10)....非常感謝ajsp指引我正確的方向。 – user1859252