Поиск
Пример распределения
В этой статье мы рассмотрим ситуацию, когда трейдер на Kraken Futures ликвидируется, а новая Система распределения позиций (PAS) распределяет неисполненную ликвидацию среди поставщиков ликвидности в PAS. Мы рассмотрим все примеры ответов, которые участник получит для этого.
Давайте предположим, что есть клиент, чьи текущие позиции:
- 1 760 000 длинных контрактов на PI_BTCUSD
- 300 000 длинных контрактов на FI_BTCUSD_200228
Обе эти позиции используют основной маржинальный счет FI_BTCUSD, который измеряет риск в режиме реального времени, оценивая сумму обеспечения относительно стоимости позиции, чтобы определить, следует ли ее ликвидировать.
Как только маржинальный счет для типа контракта становится ниже поддерживающей маржи, происходит ликвидация, и система продает эти позиции через ордербук по вмененной нулевой цене для каждого контракта.
В этом случае ликвидация происходит следующим образом:
ПозицияРазмерЛиквидированная суммаРаспределенная сумма
PI_BTCUSD1.760.0001.007.379752.621
FI_BTCUSD_200228300.000300.0000
Это означает, что вся позиция FI_BTCUSD_200228 на 300 000 контрактов была успешно продана в ордербук новым контрагентам, которые уже разместили там свои предложения. Однако, позиция PI_BTCUSD на 1 760 000 контрактов смогла ликвидироваться через ордербук только на 1 007 379 контрактов, а на оставшиеся 752 621 контрагенты не нашлись. В результате этот неисполненный остаток обрабатывается в системе PAS путем распределения длинной позиции между поставщиками ликвидности, участвующим в программе, на основе их индивидуальных предпочтений. Ниже приведены примеры уведомления о распределении 184.317 контрактов, распределенных на "[email protected]". Клиент получает следующее электронное письмо (обратите внимание, что этот формат может измениться, поэтому не полагайтесь на это форматирование):
Selection_999_912_.png
Поставщик ликвидности немедленно получает уведомление по каналу WebSocket, предупреждающий их о распределении. Сообщение имеет такой формат:
{   "feed": "fills",   "username": "[email protected]",   "fills": [      {         "instrument": "PI_BTCUSD",         "time": 1581026151,         "price": 9292.5,         "seq": 103,         "buy": true,         "order_id": "87755b99-bfb7-4f51-a72b-70f542f793a5",         "fill_id": "89f0f4f9-66b5-45eb-ba3f-6eeb2da5cadd",         "fill_type": "assignee",         "qty": 184317      }   ]}
Кроме того, пользователь может опрашивать конечную точку API REST на предмет исполнения, чтобы увидеть:
{   "result": "success",   "fills": [      {         "fill_id": "89f0f4f9-66b5-45eb-ba3f-6eeb2da5cadd",         "symbol": "pi_btcusd",         "side": "buy",         "order_id": "87755b99-bfb7-4f51-a72b-70f542f793a5",         "size": 184317,         "price": 9292.5,         "fillTime": "2020-02-06T21:55:51.000Z",         "fillType": "assignee"      }      ...   ]}
Ключевыми полями в ответах являются fill_type и fillType (для WebSocket и REST, соответственно), которые принимают значение "assignee". Эту команду следует использовать для программной обработки назначения.
Примечания:
- Настройте свои предпочтения по своему усмотрению в разделе Программа назначения платформы.
- Вы не получите распределение, если оно не соответствует вашей доступной марже для типа контракта.