Маржинальная система
Вычисления маржи следуют формулам, схожим с формулами крупных централизованных деривативных бирж.
Режим маржи
При открытии позиции выбирается режим маржи. По умолчанию используется кросс-маржа, которая обеспечивает максимальную эффективность капитала за счёт разделения обеспечения между всеми остальными позициями с кросс-маржой. Также поддерживается изолированная маржа, которая позволяет ограничить обеспечение актива только этим активом. Ликвидации в этом активе не влияют на другие изолированные позиции или кросс-позиции. Аналогично, кросс-ликвидации или другие изолированные ликвидации не влияют на исходную изолированную позицию.
Некоторые активы являются строго изолированными (strict isolated), что работает так же, как изолированная маржа, с дополнительным ограничением: маржа не может быть изъята. Маржа изымается пропорционально по мере закрытия позиции.
Режимы маржи HIP-3
Когда у пользователей есть перп-позиции в нескольких DEX, кросс-маржа ведёт себя по-разному в зависимости от абстракции аккаунта пользователя. Для единого аккаунта (unified account) и портфельной маржи кросс-позиции пользователя в DEX с одинаковым обеспечением используют общую маржу. Для стандартной абстракции кросс-маржа применяется только к активам внутри одного и того же DEX. Подробнее см. здесь.
DEX HIP-3 также поддерживают режим маржи «no cross», который позволяет изолированную маржу с возможностью изъятия маржи, но не допускает кросс-маржу.
Начальная маржа и кредитное плечо
Плечо может быть установлено пользователем на любое целое число от 1 до максимального плеча. Максимальное плечо зависит от актива.
Маржа, необходимая для открытия позиции, составляет position_size * mark_price / leverage. Начальная маржа используется позицией и не может быть выведена для позиций с кросс-маржой. Изолированные позиции поддерживают добавление и изъятие маржи после открытия позиции. Нереализованный PnL позиций с кросс-маржой автоматически доступен в качестве начальной маржи для новых позиций, тогда как изолированные позиции применяют нереализованный PnL в качестве дополнительной маржи для открытой позиции.\
\
Плечо существующей позиции может быть увеличено без закрытия позиции. Плечо проверяется только при открытии позиции. В дальнейшем пользователь сам отвечает за мониторинг использования плеча, чтобы избежать ликвидации. Возможные действия с позициями с отрицательным нереализованным PnL включают частичное или полное закрытие позиции, добавление маржи (если изолированная) и пополнение USDC (если кросс).
Нереализованный PNL и требования к переводу маржи
Нереализованный PnL может быть выведен из изолированных позиций или кросс-аккаунта, но только если оставшаяся маржа составляет не менее 10% от общей номинальной стоимости всех открытых позиций. Оставшаяся маржа также должна соответствовать требованию начальной маржи, т.е. transfer_margin_required = max(initial_margin_required, 0.1 * total_position_value)
Здесь «перевод» включает любое действие, изымающее маржу из позиции, кроме торговли. Примеры включают выводы, перевод на спот-кошелёк и переводы изолированной маржи.
Поддерживающая маржа и ликвидации
Кросс-позиции ликвидируются, когда стоимость аккаунта (включая нереализованный PnL) становится меньше поддерживающей маржи, умноженной на общий номинал открытых позиций. Поддерживающая маржа в настоящее время установлена на уровне половины начальной маржи при максимальном плече.
Изолированные позиции ликвидируются по той же логике поддерживающей маржи, но единственными входными данными для вычисления являются изолированная маржа и номинальная стоимость изолированной позиции.