Торговый алгоритм соответствия - PullRequest
0 голосов
/ 17 января 2020

Существует два вида очереди, которые содержат

  1. Очередь продавца
  2. Очередь покупателя

Обе очереди содержат только количество, а не цену.

Но существуют некоторые условия для элементов этой очереди, такие как,

  1. Все или Нет: все количество должно быть продано или нет.
  2. Минимальный размер билета: Существует некоторый минимальный размер блока, установленный заказом.
  3. Mix: содержит оба вышеперечисленных условия.

мы должны сопоставлять ордера из обеих очередей таким образом, чтобы происходила максимальная торговля.

Нет условие, что после обработки обе очереди должны быть пустыми. Пример: Очередь торгов: 40,30-40A, 100A Очередь предложений: 20A, 100,120,40

Торговля происходит следующим образом:

  1. 20A и 40

    • Обновленная очередь:
    • Очередь торгов: 20,30-40A, 100A
    • Очередь предложений: 100,120,40
  2. 100 и 20

    • Обновленная очередь:
    • Очередь торгов: 30-40A, 100A
    • Предложение Очередь: 80 120,40
  3. 30-40A и 80:

    • Обновленная очередь:
    • Тендерная очередь: 100A
    • Предложение очереди: 40 120,40
  4. 100A и 40 не произойдет: как условие (1) все или ничего не применимо.

  5. (100A) и (40+ (120- (100-40))):

    • Обновленная очередь:
    • Очередь торгов: пусто
    • Очередь предложений: 60,40

Может кто-нибудь предложить мне, какой алгоритм будет иметь место в такой реализации. Заранее спасибо !!!

...