Пример #1
0
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()
Пример #2
0
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()
Пример #3
0
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))
Пример #4
0
 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()
Пример #5
0
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()
Пример #6
0
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()
Пример #7
0
 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()
Пример #8
0
def bbandsResultPortfolio(bBandsPeriod):
    feed = coinfeed.Feed()
    feed.addBarsFromCSV("btc", "data/ticker.csv")
    myStrategy = MyStrategy(feed, "btc", bBandsPeriod)
    myStrategy.run()
    return myStrategy.getResult()