Example #1
0
    def test_ask_and_bid_price_positive(self):
        position_sell1 = orders.SellOrderPosition(price=1.24251)
        position_sell2 = orders.SellOrderPosition(price=1.24250)
        position_buy1 = orders.BuyOrderPosition(price=1.25261)
        position_buy2 = orders.BuyOrderPosition(price=1.24250)

        self._order_book._ask_positions[1.25261] = position_buy1
        self._order_book._bid_positions[1.24251] = position_sell1
        self._order_book._ask_positions[1.25260] = position_buy2
        self._order_book._bid_positions[1.24250] = position_sell2

        self.assertEqual(1.25260, self._order_book.get_ask())
        self.assertEqual(1.24251, self._order_book.get_bid())
Example #2
0
    def test_add_positions_one(self):
        self._order_book._ask_positions[1.20000] = [
            orders.SellOrderPosition(price=1.20000) for i in xrange(100)
        ]
        self._order_book._bid_positions[1.10000] = [
            orders.BuyOrderPosition(price=1.10000) for i in xrange(100)
        ]

        self._order_book.add(
            [orders.SellOrderPosition(price=1.19000) for i in xrange(50)])
        self._order_book.add(
            [orders.BuyOrderPosition(price=1.10000) for i in xrange(50)])

        self.assertEqual(len(self._order_book.get_ask_positions(1.20000)), 100)
        self.assertEqual(len(self._order_book.get_ask_positions(1.19000)), 50)
        self.assertEqual(len(self._order_book.get_bid_positions(1.10000)), 150)
        self.assertEqual(self._order_book.get_ask(), 1.19000)
        self.assertEqual(self._order_book.get_bid(), 1.10000)
Example #3
0
    def test_remove_positions(self):
        buy_positions = [orders.BuyOrderPosition(price=1) for i in xrange(100)]
        sell_positions = [
            orders.SellOrderPosition(price=1.2) for i in xrange(100)
        ]

        self._order_book._ask_positions[1.2] = copy.copy(sell_positions)
        self._order_book._bid_positions[1] = copy.copy(buy_positions)

        self.assertEqual(self._order_book.remove(sell_positions[50:]), [])
        self.assertEqual(self._order_book.remove(buy_positions[:50]), [])

        self.assertEqual(self._order_book._ask_positions[1.2],
                         sell_positions[:50])
        self.assertEqual(self._order_book._bid_positions[1],
                         buy_positions[50:])
Example #4
0
    def _load_next_tick(self):
        self._last_time_stamp = self._tick_info.timestamp

        self._order_book.remove(self._bid_order_positions)
        self._order_book.remove(self._ask_order_positions)

        self._bid_order_positions = [
            orders.BuyOrderPosition(price=self._tick_info.bid)
            for i in xrange(self._default_volume)
        ]
        self._ask_order_positions = [
            orders.SellOrderPosition(price=self._tick_info.ask)
            for i in xrange(self._default_volume)
        ]

        self._order_book.add(positions=self._bid_order_positions)
        self._order_book.add(positions=self._ask_order_positions)

        self._tick_info = next(self._tick_generator)

        return self.get_last_tick()