Skip to content

Commit

Permalink
Merge e1b8cd7 into dabcaab
Browse files Browse the repository at this point in the history
  • Loading branch information
liampauling committed Dec 6, 2020
2 parents dabcaab + e1b8cd7 commit 0bffb1c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 2 deletions.
9 changes: 7 additions & 2 deletions flumine/markets/middleware.py
Expand Up @@ -102,8 +102,8 @@ def _process_runner_removal(
):
# todo place market
for match in order.simulated.matched:
match[1] = round(
match[1] * (1 - (removal_adjustment_factor / 100)), 2
match[1] = self._calculate_reduction_factor(
match[1], removal_adjustment_factor
)
_, order.simulated.average_price_matched = wap(
order.simulated.matched
Expand All @@ -115,6 +115,11 @@ def _process_runner_removal(
extra=order.info,
)

@staticmethod
def _calculate_reduction_factor(price: float, adjustment_factor: float) -> float:
price_adjusted = round(price * (1 - (adjustment_factor / 100)), 2)
return max(price_adjusted, 1.01) # min: 1.01

@staticmethod
def _process_simulated_orders(market, market_analytics: dict) -> None:
for order in market.blotter.live_orders:
Expand Down
8 changes: 8 additions & 0 deletions tests/test_middleware.py
Expand Up @@ -135,6 +135,14 @@ def test__process_runner_removal_none(self):
self.middleware._process_runner_removal(mock_market, 12345, 0, None)
self.assertEqual(mock_order.simulated.matched, [[123, 8.6, 10]])

def test__calculate_reduction_factor(self):
self.assertEqual(self.middleware._calculate_reduction_factor(10, 10), 9)
self.assertEqual(self.middleware._calculate_reduction_factor(1000, 0), 1000)
self.assertEqual(self.middleware._calculate_reduction_factor(1000, 5), 950)
self.assertEqual(self.middleware._calculate_reduction_factor(3.2, 75.18), 1.01)
self.assertEqual(self.middleware._calculate_reduction_factor(10, 75.18), 2.48)
self.assertEqual(self.middleware._calculate_reduction_factor(1.01, 75.18), 1.01)

def test__process_simulated_orders(self):
mock_market_book = mock.Mock()
mock_order = mock.Mock()
Expand Down

0 comments on commit 0bffb1c

Please sign in to comment.