Continue implementing live risk checks

This commit is contained in:
2023-01-11 19:46:47 +00:00
parent 93be9e6ffe
commit e55f903f42
12 changed files with 527 additions and 244 deletions

View File

@@ -1,6 +1,6 @@
from django.test import TestCase
from core.exchanges import common
from core.exchanges import convert
from core.models import RiskModel, User
from core.trading import risk
@@ -228,7 +228,7 @@ class RiskModelTestCase(TestCase):
# Hardcoded prices to avoid calling market API here
"stop_loss_usd": 50, # 5% of $1000
}
converted = common.convert_open_trades([trade])
converted = convert.convert_trades([trade])
self.assertEqual(converted[0]["stop_loss_percent"], 5)
self.assertEqual(converted[0]["stop_loss_usd"], 50)
max_risk_check = risk.check_max_risk(self.risk_model, 1000, converted)
@@ -253,7 +253,7 @@ class RiskModelTestCase(TestCase):
# Hardcoded prices to avoid calling market API here
"stop_loss_usd": 40, # 4% of $1000
}
converted = common.convert_open_trades([trade, trade])
converted = convert.convert_trades([trade, trade])
self.assertEqual(converted[0]["stop_loss_percent"], 4)
self.assertEqual(converted[0]["stop_loss_usd"], 40)
max_risk_check = risk.check_max_risk(self.risk_model, 1000, converted)
@@ -277,7 +277,7 @@ class RiskModelTestCase(TestCase):
# Hardcoded prices to avoid calling market API here
"stop_loss_usd": 100, # 10% of $1000
}
converted = common.convert_open_trades([trade])
converted = convert.convert_trades([trade])
self.assertEqual(converted[0]["stop_loss_percent"], 10)
self.assertEqual(converted[0]["stop_loss_usd"], 100)
max_risk_check = risk.check_max_risk(self.risk_model, 1000, converted)
@@ -302,7 +302,7 @@ class RiskModelTestCase(TestCase):
# Hardcoded prices to avoid calling market API here
"stop_loss_usd": 50, # 5% of $1000
}
converted = common.convert_open_trades([trade, trade])
converted = convert.convert_trades([trade, trade])
self.assertEqual(converted[0]["stop_loss_percent"], 5)
self.assertEqual(converted[0]["stop_loss_usd"], 50)
self.assertEqual(converted[1]["stop_loss_percent"], 5)
@@ -334,7 +334,7 @@ class RiskModelTestCase(TestCase):
trade2["trailingStopLossOrder"] = {"price": 0.95}
del trade2["stopLossOrder"]
converted = common.convert_open_trades([trade, trade2])
converted = convert.convert_trades([trade, trade2])
self.assertEqual(converted[0]["stop_loss_percent"], 5)
self.assertEqual(converted[0]["stop_loss_usd"], 50)
self.assertEqual(converted[1]["trailing_stop_loss_percent"], 5)
@@ -365,7 +365,7 @@ class RiskModelTestCase(TestCase):
trade2 = trade.copy()
trade2["trailingStopLossOrder"] = {"price": 0.951}
converted = common.convert_open_trades([trade, trade2])
converted = convert.convert_trades([trade, trade2])
self.assertEqual(converted[0]["stop_loss_percent"], 5)
self.assertEqual(converted[0]["stop_loss_usd"], 50)
self.assertEqual(float(converted[1]["trailing_stop_loss_percent"]), 4.9)