Autogeneration of symbols.json for bitfinex

This commit is contained in:
Victor Grau Serrat
2017-09-22 09:54:51 -06:00
parent df8ba90236
commit 8cabb33372
2 changed files with 19 additions and 4 deletions
+13
View File
@@ -23,6 +23,7 @@ from catalyst.exchange.exchange_execution import ExchangeLimitOrder, \
ExchangeStopLimitOrder, ExchangeStopOrder
from catalyst.finance.order import Order, ORDER_STATUS
from catalyst.protocol import Account
from catalyst.exchange.exchange_utils import get_exchange_symbols_filename
# Trying to account for REST api instability
# https://stackoverflow.com/questions/15431044/can-i-set-max-retries-for-requests-request
@@ -527,3 +528,15 @@ class Bitfinex(Exchange):
log.debug('got tickers {}'.format(ticks))
return ticks
def generate_symbols_json(self, filename=None):
response = self._request('symbols', None)
symbols={}
for symbol in response.json():
symbols[symbol]= {"symbol":symbol[:-3]+'_'+symbol[-3:], "start_date": "2010-01-01"}
if(filename is None):
filename = get_exchange_symbols_filename(self.name)
with open(filename,'w') as f:
json.dump(symbols, f, sort_keys=True, indent=2, separators=(',',':'))
+6 -4
View File
@@ -24,18 +24,20 @@ def get_exchange_folder(exchange_name, environ=None):
return exchange_folder
def download_exchange_symbols(exchange_name, environ=None):
def get_exchange_symbols_filename(exchange_name, environ=None):
exchange_folder = get_exchange_folder(exchange_name, environ)
filename = os.path.join(exchange_folder, 'symbols.json')
return os.path.join(exchange_folder, 'symbols.json')
def download_exchange_symbols(exchange_name, environ=None):
filename = get_exchange_symbols_filename(exchange_name)
url = SYMBOLS_URL.format(exchange=exchange_name)
response = urllib.urlretrieve(url=url, filename=filename)
return response
def get_exchange_symbols(exchange_name, environ=None):
exchange_folder = get_exchange_folder(exchange_name, environ)
filename = os.path.join(exchange_folder, 'symbols.json')
filename = get_exchange_symbols_filename(exchange_name)
if not os.path.isfile(filename):
download_exchange_symbols(exchange_name, environ)