From 437e5c5b80b2ca6bb3b09348dc23115c6e829010 Mon Sep 17 00:00:00 2001 From: Frederic Fortier Date: Sat, 10 Mar 2018 21:37:31 -0500 Subject: [PATCH] BLD: fetching trades recursively --- catalyst/exchange/exchange.py | 10 +++++----- catalyst/exchange/utils/factory.py | 3 +++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/catalyst/exchange/exchange.py b/catalyst/exchange/exchange.py index bbe462b3..564bea86 100644 --- a/catalyst/exchange/exchange.py +++ b/catalyst/exchange/exchange.py @@ -257,10 +257,10 @@ class Exchange: elif data_frequency is not None: applies = ( ( - data_frequency == 'minute' and - a.end_minute is not None) - or ( - data_frequency == 'daily' and a.end_daily is not None) + data_frequency == 'minute' and a.end_minute is not None + ) or ( + data_frequency == 'daily' and a.end_daily is not None + ) ) else: @@ -606,7 +606,7 @@ class Exchange: start_dt = get_start_dt(end_dt, adj_bar_count, data_frequency) trailing_dt = \ series[asset].index[-1] + get_delta(1, data_frequency) \ - if asset in series else start_dt + if asset in series else start_dt # The get_history method supports multiple asset # Use the original frequency to let each api optimize diff --git a/catalyst/exchange/utils/factory.py b/catalyst/exchange/utils/factory.py index 4465b8ca..7ecd5675 100644 --- a/catalyst/exchange/utils/factory.py +++ b/catalyst/exchange/utils/factory.py @@ -17,6 +17,9 @@ def get_exchange(exchange_name, base_currency=None, must_authenticate=False, skip_init=False, auth_alias=None, config=None): key = (exchange_name, base_currency) if key in exchange_cache: + if not skip_init: + exchange_cache[key].init() + return exchange_cache[key] exchange_auth = get_exchange_auth(exchange_name, alias=auth_alias)