Skip to main content
Эта страница для трейдеров, которые хотят понять, почему позицию ликвидировали. Короткий и честный ответ: ликвидация почти всегда механически вытекает из того, как правила поддерживающей маржи применяются к маркировочной цене, и версия про «нечестную ликвидацию» обычно рассыпается, стоит трейдеру посмотреть на точные входные данные. Прочитайте разделы ниже, прежде чем открывать обращение.

Что запускает ликвидацию

Позиция ликвидируется, когда капитал счёта опускается ниже поддерживающей маржи, требуемой для его текущего размера, при оценке по текущей маркировочной цене. Точное условие описано на странице Ликвидации. Два момента стоит подчеркнуть:
  • Триггером служит маркировочная цена, а не цена последней сделки. Почему — см. Маркировочная цена. Это важно, потому что одиночный прокол в стакане может выглядеть драматично на графике, не сдвинув маркировочную цену настолько, чтобы пробить чью-то маржу.
  • Поддерживающая маржа зависит от ступени по размеру позиции. Крупные позиции требуют больше маржи, а таблица ступеней описана на странице Плечо. Позиция, надёжно обеспеченная при одном размере, может стать недообеспеченной после того, как вы её нарастили, — даже без движения цены.

Как ликвидация исполняется

Ликвидация — это не бот, реагирующий постфактум. Это протокольная машина состояний, работающая атомарно с сопоставлением, внутри того же цикла производства блока. Механизм описан на странице Клиринговая палата. Следствие для пользователей: никакой «гонки» за право ликвидировать вас нет, и никакой внешний keeper не получает премию, которую протокол мог бы забрать себе. Всё происходит детерминированно внутри IntentionKernel. Когда обнаружено нарушение маржинального требования, движок пытается закрыть позицию против стакана. Если стакан слишком тонкий, чтобы принять закрытие по приемлемой цене, вступает страховой фонд. Если ситуация настолько тяжёлая, что страховой фонд был бы исчерпан, включается автоделеверидж — см. ADL — и позиции контрагентов назначаются по определённой цене.

Как читать событие ликвидации

Каждая ликвидация порождает структурированное событие, в котором как минимум есть:
  • Счёт и позиция, нарушившие маржинальное требование.
  • Маркировочная цена в момент нарушения.
  • Ступень маржи, которая применялась: именно она задаёт требование по поддерживающей марже.
  • Закрытый объём и цена исполнения закрытия, включая то, прошло ли оно через стакан, через страховой фонд или через ADL.
  • Изменение страхового фонда, если оно было.
Если вы считаете, что ликвидация была неверной, начинать нужно именно с этих пяти полей. В подавляющем большинстве случаев маркировочная цена на указанной высоте совпадает с тем, что сообщал агрегированный оракул, а маржинальное требование для вашего размера позиции ровно такое, какое задаёт таблица ступеней. Тогда ликвидация — не баг и не вопрос к поддержке, а следствие тех риск-параметров, которые вы приняли, открывая позицию.

Когда это действительно вопрос к поддержке

Есть несколько ситуаций, в которых обращение оправдано:
  • Интерфейс показывает не ту маркировочную цену, что событие. Это может быть отставание интерфейса, а не баг движка, но проверить стоит.
  • Ликвидация сработала по маркировочной цене, которой агрегированный оракул в том блоке не показывал.
  • Указанная ступень маржи не совпадает с таблицей ступеней, опубликованной в документации.
  • Изменение страхового фонда не согласуется с ценой исполнения закрытия.
В любом из этих случаев напишите на contact@intention.xyz, приложив адрес позиции, высоту блока с событием, сами поля события и скриншот с расхождением.

Когда это не вопрос к поддержке

Если позицию ликвидировали, потому что маркировочная цена сдвинулась и поддерживающая маржа была пробита, ответ «поддержка это отменит» не работает. Никакая поддержка, нигде, не может отменить финализированный переход состояния в блокчейне. Что она может — разобрать с вами математику и подтвердить, что протокол сделал то, что должен был. А это, как правило, и есть самый неудобный ответ.