首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pyalgotrade - AttributeError:“SequenceDatasSeries”对象没有属性“”getHighDataSeries“”

Pyalgotrade - AttributeError:“SequenceDatasSeries”对象没有属性“”getHighDataSeries“”
EN

Stack Overflow用户
提问于 2016-07-04 03:43:32
回答 1查看 482关注 0票数 1

我正在用pyalgotrade写一个交易算法。我得到了上面的错误,似乎无法修复它。我正在尝试使用“慢随机”,任何帮助解决这个错误并让慢随机工作的人都非常感谢:

错误:

代码语言:javascript
复制
C:\Users\...\Desktop>python bobo.py
Traceback (most recent call last):
  File "bobo.py", line 114, in <module>
    main()
  File "bobo.py", line 110, in main
    run_strategy(10,inst,2,14,5,2,3)
  File "bobo.py", line 102, in run_strategy
    myStrategy = MyStrategy(feed, inst, smaPeriod,emaPeriod,rsiPeriod,fastk_period,slowk_period,slowd_period)
  File "bobo.py", line 26, in __init__
    self.__stoch = indicator.STOCH(self.__prices,fastk_period,slowk_period,slowd_period)
  File "C:\Users\...\Anaconda2\lib\site-packages\pyalgotrade\talibext\indicator.py", line 803, in STOCH
    ret = call_talib_with_hlc(barDs, count, talib.STOCH, fastk_period, slowk_period, slowk_matype, slowd_period, slowd_matype)
  File "C:\Users\...\Anaconda2\lib\site-packages\pyalgotrade\talibext\indicator.py", line 93, in call_talib_with_hlc
    high = bar_ds_high_to_numpy(barDs, count)
  File "C:\Users\...\Anaconda2\lib\site-packages\pyalgotrade\talibext\indicator.py", line 45, in bar_ds_high_to_numpy
    return value_ds_to_numpy(barDs.getHighDataSeries(), count)
AttributeError: 'SequenceDataSeries' object has no attribute 'getHighDataSeries'

代码:

代码语言:javascript
复制
from pyalgotrade.tools import yahoofinance
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
from pyalgotrade.technical import stoch
from pyalgotrade import dataseries
from pyalgotrade.technical import ma
from pyalgotrade import technical
from pyalgotrade.technical import highlow
from pyalgotrade import bar
from pyalgotrade.talibext import indicator
from pyalgotrade.technical import rsi
import numpy
import talib


class MyStrategy(strategy.BacktestingStrategy):
    def __init__(self, feed,instrument,smaPeriod,emaPeriod,rsiPeriod,fastk_period,slowk_period,slowd_period):
        strategy.BacktestingStrategy.__init__(self, feed, 1000)      #change portfolio amount
        self.__position = None
        self.__instrument = instrument
        self.setUseAdjustedValues(True)
        self.__prices = feed[instrument].getPriceDataSeries()
        self.__sma = ma.SMA(self.__prices, smaPeriod)
        self.__ema = ma.EMA(self.__prices, emaPeriod)
        self.__rsi = rsi.RSI(self.__prices, rsiPeriod)
        self.__stoch = indicator.STOCH(self.__prices,fastk_period,slowk_period,slowd_period)

现在我得到了错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "bobo.py", line 103, in <module>
    main()
  File "bobo.py", line 99, in main
    run_strategy(inst,10,250,14,5,5,5)
  File "bobo.py", line 90, in run_strategy
    myStrategy = MyStrategy(feed, inst, smaPeriod,emaPeriod,rsiPeriod,fastk_period,slowk_period,slowd_period)
  File "bobo.py", line 28, in __init__
    self.__stoch = indicator.STOCH(feed[instrument],fastk_period,slowk_period,slowd_period)
  File "C:\Users\JDOG\Anaconda2\lib\site-packages\pyalgotrade\talibext\indicator.py", line 803, in STOCH
    ret = call_talib_with_hlc(barDs, count, talib.STOCH, fastk_period, slowk_period, slowk_matype, slowd_period, slowd_matype)
  File "C:\Users\JDOG\Anaconda2\lib\site-packages\pyalgotrade\talibext\indicator.py", line 105, in call_talib_with_hlc
    return talibFunc(high, low, close, *args, **kwargs)
  File "talib/func.pyx", line 9388, in talib.func.STOCH (talib\func.c:87125)
Exception: inputs are all NaN
EN

回答 1

Stack Overflow用户

发布于 2016-07-05 03:04:11

试试这个:

代码语言:javascript
复制
self.__stoch = indicator.STOCH(feed[instrument],fastk_period,slowk_period,slowd_period)

随机振荡器期望的是条形数据序列,而不是常规数据序列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38173724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档