我试图在Ubuntu 12.04上使用python中的TA Lib作为described in the official documentation。但是,当使用pandasDataFrame
s或Series
时,如不同来源上的多个示例所示,我得到以下TypeError
:
Traceback (most recent call last): File "test1.py", line 14, in analysis['rsi'] = ta.RSI(spy.Close) TypeError: Argument 'real' has incorrect type (expected numpy.ndarray, got Series)
执行本代码时:
import pandas.io.data as data
import pandas as pd
import talib as ta
import matplotlib.pyplot as plt
# Download SP500 data with pandas
spyidx = data.get_data_yahoo('SPY', '2013-01-01')
analysis = pd.DataFrame(index = spyidx.index)
analysis['rsi'] = ta.RSI(spyidx.Close)
出什么事了?
首先需要使用抽象函数:
import talib.abstract as ta
而不是
import talib as ta
其次,确保使用正确的名称:
最后,享受:
ta.SAR(ta_serie, window)
会给你你想要的。试试看
对于
pandas
>;=0.13.0:因此,在
TA-lib
修改其API以适应较新的pandas
版本之前,您需要使用Series.values
或DataFrame.values
。相关问题 更多 >
编程相关推荐