Merge branch 'develop' of github.com:enigmampc/catalyst into develop

This commit is contained in:
Victor Grau Serrat
2018-01-18 13:10:12 -07:00
2 changed files with 24 additions and 25 deletions
+18 -18
View File
@@ -232,12 +232,12 @@ class ExchangeBundle:
problem = '{name} ({start_dt} to {end_dt}) has empty ' \ problem = '{name} ({start_dt} to {end_dt}) has empty ' \
'periods: {dates}'.format( 'periods: {dates}'.format(
name=asset.symbol, name=asset.symbol,
start_dt=asset.start_date.strftime( start_dt=asset.start_date.strftime(
DATE_TIME_FORMAT), DATE_TIME_FORMAT),
end_dt=end_dt.strftime(DATE_TIME_FORMAT), end_dt=end_dt.strftime(DATE_TIME_FORMAT),
dates=[date.strftime( dates=[date.strftime(
DATE_TIME_FORMAT) for date in dates]) DATE_TIME_FORMAT) for date in dates])
if empty_rows_behavior == 'warn': if empty_rows_behavior == 'warn':
log.warn(problem) log.warn(problem)
@@ -286,12 +286,12 @@ class ExchangeBundle:
problem = '{name} ({start_dt} to {end_dt}) has {threshold} ' \ problem = '{name} ({start_dt} to {end_dt}) has {threshold} ' \
'identical close values on: {dates}'.format( 'identical close values on: {dates}'.format(
name=asset.symbol, name=asset.symbol,
start_dt=asset.start_date.strftime(DATE_TIME_FORMAT), start_dt=asset.start_date.strftime(DATE_TIME_FORMAT),
end_dt=end_dt.strftime(DATE_TIME_FORMAT), end_dt=end_dt.strftime(DATE_TIME_FORMAT),
threshold=threshold, threshold=threshold,
dates=[pd.to_datetime(date).strftime(DATE_TIME_FORMAT) dates=[pd.to_datetime(date).strftime(DATE_TIME_FORMAT)
for date in dates]) for date in dates])
problems.append(problem) problems.append(problem)
@@ -629,8 +629,8 @@ class ExchangeBundle:
show_progress, show_progress,
label='Ingesting {frequency} price data on ' label='Ingesting {frequency} price data on '
'{exchange}'.format( '{exchange}'.format(
exchange=self.exchange_name, exchange=self.exchange_name,
frequency=data_frequency, frequency=data_frequency,
)) as it: )) as it:
for chunk in it: for chunk in it:
problems += self.ingest_ctable( problems += self.ingest_ctable(
@@ -964,15 +964,15 @@ class ExchangeBundle:
data_frequency, data_frequency,
trailing_bar_count=None, trailing_bar_count=None,
reset_reader=False): reset_reader=False):
if trailing_bar_count:
delta = get_delta(trailing_bar_count, data_frequency)
end_dt += delta
start_dt = get_start_dt(end_dt, bar_count, data_frequency, False) start_dt = get_start_dt(end_dt, bar_count, data_frequency, False)
start_dt, _ = self.get_adj_dates( start_dt, _ = self.get_adj_dates(
start_dt, end_dt, assets, data_frequency start_dt, end_dt, assets, data_frequency
) )
if trailing_bar_count:
delta = get_delta(trailing_bar_count, data_frequency)
end_dt += delta
# This is an attempt to resolve some caching with the reader # This is an attempt to resolve some caching with the reader
# when auto-ingesting data. # when auto-ingesting data.
# TODO: needs more work # TODO: needs more work
@@ -21,10 +21,11 @@ pd.set_option('display.max_colwidth', 1000)
class TestSuiteBundle(WithLogger, ZiplineTestCase): class TestSuiteBundle(WithLogger, ZiplineTestCase):
@staticmethod @staticmethod
def get_data_portal(exchange_names): def get_data_portal(exchanges):
open_calendar = get_calendar('OPEN') open_calendar = get_calendar('OPEN')
asset_finder = ExchangeAssetFinder() asset_finder = ExchangeAssetFinder(exchanges)
exchange_names = [exchange.name for exchange in exchanges]
data_portal = DataPortalExchangeBacktest( data_portal = DataPortalExchangeBacktest(
exchange_names=exchange_names, exchange_names=exchange_names,
asset_finder=asset_finder, asset_finder=asset_finder,
@@ -97,7 +98,7 @@ class TestSuiteBundle(WithLogger, ZiplineTestCase):
def test_validate_bundles(self): def test_validate_bundles(self):
# exchange_population = 3 # exchange_population = 3
asset_population = 3 asset_population = 3
data_frequency = random.choice(['minute', 'daily']) data_frequency = random.choice(['minute'])
# bundle = 'dailyBundle' if data_frequency # bundle = 'dailyBundle' if data_frequency
# == 'daily' else 'minuteBundle' # == 'daily' else 'minuteBundle'
@@ -105,11 +106,9 @@ class TestSuiteBundle(WithLogger, ZiplineTestCase):
# population=exchange_population, # population=exchange_population,
# features=[bundle], # features=[bundle],
# ) # Type: list[Exchange] # ) # Type: list[Exchange]
exchanges = [get_exchange('bitfinex', skip_init=True)] exchanges = [get_exchange('poloniex', skip_init=True)]
data_portal = TestSuiteBundle.get_data_portal( data_portal = TestSuiteBundle.get_data_portal(exchanges)
[exchange.name for exchange in exchanges]
)
for exchange in exchanges: for exchange in exchanges:
exchange.init() exchange.init()