Exemplo de atribuição

Última atualização: 7 de outubro de 2026

O programa de atribuição é um modelo alternativo concebido para facilitar a oferta de liquidez em períodos de elevada volatilidade. Funciona como uma etapa do Equity Protection Process, em que uma liquidação não executada é atribuída a fornecedores de liquidez voluntários a um preço indeterminado fora do livro de ordens. O objetivo é reduzir a fricção no processo de liquidação e evitar uma má experiência ao cliente, que resultaria de simplesmente eliminar as posições em aberto de negociantes com lucros para compensar negociantes com garantias insuficientes.

Apresenta-se a seguir um exemplo em que um fornecedor de liquidez voluntário executa uma liquidação não executada através do programa de atribuição. Para mais detalhes sobre a lógica de atribuição em si, consulte
Position Assignment System.

Suponhamos que existe um cliente cujas posições atuais são:

- LONG 1 760 000 Contratos em PI_BTCUSD

- LONG 300 000 Contratos em FI_BTCUSD_200228

Ambas as posições utilizam a conta de margem principal FI_BTCUSD, que avalia o risco em tempo real, comparando o valor da garantia com o valor da posição, para determinar se deve proceder à liquidação.

Quando a conta de margem do tipo de contrato fica abaixo da margem de manutenção, ocorre a liquidação e o sistema vende essas posições no livro de ordens ao preço imputado de capital zero para cada contrato.

Neste caso, a liquidação do cliente decorre da seguinte forma:

Posição

Tamanho

Montante liquidado

Montante atribuído

PI_BTCUSD

1 760 000

1 007 379

752 621

FI_BTCUSD_200228

300 000

300 000

0


Isto significa que a totalidade da posição FI_BTCUSD_200228, de 300 000 Contratos, foi vendida com sucesso no livro de ordens a novas contrapartes com ordens de compra existentes.

No entanto, da posição PI_BTCUSD de 1 760 000 Contratos, apenas 1 007 379 foram liquidados com sucesso no livro de ordens, sendo que os restantes 752 621 não encontraram nova contraparte.

Em consequência, este remanescente de liquidação não executada é tratado no PAS, encaminhando a posição longa para os fornecedores de liquidez que participam no programa, com base nas respetivas preferências individuais.

Segue-se uma notificação de exemplo para uma Atribuição de 184 317 Contratos alocados a «[email protected]». O cliente recebe o seguinte e-mail (este formato pode mudar, pelo que não deve depender desta formatação):

Selection_999_912_.png

O fornecedor de liquidez recebe imediatamente a notificação através do feed WebSocket a alertá-lo para a atribuição. A mensagem tem o seguinte formato:

{
"feed": "fills",
"username": "[email protected]",
"fills": [
{
"instrument": "PI_XBTUSD",
"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
}
]
}

Adicionalmente, o cliente pode consultar o endpoint da API REST para ver as execuções:

{
"result": "success",
"fills": [
{
"fill_id": "89f0f4f9-66b5-45eb-ba3f-6eeb2da5cadd",
"symbol": "pi_xbtusd",
"side": "buy",
"order_id": "87755b99-bfb7-4f51-a72b-70f542f793a5",
"size": 184317,
"price": 9292.5,
"fillTime": "2020-02-06T21:55:51.000Z",
"fillType": "assignee"
}
...
]
}

Os campos-chave nas respostas são fill_type e fillType (para WebSocket e REST, respetivamente), ambos com o valor "assignee". Esta é a indicação a utilizar para processar a atribuição de forma programática.

Observação:

- Defina as suas preferências conforme entender na secção Assignment Program da plataforma.

- Não receberá uma atribuição que a sua margem disponível para o tipo de contrato não consiga suportar.

Os separadores decimais e de milhar mostrados neste artigo podem diferir dos formatos exibidos em nossas plataformas de negociação. Consulte o nosso artigo sobre como utilizamos pontos e vírgulas para obter mais informações.