def parameters_generator(): instrument = ["dia"] entrySMA = range(150, 251) exitSMA = range(5, 16) rsiPeriod = range(2, 11) overBoughtThreshold = range(75, 96) overSoldThreshold = range(5, 26) return itertools.product(instrument, entrySMA, exitSMA, rsiPeriod, overBoughtThreshold, overSoldThreshold) # Load the feed from the CSV files. feed = yahoofeed.Feed() feed.addBarsFromCSV("dia", "dia-2009.csv") feed.addBarsFromCSV("dia", "dia-2010.csv") feed.addBarsFromCSV("dia", "dia-2011.csv") # Run the server. server.serve(feed, parameters_generator(), "localhost", 5000)
import itertools from pyalgotrade.optimizer import server from pyalgotrade.barfeed import quandlfeed def parameters_generator(): instrument = ["ibm"] entrySMA = range(150, 251) exitSMA = range(5, 16) rsiPeriod = range(2, 11) overBoughtThreshold = range(75, 96) overSoldThreshold = range(5, 26) return itertools.product(instrument, entrySMA, exitSMA, rsiPeriod, overBoughtThreshold, overSoldThreshold) # The if __name__ == '__main__' part is necessary if running on Windows. if __name__ == '__main__': # Load the bar feed from the CSV files. feed = quandlfeed.Feed() feed.addBarsFromCSV("ibm", "WIKI-IBM-2009-quandl.csv") feed.addBarsFromCSV("ibm", "WIKI-IBM-2010-quandl.csv") feed.addBarsFromCSV("ibm", "WIKI-IBM-2011-quandl.csv") # Run the server. server.serve(feed, parameters_generator(), "localhost", 5000)
import itertools from pyalgotrade.barfeed import yahoofeed from pyalgotrade.optimizer import server def parameters_generator(): instrument = ["dia"] entrySMA = list(range(150, 155)) exitSMA = list(range(5, 6)) rsiPeriod = list(range(2, 5)) overBoughtThreshold = list(range(88, 92)) overSoldThreshold = list(range(16, 20)) return itertools.product(instrument, entrySMA, exitSMA, rsiPeriod, overBoughtThreshold, overSoldThreshold) # The if __name__ == '__main__' part is necessary if running on Windows. if __name__ == '__main__': # Load the feed from the CSV files. feed = yahoofeed.Feed() feed.addBarsFromCSV("dia", "dia-2009.csv") feed.addBarsFromCSV("dia", "dia-2010.csv") feed.addBarsFromCSV("dia", "dia-2011.csv") # Run the server. server.serve(feed, parameters_generator(), "localhost", 6000)
from pyalgotrade.barfeed import csvfeed from pyalgotrade import bar def parameters_generator(): instrument = ["btc"] entrySMA = range(120, 155) exitSMA = range(10, 15) rsiPeriod = range(2, 4) overBoughtThreshold = range(70, 90) overSoldThreshold = range(19, 35) initialAmount = [5000] return itertools.product(instrument, entrySMA, exitSMA, rsiPeriod, overBoughtThreshold, overSoldThreshold, initialAmount) # The if __name__ == '__main__' part is necessary if running on Windows. if __name__ == '__main__': instrument = "btc" year = "2015" # Load the feed from the CSV files. barFeed = csvfeed.GenericBarFeed(bar.Frequency.MINUTE * 30) barFeed.addBarsFromCSV(instrument, "30min-%s-%s.csv" % (instrument, year)) #feed = yahoofeed.Feed() # feed.addBarsFromCSV("btc", "btc_all_daily.csv") # Run the server. server.serve(barFeed, parameters_generator(), "0.0.0.0", 5000)
def parameters_generator(): instrument = ["BTC"] initialCash = [1000] vwapWindowSize = range(89, 180, 1) buyThreshold = map(lambda x: float(x) / 1000, range(5, 40, 1)) sellThreshold = map(lambda x: float(x) / 1000, range(5, 40, 1)) lenparams = len(sellThreshold) * len(buyThreshold) * len(vwapWindowSize) return (lenparams, itertools.product(instrument, initialCash, vwapWindowSize, buyThreshold, sellThreshold)) # The if __name__ == '__main__' part is necessary if running on Windows. if __name__ == '__main__': instrument = "BTC" year = "2016" minutes = 30 # Load the feed from the CSV files. barFeed = csvfeed.GenericBarFeed(bar.Frequency.MINUTE * 30) barFeed.addBarsFromCSV(instrument, "%smin-%s-%s.csv" % (minutes, instrument, year)) # Run the server. lenp, params = parameters_generator() print "Running %s variations" % lenp server.serve(barFeed, params, "0.0.0.0", 5001)