def main(plot): instrument = "btc" vwapWindowSize = 20 # Download the bars. # feed = yahoofinance.build_feed([instrument], 2011, 2012, ".") feed = coinfeed.Feed() # startDate = datetime.datetime.strptime("2014-04-06 11:47:42", "%Y-%m-%d %H:%M:%S") # endDate = datetime.datetime.strptime("2014-04-10 11:47:42", "%Y-%m-%d %H:%M:%S") # feed.setDateRange(startDate, endDate) feed.addBarsFromCSV(instrument, "data/ticker.csv") myStrategy = MyStrategy(feed, instrument, vwapWindowSize) if plot: # plt = plotter.StrategyPlotter(myStrategy, True, False, True) plt = plotter.StrategyPlotter(myStrategy) plt.getInstrumentSubplot(instrument).addDataSeries("vwap", myStrategy.getVWAPDS()) myStrategy.run() print "Result: %.2f" % myStrategy.getResult() if plot: plt.plot()
def main(plot): instrument = "yhoo" bBandsPeriod = 10 # Download the bars. # feed = yahoofinance.build_feed([instrument], 2011, 2012, ".") feed = coinfeed.Feed() startDate = datetime.datetime.strptime("2014-04-06 11:47:42", "%Y-%m-%d %H:%M:%S") endDate = datetime.datetime.strptime("2014-04-10 11:47:42", "%Y-%m-%d %H:%M:%S") # feed.setDateRange(startDate, endDate) feed.addBarsFromCSV("btc", "data/ticker.csv") myStrategy = MyStrategy(feed, "btc", bBandsPeriod) if plot: plt = plotter.StrategyPlotter(myStrategy, True, True, True) plt.getInstrumentSubplot(instrument).addDataSeries( "upper", myStrategy.getBollingerBands().getUpperBand()) # plt.getInstrumentSubplot(instrument).addDataSeries("middle", myStrategy.getBollingerBands().getMiddleBand()) plt.getInstrumentSubplot(instrument).addDataSeries( "lower", myStrategy.getBollingerBands().getLowerBand()) myStrategy.run() print "Result: %.2f" % myStrategy.getResult() if plot: plt.plot()
def whySoSlow(): feed = coinfeed.Feed() feed.addBarsFromCSV("btc", "data/ticker.csv") gdata = GeneticData() print gdata.resultFunction((30, 5, 10, 1)) print gdata.resultFunction((30, 5, 10, 2)) print gdata.resultFunction((30, 5, 10, 3)) print gdata.resultFunction((30, 5, 10, 4))
def resultFunction(self, parametres): assert(len(parametres) == len(self.lowerBound)) self.feed = coinfeed.Feed() startDate = datetime.datetime.strptime("2014-04-06 11:47:42", "%Y-%m-%d %H:%M:%S") endDate = datetime.datetime.strptime("2014-04-16 11:47:42", "%Y-%m-%d %H:%M:%S") # self.feed.setDateRange(startDate, endDate) self.feed.addBarsFromCSV("btc", "data/ticker.csv") myStrategy = UnionStrategy(self.feed, "btc", parametres) myStrategy.run() return myStrategy.getResult()
def plot(): feed = coinfeed.Feed() feed.addBarsFromCSV("btc", "data/ticker.csv") myStrategy = UnionStrategy(feed, "btc", [27, 56, 76, 3]) plt = plotter.StrategyPlotter(myStrategy) myStrategy.run() myStrategy.info("Final portfolio value: $%.2f" % myStrategy.getResult()) print "Number of orders = %d" % myStrategy.numOrder print "Number of OK orders = %d" % myStrategy.okOrder print "Number of exit orders = %d" % myStrategy.exitOrder plt.plot()
def resultFunction3(a,b,c,d): parametres = [a, b, c, d] assert(len(parametres) == 4) feed = coinfeed.Feed() startDate = datetime.datetime.strptime("2014-04-06 11:47:42", "%Y-%m-%d %H:%M:%S") endDate = datetime.datetime.strptime("2014-04-16 11:47:42", "%Y-%m-%d %H:%M:%S") # feed.setDateRange(startDate, endDate) feed.addBarsFromCSV("btc", "data/ticker.csv") myStrategy = UnionStrategy(feed, "btc", parametres) myStrategy.run() return myStrategy.getResult()
def parseData(self): self.feed = coinfeed.Feed() startDate = datetime.datetime.strptime("2014-04-06 11:47:42", "%Y-%m-%d %H:%M:%S") endDate = datetime.datetime.strptime("2014-04-16 11:47:42", "%Y-%m-%d %H:%M:%S") # self.feed.setDateRange(startDate, endDate) self.feed.addBarsFromCSV("btc", "data/ticker.csv") # Manually collect all bars. self.bars = [] self.feed.start() for date, bar in self.feed: self.bars.append(bar) self.feed.stop() self.feed.join()
def bbandsResultPortfolio(bBandsPeriod): feed = coinfeed.Feed() feed.addBarsFromCSV("btc", "data/ticker.csv") myStrategy = MyStrategy(feed, "btc", bBandsPeriod) myStrategy.run() return myStrategy.getResult()