Два пути
«Объём» — это остаток
Запрос изменения
Что изменилось?
Уменьшение объёмаПравка на месте — приоритет сохранён
Цена изменена или объём увеличенОтмена, затем новый ордер — приоритет потерян
У ордера на 10 с исполненными 4 остаток равен 6
Изменение на 5 — уменьшение
Изменение на 8 — увеличение, хотя это меньше исходных 10
Путь замены упорядочен, но не атомаренНовый ордер выставляется, только если отмена прошла, и всё равно может не пройти по марже — тогда вы отменены и не стоите в стакане.
Почему важно место в очереди
На заданном ценовом уровне ордера исполняются в порядке прихода. Ордер в начале уровня исполняется раньше стоящего за ним, а на загруженном уровне разница между началом и концом — это разница между исполнением и наблюдением за тем, как рынок уходит. Для маркет-мейкера в этом вся суть. Сократить объём ради управления риском, не потеряв места, — это принципиально не то же самое, что вставать в очередь заново за всеми, кто пришёл, пока вы решали.Что здесь означает «объём»
Сравнение объёмов идёт по остатку, а не по объёму, который вы отправили изначально. У ордера на 10, из которого исполнено 4, остаток равен 6. Изменение на 5 — это уменьшение, правка на месте. Изменение на 8 — увеличение относительно 6, пусть оно и меньше исходных 10, а значит — отмена и замена.Путь отмены с заменой может сорваться на полпути
Когда изменение идёт путём отмены с заменой, эти два шага упорядочены, но не атомарны:- Новый ордер выставляется, только если отмена прошла. Оказаться с обоими сразу невозможно.
- Новый ордер всё равно может не пройти — чаще всего по марже, поскольку между двумя шагами рынок мог сдвинуться.
Сроки применения
Уменьшение объёма на месте применяется в текущем блоке — ждать не нужно. Изменения цены и увеличение объёма идут двухшаговым путём и подчиняются тому же упорядочиванию транзакций, что любая отмена и любой новый ордер. Отмена выполняется в фазе отмен, впереди агрессивных ордеров того же блока, — именно это не даёт ордеру, пришедшему вместе с вашим изменением, снять вашу устаревшую котировку. Срок действия переносится: изменённый ордер сохраняет тот же срок действия, и он же управляет заменой.Практические замечания
- Уменьшайте свободно. Это дёшево и ничего не стоит в приоритете.
- Считайте изменение цены новым ордером — потому что это он и есть.
- Используйте клиентские идентификаторы ордеров, если меняете ордера программно. Они позволяют выяснить, что именно существует после неоднозначного ответа, а не догадываться.
- Отменяйте и выставляйте заново явно, когда меняете несколько полей сразу: результат тот же, а обработка ошибок понятнее.
Что дальше
Стакан заявок
Как приоритет «цена — время» определяет порядок исполнения на уровне.
Упорядочивание транзакций
Почему отмены исполняются раньше агрессивных ордеров того же блока.
Клиентский идентификатор ордера
Как выяснить, что именно существует, после неоднозначного ответа.
Типы ордеров
Срок действия и что переносится при изменении.