stable/freqtrade/tests/testdata/download_backtest_data.py
2018-02-04 16:53:15 +01:00

55 lines
1.6 KiB
Python
Executable File

#!/usr/bin/env python3
"""This script generate json data from bittrex"""
import sys
import json
import ccxt
import datetime
from freqtrade import exchange
from freqtrade import misc
parser = misc.common_args_parser('download utility')
parser.add_argument(
'-p', '--pair',
help='JSON file containing pairs to download',
dest='pair',
default=None
)
args = parser.parse_args(sys.argv[1:])
TICKER_INTERVALS = ['1m', '5m'] # ticker interval in minutes (currently implemented: 1 and 5)
PAIRS = []
if args.pair:
with open(args.pair) as file:
PAIRS = json.load(file)
PAIRS = list(set(PAIRS))
print('About to download pairs:', PAIRS)
# Init Bittrex exchange
exchange._API = ccxt.bittrex()
for pair in PAIRS:
for tick_interval in TICKER_INTERVALS:
print('downloading pair %s, interval %s' % (pair, tick_interval))
data = exchange.get_ticker_history(pair, tick_interval)
pair_print = pair.replace('/', '_')
filename = '{}-{}.json'.format(pair_print, tick_interval)
data_json = []
for candlestick in data:
# Timestamp in unix milliseconds formatted
data_json.append({
'T': datetime.datetime.fromtimestamp(candlestick[0]/1000.0).strftime('%Y-%m-%dT%H:%M:%S.%f'),
'O': candlestick[1],
'H': candlestick[2],
'L': candlestick[3],
'C': candlestick[4],
'V': candlestick[5],
})
data_json = sorted(data_json, key=lambda d: d['T'])
misc.file_dump_json(filename, data_json)