more bcolz unit tests

This commit is contained in:
Victor Grau Serrat
2017-10-24 13:42:53 -06:00
parent 315d25f7c0
commit fa018e2e0c
7 changed files with 55 additions and 25 deletions
+49 -19
View File
@@ -3,7 +3,7 @@ import tempfile
import pandas as pd
from catalyst.exchange.exchange_bundle import ExchangeBundle
from catalyst.exchange.exchange_bcolz import BcolzExchangeBarWriter
from catalyst.exchange.exchange_bcolz import BcolzExchangeBarWriter, BcolzExchangeBarReader
from nose.tools import assert_equals
@@ -19,16 +19,20 @@ class TestBcolzWriter(object):
def tearDown(self):
shutil.rmtree(self.root_dir) # Remove the directory after the test
def generate_df(self, exchange_name, freq, start, end):
bundle = ExchangeBundle(exchange_name)
index = bundle.get_calendar_periods_range(start, end,freq)
df = pd.DataFrame(index=index, columns=self.columns)
df.fillna(1, inplace=True)
return df
def test_bcolz_write_daily_past(self):
start = pd.to_datetime('2016-01-01')
end = pd.to_datetime('2016-12-31')
freq = 'daily'
bundle = ExchangeBundle('bitfinex')
index = bundle.get_calendar_periods_range(start, end,freq)
df = pd.DataFrame(index=index, columns=self.columns)
assert_equals(len(df.index), 366)
df.fillna(1, inplace=True)
df = self.generate_df('bitfinex', freq, start, end)
writer = BcolzExchangeBarWriter(
rootdir=self.root_dir,
@@ -47,10 +51,7 @@ class TestBcolzWriter(object):
end = pd.to_datetime('today')
freq = 'daily'
bundle = ExchangeBundle('bitfinex')
index = bundle.get_calendar_periods_range(start, end,freq)
df = pd.DataFrame(index=index, columns=self.columns)
df.fillna(1, inplace=True)
df = self.generate_df('bitfinex', freq, start, end)
writer = BcolzExchangeBarWriter(
rootdir = self.root_dir,
@@ -69,11 +70,7 @@ class TestBcolzWriter(object):
end = pd.to_datetime('2015-04-30 23:59')
freq = 'minute'
bundle = ExchangeBundle('bitfinex')
index = bundle.get_calendar_periods_range(start, end,freq)
df = pd.DataFrame(index=index, columns=self.columns)
assert_equals(len(df.index), 30*24*60)
df.fillna(1, inplace=True)
df = self.generate_df('bitfinex', freq, start, end)
writer = BcolzExchangeBarWriter(
rootdir = self.root_dir,
@@ -93,10 +90,7 @@ class TestBcolzWriter(object):
end = pd.to_datetime('today')
freq = 'minute'
bundle = ExchangeBundle('bitfinex')
index = bundle.get_calendar_periods_range(start, end,freq)
df = pd.DataFrame(index=index, columns=self.columns)
df.fillna(1, inplace=True)
df = self.generate_df('bitfinex', freq, start, end)
writer = BcolzExchangeBarWriter(
rootdir = self.root_dir,
@@ -110,3 +104,39 @@ class TestBcolzWriter(object):
writer.write(data)
pass
def bcolz_exchange_daily_write_read(self, exchange_name):
start = pd.to_datetime('2017-10-01 00:00')
end = pd.to_datetime('today')
freq = 'minute'
df = self.generate_df(exchange_name, freq, start, end)
writer = BcolzExchangeBarWriter(
rootdir = self.root_dir,
start_session = start,
end_session = end,
data_frequency = freq,
write_metadata = True )
data = []
data.append((1,df))
writer.write(data)
reader = BcolzExchangeBarReader(rootdir = self.root_dir)
dx = reader.load_raw_arrays(self.columns, start, end, [1,])
assert_equals(dx,df)
def test_bcolz_bitfinex_daily_write_read(self):
self.bcolz_exchange_daily_write_read('bitfinex')
def test_bcolz_poloniex_daily_write_read(self):
self.bcolz_exchange_daily_write_read('poloniex')
+1 -1
View File
@@ -8,7 +8,7 @@ from catalyst.finance.execution import (LimitOrder)
log = Logger('test_bitfinex')
class BitfinexTestCase(BaseExchangeTestCase):
class TestBitfinexTestCase(BaseExchangeTestCase):
@classmethod
def setup(self):
log.info('creating bitfinex object')
+1 -1
View File
@@ -7,7 +7,7 @@ from catalyst.exchange.exchange_utils import get_exchange_auth
log = Logger('test_bittrex')
class BittrexTestCase(BaseExchangeTestCase):
class TestBittrexTestCase(BaseExchangeTestCase):
@classmethod
def setup(self):
print ('creating bittrex object')
+1 -1
View File
@@ -16,7 +16,7 @@ from catalyst.utils.paths import ensure_directory
log = Logger('test_exchange_bundle')
class ExchangeBundleTestCase:
class TestExchangeBundleTestCase:
def test_spot_value(self):
data_frequency = 'daily'
exchange_name = 'poloniex'
+1 -1
View File
@@ -11,7 +11,7 @@ import pandas as pd
log = Logger('ExchangeClockTestCase')
class ExchangeClockTestCase(TestCase):
class TestExchangeClockTestCase(TestCase):
@classmethod
def setUpClass(cls):
cls.open_calendar = get_calendar("OPEN")
+1 -1
View File
@@ -12,7 +12,7 @@ from catalyst.exchange.exchange_utils import get_exchange_auth
log = Logger('test_bitfinex')
class ExchangeDataPortalTestCase:
class TestExchangeDataPortalTestCase:
@classmethod
def setup(self):
log.info('creating bitfinex exchange')
+1 -1
View File
@@ -8,7 +8,7 @@ from catalyst.exchange.exchange_utils import get_exchange_auth
log = Logger('test_poloniex')
class PoloniexTestCase(BaseExchangeTestCase):
class TestPoloniexTestCase(BaseExchangeTestCase):
@classmethod
def setup(self):
print ('creating poloniex object')