working on improving speed

This commit is contained in:
Gert Wohlgemuth 2018-05-24 17:24:59 -07:00
parent 86de538d9e
commit d293b65323
3 changed files with 16 additions and 13 deletions

View File

@ -57,18 +57,18 @@ def backtest(event, context):
) )
today = datetime.datetime.today() till = datetime.datetime.today()
yesterday = today - datetime.timedelta(days=1) fromDate = till - datetime.timedelta(days=30)
if 'from' in event['body']: if 'from' in event['body']:
yesterday = datetime.datetime.strptime(event['body']['from'], '%Y%m%d') fromDate = datetime.datetime.strptime(event['body']['from'], '%Y%m%d')
if 'till' in event['body']: if 'till' in event['body']:
today = datetime.datetime.strptime(event['body']['till'], '%Y%m%d') till = datetime.datetime.strptime(event['body']['till'], '%Y%m%d')
try: try:
if "Items" in response and len(response['Items']) > 0: if "Items" in response and len(response['Items']) > 0:
print("backtesting from {} till {} for {} with {} vs {}".format(yesterday, today, name, print("backtesting from {} till {} for {} with {} vs {}".format(fromDate, till, name,
event['body'][ event['body'][
'stake_currency'], 'stake_currency'],
event['body']['asset'])) event['body']['asset']))
@ -111,20 +111,17 @@ def backtest(event, context):
'realistic_simulation': True, 'realistic_simulation': True,
"loglevel": logging.DEBUG, "loglevel": logging.DEBUG,
"strategy": "{}:{}".format(name, content), "strategy": "{}:{}".format(name, content),
"timerange": "{}-{}".format(yesterday.strftime('%Y%m%d'), today.strftime('%Y%m%d')), "timerange": "{}-{}".format(fromDate.strftime('%Y%m%d'), till.strftime('%Y%m%d')),
"refresh_pairs": True "refresh_pairs": True
} }
print("initialized backtesting")
backtesting = Backtesting(configuration) backtesting = Backtesting(configuration)
result = backtesting.start() result = backtesting.start()
print("finished test")
print(result)
result_data = [] result_data = []
for index, row in result.iterrows(): for index, row in result.iterrows():
data = { data = {
"id": "{}.{}:{}".format(user, name, row['currency']), "id": "{}.{}:{}".format(user, name, row['currency'].upper()),
"trade": "{} to {}".format(row['entry'].strftime('%Y-%m-%d %H:%M:%S'), "trade": "{} to {}".format(row['entry'].strftime('%Y-%m-%d %H:%M:%S'),
row['exit'].strftime('%Y-%m-%d %H:%M:%S')), row['exit'].strftime('%Y-%m-%d %H:%M:%S')),
"pair": row['currency'], "pair": row['currency'],
@ -207,8 +204,12 @@ def cron(event, context):
if 'pathParameters' in event: if 'pathParameters' in event:
if 'from' in event['pathParameters']: if 'from' in event['pathParameters']:
message['from'] = event['pathParameters']['from'] message['from'] = event['pathParameters']['from']
else:
message['from'] = datetime.datetime.today().strftime('%Y%m%d')
if 'till' in event['pathParameters']: if 'till' in event['pathParameters']:
message['till'] = event['pathParameters']['till'] message['till'] = event['pathParameters']['till']
else:
message['till'] = (datetime.datetime.today() - datetime.timedelta(days=30)).strftime('%Y%m%d')
serialized = json.dumps(message, use_decimal=True) serialized = json.dumps(message, use_decimal=True)
# submit item to queue for routing to the correct persistence # submit item to queue for routing to the correct persistence

View File

@ -301,8 +301,8 @@ def get_trades(event, context):
"{}.{}:{}/{}".format( "{}.{}:{}/{}".format(
event['pathParameters']['user'], event['pathParameters']['user'],
event['pathParameters']['name'], event['pathParameters']['name'],
event['pathParameters']['asset'], event['pathParameters']['asset'].upper(),
event['pathParameters']['stake'] event['pathParameters']['stake'].upper()
) )
) )
) )

View File

@ -188,7 +188,9 @@ class MyFancyTestStrategy(IStrategy):
data = get_trades({ data = get_trades({
'pathParameters': { 'pathParameters': {
'user': "GCU4LW2XXZW3A3FM2XZJTEJHNWHTWDKY2DIJLCZJ5ULVZ4K7LZ7D23TG", 'user': "GCU4LW2XXZW3A3FM2XZJTEJHNWHTWDKY2DIJLCZJ5ULVZ4K7LZ7D23TG",
"name": "MyFancyTestStrategy" "name": "MyFancyTestStrategy",
"stake": "usdt",
"asset": "ltc"
} }
}, {})['body'] }, {})['body']
print(data) print(data)