Esempio n. 1
0
    def testReset(self):
        feed = csvfeed.Feed("Date", "%Y-%m-%d")
        feed.addValuesFromCSV(common.get_data_file_path("orcl-2000-yahoofinance.csv"))

        disp = dispatcher.Dispatcher()
        disp.addSubject(feed)
        disp.run()

        keys = list(feed.getKeys())
        key = keys[0]
        values = feed[key]

        feed.reset()
        disp = dispatcher.Dispatcher()
        disp.addSubject(feed)
        disp.run()

        reloadedKeys = list(feed.getKeys())
        reloadedValues = feed[key]

        self.assertEqual(keys.sort(), reloadedKeys.sort())
        self.assertNotEqual(values, reloadedValues)
        self.assertEqual(len(values), len(reloadedValues))
        
        for i in range(len(values)):
            self.assertEqual(values[i], reloadedValues[i])
Esempio n. 2
0
    def testFeedWithQuandl(self):
        class RowFilter(csvfeed.RowFilter):
            def includeRow(self, dateTime, values):
                return dateTime.year == 2013

        feed = csvfeed.Feed("Date", "%Y-%m-%d", maxLen=40, timezone=marketsession.USEquities.timezone)
        feed.setRowFilter(RowFilter())
        feed.setTimeDelta(datetime.timedelta(hours=23, minutes=59, seconds=59))
        feed.addValuesFromCSV(common.get_data_file_path("quandl_gold_2.csv"))

        for col in ["USD", "GBP", "EUR"]:
            self.assertEqual(len(feed[col]), 0)

        disp = dispatcher.Dispatcher()
        disp.addSubject(feed)
        disp.run()

        for col in ["USD", "GBP", "EUR"]:
            self.assertEqual(len(feed[col]), 39)

        self.assertEqual(feed["USD"][-1], 1333.0)
        self.assertEqual(feed["GBP"][-1], 831.203)
        self.assertEqual(feed["EUR"][-1], 986.75)
        self.assertFalse(dt.datetime_is_naive(feed["USD"].getDateTimes()[-1]))
        self.assertEqual(
            feed["USD"].getDateTimes()[-1],
            dt.localize(datetime.datetime(2013, 9, 29, 23, 59, 59), marketsession.USEquities.timezone)
        )
Esempio n. 3
0
def main():
    instruments = ["GORO"]

    # Download GORO bars using WIKI source code.
    feed = quandl.build_feed("WIKI", instruments, 2006, 2012, "./histdata")
    quandlFeed = csvfeed.Feed("Date", "%Y-%m-%d")
    quandlFeed.setDateRange(datetime.datetime(2006, 1, 1),
                            datetime.datetime(2012, 12, 31))
    quandlFeed.addValuesFromCSV("histdata/quandl_gold_2.csv")

    strat = MyStrategy(feed, quandlFeed, instruments[0])
    plter = plotter.StrategyPlotter(strat, True, False, False)

    plter.getOrCreateSubplot("quandl").addDataSeries("USD", quandlFeed["USD"])
    plter.getOrCreateSubplot("quandl").addDataSeries("EUR", quandlFeed["EUR"])
    plter.getOrCreateSubplot("quandl").addDataSeries("GBP", quandlFeed["GBP"])

    strat.run()
    plter.plot()
Esempio n. 4
0
    def testFeedWithBars(self):
        feed = csvfeed.Feed("Date", "%Y-%m-%d")
        feed.addValuesFromCSV(common.get_data_file_path("orcl-2000-yahoofinance.csv"))

        self.assertEqual(len(feed.getKeys()), 6)
        
        for col in ["Open", "High", "Low", "Close", "Volume", "Adj Close"]:
            self.assertEqual(len(feed[col]), 0)

        disp = dispatcher.Dispatcher()
        disp.addSubject(feed)
        disp.run()

        for col in ["Open", "High", "Low", "Close", "Volume", "Adj Close"]:
            self.assertEqual(len(feed[col]), 252)

        self.assertEqual(feed["Open"][-1], 30.87)
        self.assertEqual(feed["High"][-1], 31.31)
        self.assertEqual(feed["Low"][-1], 28.69)
        self.assertEqual(feed["Close"][-1], 29.06)
        self.assertEqual(feed["Volume"][-1], 31655500)
        self.assertEqual(feed["Adj Close"][-1], 28.41)
Esempio n. 5
0
from mooquant.feed import csvfeed

feed = csvfeed.Feed("Date", "%Y-%m-%d")
feed.addValuesFromCSV("./tests/data/quandl_gold_2.csv")

for dateTime, value in feed:
    print(dateTime, value)
Esempio n. 6
0
 def testBaseFeedInterface(self):
     feed = csvfeed.Feed("Date", "%Y-%m-%d")
     feed.addValuesFromCSV(common.get_data_file_path("orcl-2000-yahoofinance.csv"))
     feed_test.tstBaseFeedInterface(self, feed)