Получение и хранение таблицы и таблицы участников.
Вычисление текущих значений денежных позиций участников.
Денежные позиции участников могут изменяться в пяти случаях:a) подачи заявки на покупку бумаг; b) совершения сделки по продаже бумаг; c) снятия заявки на покупку бумаг; d) окончания торгов; e) перевода денежных средств; f) сбора биржевых комиссионных при подаче заявки на продажу бумаг.
В случае a): из заявок данного участника на покупку определяется необходимая для этого сумма, тогда текущая позиция
- ,
где - значение денежной позиции участника; после начала торгов, равна
- .
В случае b):
+
где
+
В случае c):
+
+
где к соответствующим значениям денежных позиций прибавляются суммы из снятых заявок на покупку бумаг данного участника.
В случае d): аналогично случаю c), поскольку по окончании торгов заявки снимаются принудительно.
В случае e): денежные позиции участников уменьшаются или увеличиваются на соответствующие значения.
В случае f): при заявке на продажу бумаг, текущая денежная позиция участника уменьшается на величину соответствующих комиссионных.
Вычисление текущих значений бумажных позиций участников.
Бумажные позиции участников могут изменяться в пяти случаях: a) подачи заявки на продажу бумаг; b) совершения сделки по покупке бумаг; c) снятия заявки на продажу бумаг; d) окончания торгов; e) перевода бумаг.
В случае a): из заявок данного участника на продажу определяется количество бумаг
-
где - значение бумажной позиции участника; после начала торгов; следующая за этой текущая позиция через время
-
В случае b):
+ ,
где
+ .
В случае c):
+ ,
+ ,
где к соответствующим значениям бумажных позиций прибавляются суммы из снятых заявок на продажу бумаг данного участника.
В случае d):
Аналогично случаю c), поскольку по окончании торгов заявки снимаются принудительно.
В случае e):
Бумажные позиции участников уменьшаются или увеличиваются на соответствующие значения переводов.
4. Хранение таблицы текущих денежных позиций участников в соответствии с торговыми событиями, упорядоченными по системному времени.
Хранение таблицы текущих бумажных позиций участников в соответствии с торговыми событиями, упорядоченными по системному времени.
Получение лимитированных заявок от серверов доступа, упорядоченных по системному времени, передача заявок на сверку.
Контроль достаточности обеспечения (сверка). При поступлении от участника заявки торговый автомат производит следующие действия: если заявка на продажу бумаги, то заявленное количество сравнивается с текущей бумажной позицией участника. В случае, если заявленное на продажу количество больше текущей позиции, то заявка отвергается. Если меньше или равно – то заявка отправляется в очередь; если заявка на покупку бумаги, то необходимая сумма сравнивается с текущей денежной позицией. Если заявленная сумма больше, заявка отвергается. Если меньше или равна, то заявка ставится в очередь; если сумма перевода большее соответствующих значений текущих денежных и бумажных позиций, заявка на перевод отвергается.
В случае переговорных сделок, действия аналогично. Сигналом для торгового автомата является появление вместо заявки соответствующего отчета о переговорной сделке.
8. Запись и хранение таблицы лимитированных заявок (очередь заявок)
В таблицу
Удовлетворение встречных заявок в таблице лимитированных заявок .
Изменение текущих денежных и бумажных позиций участников.
Сверка и удовлетворение рыночной заявки. Сверка происходит аналогично процедуре 7. Аналогично происходит изменение таблицы
Завершение торговой сессии. Многосторонний неттинг. Происходит принудительное снятие заявок, расчет текущих денежных и бумажных позиций, расчет окончательных значений в таблицах, пересылка таблиц денежных и бумажных позиций в расчетную и депозитарную системы.
Парадигмы программирования тут