I got an import error while I am running a simple python written trading strategy in Pyalgotrade.
from pyalgotrade.tools import yahoofinance
yahoofinance.download_daily_bars('orcl', 2000, 'orcl-2000.csv')
from pyalgotrade import strategy
from pyalgotrade.barfeed import yahoofeed
from pyalgotrade.technical import ma
class MyStrategy(strategy.BacktestingStrategy):
def __init__(self, feed, instrument):
strategy.BacktestingStrategy.__init__(self, feed)
# We want a 15 period SMA over the closing prices.
self.__sma = ma.SMA(feed[instrument].getCloseDataSeries(), 15)
self.__instrument = instrument
def onBars(self, bars):
bar = bars[self.__instrument]
self.info("%s %s" % (bar.getClose(), self.__sma[-1]))
# Load the yahoo feed from the CSV file
feed = yahoofeed.Feed()
feed.addBarsFromCSV("orcl", "orcl-2000.csv")
# Evaluate the strategy with the feed's bars.
myStrategy = MyStrategy(feed, "orcl")
myStrategy.run()
And the error is showed as below.
>>>Traceback (most recent call last):
File "/Users/johnhenry/Desktop/pyalgotrade2.py", line 1, in <module>
from pyalgotrade import strategy
File "/Users/johnhenry/Desktop/pyalgotrade.py", line 1, in <module>
from pyalgotrade import strategy
ImportError: cannot import name strategy
I am sure I have this library called pyalgotrade.
You named your own program pyalgotrade.py
:
File "/Users/johnhenry/Desktop/pyalgotrade.py"
so Python thinks that's the one you mean. Rename your program to something else, delete any pyalgotrade.pyc
or pyalgotrade.pyo
files you may have, and restart your interpreter.