added support to get the temp directory

This commit is contained in:
Gert Wohlgemuth 2018-05-24 19:11:14 -07:00
parent 2493f17753
commit 644702a595

View File

@ -58,7 +58,7 @@ def backtest(event, context):
) )
till = datetime.datetime.today() till = datetime.datetime.today()
fromDate = till - datetime.timedelta(days=30) fromDate = till - datetime.timedelta(days=5)
if 'from' in event['body']: if 'from' in event['body']:
fromDate = datetime.datetime.strptime(event['body']['from'], '%Y%m%d') fromDate = datetime.datetime.strptime(event['body']['from'], '%Y%m%d')
@ -72,6 +72,55 @@ def backtest(event, context):
event['body'][ event['body'][
'stake_currency'], 'stake_currency'],
event['body']['asset'])) event['body']['asset']))
configuration = _generate_configuration(event, fromDate, name, response, till)
backtesting = Backtesting(configuration)
result = backtesting.start()
result_data = []
for index, row in result.iterrows():
data = {
"id": "{}.{}:{}".format(user, name, row['currency'].upper()),
"trade": "{} to {}".format(row['entry'].strftime('%Y-%m-%d %H:%M:%S'),
row['exit'].strftime('%Y-%m-%d %H:%M:%S')),
"pair": row['currency'],
"duration": row['duration'],
"profit_percent": row['profit_percent'],
"profit_stake": row['profit_BTC'],
"entry_date": row['entry'].strftime('%Y-%m-%d %H:%M:%S'),
"exit_date": row['exit'].strftime('%Y-%m-%d %H:%M:%S')
}
data = json.dumps(data, use_decimal=True)
data = json.loads(data, use_decimal=True)
# persist data
trade_table.put_item(Item=data)
result_data.append(data)
# fire request message to aggregate this strategy now
return {
"statusCode": 200,
"body": json.dumps(result_data)
}
else:
return {
"statusCode": 404,
"body": json.dumps({
"error": "sorry we did not find any matching strategy for user {} and name {}".format(
user, name)})
}
except ImportError as e:
return {
"statusCode": 500,
"body": json.dumps({"error": e})
}
else:
raise Exception("not a valid event: {}".format(event))
def _generate_configuration(event, fromDate, name, response, till):
content = response['Items'][0]['content'] content = response['Items'][0]['content']
configuration = { configuration = {
"max_open_trades": 1, "max_open_trades": 1,
@ -115,49 +164,7 @@ def backtest(event, context):
"refresh_pairs": True "refresh_pairs": True
} }
return configuration
backtesting = Backtesting(configuration)
result = backtesting.start()
result_data = []
for index, row in result.iterrows():
data = {
"id": "{}.{}:{}".format(user, name, row['currency'].upper()),
"trade": "{} to {}".format(row['entry'].strftime('%Y-%m-%d %H:%M:%S'),
row['exit'].strftime('%Y-%m-%d %H:%M:%S')),
"pair": row['currency'],
"duration": row['duration'],
"profit_percent": row['profit_percent'],
"profit_stake": row['profit_BTC'],
"entry_date": row['entry'].strftime('%Y-%m-%d %H:%M:%S'),
"exit_date": row['exit'].strftime('%Y-%m-%d %H:%M:%S')
}
data = json.dumps(data, use_decimal=True)
data = json.loads(data, use_decimal=True)
# persist data
trade_table.put_item(Item=data)
result_data.append(data)
return {
"statusCode": 200,
"body": json.dumps(result_data)
}
else:
return {
"statusCode": 404,
"body": json.dumps({
"error": "sorry we did not find any matching strategy for user {} and name {}".format(
user, name)})
}
except ImportError as e:
return {
"statusCode": 500,
"body": json.dumps({"error": e})
}
else:
raise Exception("not a valid event: {}".format(event))
def cron(event, context): def cron(event, context):