什么是" orcl"在以下pyalgotrade代码?此外,我有一个csv文件,我如何将数据从它上传到我的代码?

时间:2015-06-05 18:03:04

标签: 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 to create objects
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()

2 个答案:

答案 0 :(得分:1)

从文档中略微修改 documentation

Long

答案 1 :(得分:0)

“orcl”是Oracle股票的名称。如果您想使用其他股票代码,请将其放在那里。

你需要去雅虎财务:http://finance.yahoo.com/q/hp?s=ORCL&a=02&b=12&c=2000&d=05&e=26&f=2015&g=d 然后将文件另存为orcl-2000.csv

该程序从目录中读取orcl-2000.csv文件并打印价格。 如果你想通过python下载数据,那么使用像

这样的命令
float nearest_x_dot_5(float x)
{
    return round(x - 0.5) + 0.5;
}

这将使文件在2011年至2014年间显示为orcl-2011-yahoofinance.csv等。