pyalgotrade无法在策略中进行csv提要

问题描述 投票:0回答:1

我正在尝试将1分钟的数据加载到pyalgotrade中。供稿已正确加载,但初始化策略时出现一些奇怪的错误。任何人都可以对此提出建议吗?这是代码

class MyStrategy(strategy.BacktestingStrategy):
    def __init__(self, feed, instrument):
        super(MyStrategy, self).__init__(feed)
        self.__instrument = instrument
        self.__rsi = rsi.RSI(feed[instrument].getCloseDataSeries(), 14)
        self.__sma = ma.SMA(self.__rsi, 15)
        self.__instrument = instrument

    def onBars(self, bars):
        bar = bars[self.__instrument]
        # self.info("%s %s %s" % (
        #     bar.getClose(), safe_round(self.__rsi[-1], 2), safe_round(self.__sma[-1], 2)
        # ))
        self.info(bar.getClose())

feed = csvfeed.Feed("datetime", "%Y-%m-%d %H:%M:%S")
feed.addValuesFromCSV("E:\\TD\\Minutes\\CME.csv")
myStrategy = MyStrategy(feed, 'CME')
myStrategy.run()

这里是csv

open,high,low,close,volume,datetime
206.1,206.1,206.1,206.1,300,2020-02-28 08:10:00
208.87,208.87,208.87,208.87,110,2020-02-28 08:14:00
206.1,206.1,206.1,206.1,164,2020-02-28 08:15:00
207.0,207.0,207.0,207.0,200,2020-02-28 08:17:00
206.0085,206.0085,206.0,206.0,500,2020-02-28 08:19:00

这里是错误消息

C:\Users\user\AppData\Local\Programs\Python\Python38-32\python.exe C:/Users/user/PycharmProjects/TD/Backtest.py
Traceback (most recent call last):
  File "C:/Users/user/PycharmProjects/TD/Backtest.py", line 40, in <module>
    myStrategy = MyStrategy(feed, 'CME')
  File "C:/Users/user/PycharmProjects/TD/Backtest.py", line 19, in __init__
    self.__rsi = rsi.RSI(feed[instrument].getCloseDataSeries(), 14)
  File "C:\Users\user\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyalgotrade\feed\__init__.py", line 116, in __getitem__
    return self.__ds[key]
KeyError: 'CME'
python algorithmic-trading pyalgotrade
1个回答
0
投票

我发现我使用了错误的Feed类型。使用Barfeed即可!

feed = GenericBarFeed(Frequency.MINUTE)
feed.addBarsFromCSV("APTV", "E:\\TD\\Minutes\\APTV.csv")
myStrategy = MyStrategy(feed, 'APTV')
myStrategy.run()
© www.soinside.com 2019 - 2024. All rights reserved.