def testResampleBarFeedWithMultipleInstrumentsFails(self): with self.assertRaisesRegexp(Exception, "Only barfeeds with 1 instrument can be resampled"): with common.TmpDir() as tmp_path: feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV("spy", common.get_data_file_path("nt-spy-minute-2011.csv")) feed.addBarsFromCSV("spb", common.get_data_file_path("nt-spy-minute-2011.csv")) resample.resample_to_csv(feed, bar.Frequency.HOUR, os.path.join(tmp_path, "any.csv"))
def testResampleMtGoxMinute(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV( common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries( feed["BTC"], barfeed.Frequency.MINUTE) resample.resample_to_csv(feed, barfeed.Frequency.MINUTE, "minute-mgtox-usd-2013-01-01.csv") resampledBarDS.pushLast( ) # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.MINUTE) feed.addBarsFromCSV("BTC", "minute-mgtox-usd-2013-01-01.csv") feed.loadAll() self.assertEqual(len(feed["BTC"]), 537) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 01, 01, 00, 04, 59)) self.assertEqual(feed["BTC"][-1].getDateTime(), datetime.datetime(2013, 01, 01, 23, 58, 59)) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime()))
def testResampleMtGoxHour(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV( common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries( feed["BTC"], barfeed.Frequency.HOUR) resampledFile = os.path.join(common.get_temp_path(), "hour-mgtox-usd-2013-01-01.csv") resample.resample_to_csv(feed, barfeed.Frequency.HOUR, resampledFile) resampledBarDS.pushLast( ) # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.HOUR) feed.addBarsFromCSV("BTC", resampledFile) feed.loadAll() self.assertEqual(len(feed["BTC"]), 24) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 01, 01, 00, 59, 59)) self.assertEqual(feed["BTC"][-1].getDateTime(), datetime.datetime(2013, 01, 01, 23, 59, 59)) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime()))
def bolling_trans_data(): dat = pd.read_csv("../../api/stock/csv/600281SH_min.csv", index_col=['datetime'], encoding='gbk') feed = dataFramefeed.Feed(frequency=bar.Frequency.MINUTE) feed.addBarsFromDataFrame("orcl", dat) resample.resample_to_csv(feed, bar.Frequency.MINUTE * 5,"../../api/stock/csv/600281SH_5min.csv") # 这样resample的数据是对的
def testResampleNinjaTraderDay(self): # Resample. feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV("spy", common.get_data_file_path("nt-spy-minute-2011.csv")) resampledBarDS = resampled.ResampledBarDataSeries(feed["spy"], barfeed.Frequency.DAY) resampledFile = os.path.join(common.get_temp_path(), "day-nt-spy-minute-2011.csv") resample.resample_to_csv(feed, barfeed.Frequency.DAY, resampledFile) resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.DAY) feed.addBarsFromCSV("spy", resampledFile, marketsession.USEquities.getTimezone()) feed.loadAll() self.assertEqual(len(feed["spy"]), 25) self.assertEqual( feed["spy"][0].getDateTime(), dt.localize(datetime.datetime(2011, 1, 3), marketsession.USEquities.getTimezone()), ) self.assertEqual( feed["spy"][-1].getDateTime(), dt.localize(datetime.datetime(2011, 2, 1), marketsession.USEquities.getTimezone()), ) self.assertEqual(len(resampledBarDS), len(feed["spy"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(datetime.datetime(2011, 1, 3))) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(datetime.datetime(2011, 2, 1)))
def testResampleMtGoxDay(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV(common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries(feed["BTC"], barfeed.Frequency.DAY) resampledFile = os.path.join(common.get_temp_path(), "day-mgtox-usd-2013-01-01.csv") resample.resample_to_csv(feed, barfeed.Frequency.DAY, resampledFile) resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.DAY) feed.addBarsFromCSV("BTC", resampledFile) feed.loadAll() self.assertEqual(len(feed["BTC"]), 1) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 1, 1)) self.assertEqual(feed["BTC"][0].getOpen(), 13.51001) self.assertEqual(feed["BTC"][0].getHigh(), 13.56) self.assertEqual(feed["BTC"][0].getLow(), 13.16123) self.assertEqual(feed["BTC"][0].getClose(), 13.30413) self.assertEqual(feed["BTC"][0].getVolume(), 28168.9114596) self.assertEqual(feed["BTC"][0].getAdjClose(), 13.30413) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime())) self.assertEqual(resampledBarDS[0].getOpen(), feed["BTC"][0].getOpen()) self.assertEqual(resampledBarDS[0].getHigh(), feed["BTC"][0].getHigh()) self.assertEqual(resampledBarDS[0].getLow(), feed["BTC"][0].getLow()) self.assertEqual(resampledBarDS[0].getClose(), feed["BTC"][0].getClose()) self.assertEqual(round(resampledBarDS[0].getVolume(), 5), round(feed["BTC"][0].getVolume(), 5)) self.assertEqual(resampledBarDS[0].getAdjClose(), feed["BTC"][0].getAdjClose())
def testResampleBarFeedWithMultipleInstrumentsFails(self): with self. assertRaisesRegex(Exception, "Only barfeeds with 1 instrument can be resampled"): with common.TmpDir() as tmp_path: feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV("spy", common.get_data_file_path("nt-spy-minute-2011.csv")) feed.addBarsFromCSV("spb", common.get_data_file_path("nt-spy-minute-2011.csv")) resample.resample_to_csv(feed, bar.Frequency.HOUR, os.path.join(tmp_path, "any.csv"))
def testResampleNinjaTraderHour(self): with common.TmpDir() as tmp_path: # Resample. feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV("spy", common.get_data_file_path("nt-spy-minute-2011.csv")) resampledBarDS = resampled_ds.ResampledBarDataSeries(feed["spy"], bar.Frequency.HOUR) resampledFile = os.path.join(tmp_path, "hour-nt-spy-minute-2011.csv") resample.resample_to_csv(feed, bar.Frequency.HOUR, resampledFile) resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(bar.Frequency.HOUR, marketsession.USEquities.getTimezone()) feed.addBarsFromCSV("spy", resampledFile) feed.loadAll() self.assertEqual(len(feed["spy"]), 340) self.assertEqual(feed["spy"][0].getDateTime(), dt.localize(datetime.datetime(2011, 1, 3, 9), marketsession.USEquities.getTimezone())) self.assertEqual(feed["spy"][-1].getDateTime(), dt.localize(datetime.datetime(2011, 2, 1, 1), marketsession.USEquities.getTimezone())) self.assertEqual(feed["spy"][0].getOpen(), 126.35) self.assertEqual(feed["spy"][0].getHigh(), 126.45) self.assertEqual(feed["spy"][0].getLow(), 126.3) self.assertEqual(feed["spy"][0].getClose(), 126.4) self.assertEqual(feed["spy"][0].getVolume(), 3397.0) self.assertEqual(feed["spy"][0].getAdjClose(), None) self.assertEqual(len(resampledBarDS), len(feed["spy"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(datetime.datetime(2011, 1, 3, 9))) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(datetime.datetime(2011, 2, 1, 1)))
def testResampleNinjaTraderHour(self): # Resample. feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV("spy", common.get_data_file_path("nt-spy-minute-2011.csv")) resampledBarDS = resampled.ResampledBarDataSeries(feed["spy"], barfeed.Frequency.HOUR) resampledFile = os.path.join(common.get_temp_path(), "hour-nt-spy-minute-2011.csv") resample.resample_to_csv(feed, barfeed.Frequency.HOUR, resampledFile) resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.HOUR, marketsession.USEquities.getTimezone()) feed.addBarsFromCSV("spy", resampledFile) feed.loadAll() self.assertEqual(len(feed["spy"]), 340) self.assertEqual(feed["spy"][0].getDateTime(), dt.localize(datetime.datetime(2011, 1, 3, 9), marketsession.USEquities.getTimezone())) self.assertEqual(feed["spy"][-1].getDateTime(), dt.localize(datetime.datetime(2011, 2, 1, 1), marketsession.USEquities.getTimezone())) self.assertEqual(feed["spy"][0].getOpen(), 126.35) self.assertEqual(feed["spy"][0].getHigh(), 126.45) self.assertEqual(feed["spy"][0].getLow(), 126.3) self.assertEqual(feed["spy"][0].getClose(), 126.4) self.assertEqual(feed["spy"][0].getVolume(), 3397.0) self.assertEqual(feed["spy"][0].getAdjClose(), None) self.assertEqual(len(resampledBarDS), len(feed["spy"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(datetime.datetime(2011, 1, 3, 9))) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(datetime.datetime(2011, 2, 1, 1)))
def testResampleNinjaTraderDay(self): with common.TmpDir() as tmp_path: # Resample. feed = ninjatraderfeed.Feed(ninjatraderfeed.Frequency.MINUTE) feed.addBarsFromCSV( "spy", common.get_data_file_path("nt-spy-minute-2011.csv")) resampledBarDS = resampled_ds.ResampledBarDataSeries( feed["spy"], bar.Frequency.DAY) resampledFile = os.path.join(tmp_path, "day-nt-spy-minute-2011.csv") resample.resample_to_csv(feed, bar.Frequency.DAY, resampledFile) resampledBarDS.pushLast( ) # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(bar.Frequency.DAY) feed.addBarsFromCSV("spy", resampledFile, marketsession.USEquities.getTimezone()) feed.loadAll() self.assertEqual(len(feed["spy"]), 25) self.assertEqual( feed["spy"][0].getDateTime(), dt.localize(datetime.datetime(2011, 1, 3), marketsession.USEquities.getTimezone())) self.assertEqual( feed["spy"][-1].getDateTime(), dt.localize(datetime.datetime(2011, 2, 1), marketsession.USEquities.getTimezone())) self.assertEqual(len(resampledBarDS), len(feed["spy"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(datetime.datetime(2011, 1, 3))) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(datetime.datetime(2011, 2, 1)))
def main(end,months,minutes=30): barFeed = barfeed.CSVTradeFeed() start = end - timedelta(months*365/12) print "Resampling from %s to %s" % (start,end) barFeed.addBarsFromCSV("/home/mcstar/data/coinbaseUSD.csv", fromDateTime=start, toDateTime=end) path = "./%smin-BTC-%s.csv" % (minutes,end.year) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE*minutes, path) print "Saved to ",path
def main(end, months): barFeed = barfeed.CSVTradeFeed() start = end - timedelta(months * 365 / 12) barFeed.addBarsFromCSV("/home/mcstar/data/.coinbaseUSD.csv", fromDateTime=start, toDateTime=end) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE * 30, "./30min-btc-%s.csv" % (start.year))
def main(plot): bBandsPeriod = 60 * 24 * 2 # download and load the historic trade data from mtgox currency = 'USD' instrument = 'BTC' startdate = datetime.date(2013, 1, 1) enddate = datetime.date.today() - relativedelta(days=1) barFrequency = pyalgotrade.barfeed.Frequency.MINUTE print '(down-)loading bars' feed = GenericBarFeed(barFrequency) month = startdate while month <= enddate: fnamOrig = 'trades-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) if barFrequency == pyalgotrade.barfeed.Frequency.MINUTE: fnamResa = 'resamp1m-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) else: fnamResa = 'resamp1h-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) if not os.path.exists(fnamOrig): print 'downloading ', fnamOrig tools.download_trades_by_month(currency, month.year, month.month, fnamOrig) if not os.path.exists(fnamResa): print 'resampling ', fnamResa feedLocal = barfeed.CSVTradeFeed() feedLocal.addBarsFromCSV(fnamOrig) resample_to_csv(feedLocal, barFrequency, fnamResa) print 'loading ', fnamResa feed.addBarsFromCSV(instrument, fnamResa) month += relativedelta(months=1) print 'set up strategy and plot' myStrategy = MyStrategy(feed, instrument, 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()) print 'run the strategy' myStrategy.run() print "Result: %.2f" % myStrategy.getResult() if plot: plt.plot()
def main(): ''' mid 先要从网站手动下载tick压缩文件 手动解压后通过此程序转化周期 ''' barFeed = barfeed.CSVTradeFeed() barFeed.addBarsFromCSV("bitstampUSD.csv", fromDateTime=datetime.datetime(2014, 1, 1), toDateTime=datetime.datetime(2014, 2, 1)) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE * 30, "30min-bitstampUSD.csv")
def ENE_trans_data(): dat = pd.read_csv("../../api/stock/csv/600281SH_min.csv", index_col=['datetime'], encoding='gbk') feed = dataFramefeed.Feed(frequency=bar.Frequency.MINUTE) feed.addBarsFromDataFrame("orcl", dat) ###暂时不用 # resampledBarDS_day = resampled.ResampledBarDataSeries(feed["orcl"], bar.Frequency.DAY) # resampledBarDS_5min = resampled.ResampledBarDataSeries(feed["orcl"], bar.Frequency.MINUTE*5) # feed.addBarsFromSequence("orcl_d",resampledBarDS_day) resample.resample_to_csv(feed, bar.Frequency.MINUTE * 5, "../../api/stock/csv/600281SH_5min.csv") # 这样resample的数据是对的
def main(plot): bBandsPeriod = 60 * 24 * 2 # download and load the historic trade data from mtgox currency = 'USD' instrument = 'BTC' startdate = datetime.date(2013, 1, 1) enddate = datetime.date.today() - relativedelta(days=1) barFrequency = pyalgotrade.barfeed.Frequency.MINUTE print '(down-)loading bars' feed = GenericBarFeed(barFrequency) month = startdate while month <= enddate: fnamOrig = 'trades-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) if barFrequency == pyalgotrade.barfeed.Frequency.MINUTE: fnamResa = 'resamp1m-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) else: fnamResa = 'resamp1h-mtgox-%s-%d-%d.csv' % (currency, month.year, month.month) if not os.path.exists(fnamOrig): print 'downloading ', fnamOrig tools.download_trades_by_month(currency, month.year, month.month, fnamOrig) if not os.path.exists(fnamResa): print 'resampling ', fnamResa feedLocal = barfeed.CSVTradeFeed() feedLocal.addBarsFromCSV(fnamOrig) resample_to_csv(feedLocal, barFrequency, fnamResa) print 'loading ', fnamResa feed.addBarsFromCSV(instrument, fnamResa) month += relativedelta(months=1) print 'set up strategy and plot' myStrategy = MyStrategy(feed, instrument, 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()) print 'run the strategy' myStrategy.run() print "Result: %.2f" % myStrategy.getResult() if plot: plt.plot()
def testResampleMtGoxDay(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV( common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries( feed["BTC"], barfeed.Frequency.DAY) resampledFile = os.path.join(common.get_temp_path(), "day-mgtox-usd-2013-01-01.csv") resample.resample_to_csv(feed, barfeed.Frequency.DAY, resampledFile) resampledBarDS.pushLast( ) # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.DAY) feed.addBarsFromCSV("BTC", resampledFile) feed.loadAll() self.assertEqual(len(feed["BTC"]), 1) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 01, 01, 23, 59, 59)) self.assertEqual(feed["BTC"][0].getOpen(), 13.51001) self.assertEqual(feed["BTC"][0].getHigh(), 13.56) self.assertEqual(feed["BTC"][0].getLow(), 13.16123) self.assertEqual(feed["BTC"][0].getClose(), 13.30413) self.assertEqual(feed["BTC"][0].getVolume(), 28168.9114596) self.assertEqual(feed["BTC"][0].getAdjClose(), 13.30413) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime())) self.assertEqual(resampledBarDS[0].getOpen(), feed["BTC"][0].getOpen()) self.assertEqual(resampledBarDS[0].getHigh(), feed["BTC"][0].getHigh()) self.assertEqual(resampledBarDS[0].getLow(), feed["BTC"][0].getLow()) self.assertEqual(resampledBarDS[0].getClose(), feed["BTC"][0].getClose()) self.assertEqual(round(resampledBarDS[0].getVolume(), 5), round(feed["BTC"][0].getVolume(), 5)) self.assertEqual(resampledBarDS[0].getAdjClose(), feed["BTC"][0].getAdjClose())
def testResampleMtGoxHour(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV(common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries(feed["BTC"], barfeed.Frequency.HOUR) resample.resample_to_csv(feed, barfeed.Frequency.HOUR, "hour-mgtox-usd-2013-01-01.csv") resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.HOUR) feed.addBarsFromCSV("BTC", "hour-mgtox-usd-2013-01-01.csv") feed.loadAll() self.assertEqual(len(feed["BTC"]), 24) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 01, 01, 00, 59, 59)) self.assertEqual(feed["BTC"][-1].getDateTime(), datetime.datetime(2013, 01, 01, 23, 59, 59)) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime()))
def testResampleMtGoxMinute(self): # Resample. feed = mtgoxfeed.CSVTradeFeed() feed.addBarsFromCSV(common.get_data_file_path("trades-mgtox-usd-2013-01-01.csv")) resampledBarDS = resampled.ResampledBarDataSeries(feed["BTC"], barfeed.Frequency.MINUTE) resampledFile = os.path.join(common.get_temp_path(), "minute-mgtox-usd-2013-01-01.csv") resample.resample_to_csv(feed, barfeed.Frequency.MINUTE, resampledFile) resampledBarDS.pushLast() # Need to manually push the last stot since time didn't change. # Load the resampled file. feed = csvfeed.GenericBarFeed(barfeed.Frequency.MINUTE) feed.addBarsFromCSV("BTC", resampledFile) feed.loadAll() self.assertEqual(len(feed["BTC"]), 537) self.assertEqual(feed["BTC"][0].getDateTime(), datetime.datetime(2013, 1, 1, 0, 4)) self.assertEqual(feed["BTC"][-1].getDateTime(), datetime.datetime(2013, 1, 1, 23, 58)) self.assertEqual(len(resampledBarDS), len(feed["BTC"])) self.assertEqual(resampledBarDS[0].getDateTime(), dt.as_utc(feed["BTC"][0].getDateTime())) self.assertEqual(resampledBarDS[-1].getDateTime(), dt.as_utc(feed["BTC"][-1].getDateTime()))
def main(): barFeed = barfeed.CSVTradeFeed() barFeed.addBarsFromCSV(".\\data\\bitstampUSD.csv", fromDateTime=datetime.datetime(2014, 1, 1)) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE*30, "30min-bitstampUSD.csv")
def resampleCsv(minutes): """Change interval of data trades with recalc prices""" feed = coinfeed.Feed() feed.addBarsFromCSV("btc", "data/ticker.csv") resample_to_csv(feed, 60 * minutes, "resampled.csv")
def main(): barFeed = barfeed.CSVTradeFeed() barFeed.addBarsFromCSV("bitstampUSD.csv", fromDateTime=datetime.datetime(2014, 1, 1)) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE*30, "30min-bitstampUSD.csv")
def main(file_in, file_out, freq): barFeed = barfeed.CSVTradeFeed() barFeed.addBarsFromCSV(file_in, fromDateTime=datetime.datetime(2014, 1, 1)) resample.resample_to_csv(barFeed, bar.Frequency.MINUTE * freq, file_out)