PnT Fast OMS - Especificação FIX
Introdução
Este manual tem por objetivo apresentar as informações necessárias à integração de sistemas automáticos de colocação de ordens ao Plug and Trade Fast OMS. Os tipos de mensagens FIX recebidos e enviados são detalhados, bem como cada um de seus campos aceitos.
Sobre o Fast OMS
O Fast OMS é um sistema de gerenciamento de ordens desenvolvido pela Plug and Trade para as Sociedades Corretoras e tem como principal característica o rápido roteamento de ordens para as diferentes plataformas de negociação da BM&FBOVESPA. O Fast OMS também permite o roteamento de ordens de algoritmo e ordens manuais para a plataforma de execução da Plug and Trade (Fast Trader). A comunicação entre sistemas automáticos de colocação de ordens e o Fast OMS é baseada no protocolo FIX.
Sobre o Protocolo FIX
Criado em 1992, o Protocolo FIX (Financial Information eXchange) é uma especificação técnica para a comunicação eletrônica de mensagens relacionadas a negociações. Desenvolvido através da colaboração de bancos, corretoras, bolsas, empresas de utilidade pública e associações industriais, investidores institucionais e provedores de tecnologia da informação estabelecidos em várias partes do mundo, o FIX não é um software e sim uma especificação de um protocolo global para comunicação relacionado a negociações.
Para obter mais informações sobre o protocolo FIX acesse:
Sessões FIX
Este capítulo lista as informações necessárias para se estabelecer uma sessão FIX entre um aplicativo cliente e o Fast OMS para o envio de ordens para a BM&FBOVESPA ou para a plataforma de negociação da Plug and Trade (Fast Trader).
Versão
Há diferenças entre as plataformas de negociação da BM&FBOVESPA, o que reflete nos campos aceitos e retornados pelo Fast OMS nas mensagens FIX de acordo com a plataforma de negociação selecionada. A atual versão do Fast OMS aceita as versões FIX 4.2, 4.3 e 4.4 para BM&FBOVESPA.
Para rotear ordens manuais (Broker Intervention) para a plataforma de negociação da Plug and Trade, pode-se escolher entra as versões FIX 4.2, 4.3 e 4.4. Porém para ordens de algoritmo, é necessário utilizar a versão FIX 4.4 exclusivamente.
Tipo de Conexão
O Fast OMS aceita sessões FIX tanto do tipo Initiator quanto do tipo Acceptor. Neste último caso é necessário fornecer o IP e porta de conexão para que o Fast OMS crie uma sessão FIX que irá se conectar ao aplicativo cliente.
SenderCompID
Para cada aplicativo cliente cadastrado no Fast OMS é fornecido um identificador do cliente a ser utilizado para se estabelecer a sessão. Este identificador é o valor usado no campo SenderCompID <49> presente no cabeçalho de todas as mensagens FIX trocadas.
TargetCompID
Também será fornecido um ID identificador do Fast OMS a ser utilizado para se estabelecer a sessão. Este identificador é o valor usado no campo TargetCompID <56> presente no cabeçalho de todas as mensagens FIX trocadas.
OnBehalfOfCompID
Caso haja a necessidade de se identificar mais especificamente um aplicativo cliente no roteamento, pode-se cadastrar um identificador adicional para este cliente. Este ID deve ser passado no campo OnBehalfOfCompID <115> em todas as mensagens de aplicação (ver próximo capítulo). As mensagens de aplicação retornadas pelo Fast OMS terão o campo DeliverToCompID <128> preenchido com este valor.
Este identificador adicional não é obrigatório.
Se o valor enviado no campo OnBehalfOfCompID for diferente do valor registrado para o cliente no Fast OMS, as mensagens FIX a nível de aplicação serão rejeitadas.
SenderSubID
Alternativamente ao campo OnBehalfOfCompID <115>, pode-se enviar o ID identificador adicional no campo SenderSubID <50> em todas as mensagens de aplicação. As mensagens de aplicação retornadas pelo Fast OMS terão o campo TargetSubID <57> preenchido com este valor.
Este identificador adicional não é obrigatório. Não é permitido utilizar ambos os campos OnBehalfOfCompID e SenderSubID simultaneamente.
Se o valor enviado no campo SenderSubID <50> for diferente do valor registrado para o cliente no Fast OMS, as mensagens FIX a nível de aplicação serão rejeitadas.
NoHops
O campo NoHops <627> e seus campos relacionados não são reconhecidos ou retornados pelo OMS na versão atual.
Mensagens FIX Administrativas
As mensagens administrativas são responsáveis por gerenciarem a sessão FIX ao longo do seu ciclo de vida. As seguintes mensagens administrativas são aceitas:
Logon <A>
Logout <5>
HeartBeat <0>
TestRequest <1>
ResendRequest <2>
Reject <3>
SequenceReset <4>
O Fast OMS utiliza estas mensagens da forma prevista no protocolo.
Mensagens FIX de Aplicação
Este capítulo lista os tipos de mensagens trocadas entre o Fast OMS e os aplicativos clientes, relativos ao envio de ordens para a BM&FBOVESPA ou para a plataforma de negociação da Plug and Trade (Fast Trader).
As mensagens de aplicação são responsáveis por trocarem as informações de negociação. Os seguintes tipos de mensagem de aplicação são aceitos:
NewOrderSingle <D>
NewOrderCross <s>
ExecutionReport <8>
OrderCancelRequest <F>
OrderModificationRequest <G>
OrderCancelReject <9>
Atualmente a BM&FBOVESPA possui uma única interface de colocação de ordens via mensagens FIX, o EntryPoint. Este é utilizado em ambos os segmentos Bovespa (ações) e BM&F (derivativos).
Esta interface é naturalmente suportada pelo Fast OMS e suas especificações FIX estão descritas em uma seção nas páginas abaixo. Cada tipo de mensagem e seus campos utilizados estão descritos separadamente. Além deste manual, recomenda-se a leitura dos seguintes documentos técnicos distribuídos pela BM&FBOVESPA:
BM&FBOVESPA EntryPoint | EntryPoint Order Entry Interface – Message Specification EntryPoint Order Entry Interface – Rules EntryPoint Error Codes |
A plataforma de negociação da Plug and Trade (Fast Trader) possui um módulo de Broker Intervention (BI) que recebe e gerencia ordens manuais a serem executadas pelo operador institucional. Para enviar ordens manuais para um operador, consulte a seção de Broker Intervention com as descrições de cada tipo de mensagem.
BM&F e Bovespa via EntryPoint
O Fast OMS permite a colocação de ordens nos segmentos Bovespa (ações) e BM&F (derivativos) via EntryPoint utilizando-se as versões 4.2, 4.3 e 4.4 do protocolo FIX.
A interface EntryPoint utiliza a versão 4.4 do protocolo FIX, recebendo campos e valores de campos específicos desta versão. Deste modo recomendamos que a versão 4.4 seja também utilizada para envio de ordens à BM&FBOVESPA através do Fast OMS, evitando assim maiores adaptações necessárias às versões 4.2 e 4.3.
NewOrderSingle
A mensagem NewOrderSingle <D>, também conhecida simplesmente como Order, é utilizada pelo aplicativo cliente para enviar uma nova ordem ao Fast OMS, o qual repassa a mensagem ao mercado de destino após validar a ordem. Os seguintes campos fazem parte da mensagem:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta registrada na BM&FBOVESPA. Deve incluir o dígito verificador sem hífen. Conta será validada pelo controle de risco e deve estar previamente registrada no Fast OMS. |
11 | ClOrdID | Sim | Identificador da ordem atribuído pelo cliente à ordem. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
15 | Currency | Não | Identifica a moeda estrangeira da ordem. Requerido apenas em ordens enviadas para BEI. Este campo será ignorado pelo Fast OMS. |
21 | HandlInst | Sim | Instrução para tratamento da ordem. 1 – Automated execution order, private, no Broker Intervention (DMA). Ordem vai diretamente para bolsa sem intervenção de operador. |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Valor válido: 8 – Exchange Symbol Utilize Symbol para identificar o instrumento. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 3 – Stop Loss 4 – Stop Limit K – Market With Leftover As Limit W – Retail Liquidity Provider |
44 | Price | Sim | Preço por ação ou contrato. Requerido quando o tipo da ordem for Limit ou Stop Limit. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. Utilize o campo Symbol para identificar o instrumento. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Texto descritivo da ordem. Deve possuir comprimento máximo de 255 caracteres. |
59 | TimeInForce | Não | Especifica a validade da ordem. Valor padrão é Day quando não especificado. Valores válidos: 0 – Day 1 – Good Till Cancel 3 – Immediate Or Cancel 4 – Fill Or Kill 6 – Good Till Date 7 – At The Close A – Good For Auction |
60 | TransactTime | Sim | Data e hora da criação/execução da ordem por parte do cliente. Deve estar no formato UTC. |
77 | PositionEffect | Não | Indica se a posição resultante de um negócio deva ser fechada. Deve ser utilizado apenas com instrumentos de opções de derivativos. Valores válidos: C – Close |
99 | StopPx | Não | Preço de acionamento da ordem. Condicionalmente requerido quando o tipo da ordem for Stop ou Stop Limit. |
110 | MinQty | Não | Quantidade mínima da ordem a ser executada. |
111 | MaxFloor | Não | Número máximo de ações ou contratos da ordem a serem exibidas em um determinado momento. |
207 | SecurityExchange | Não | Segmento para qual a ordem será enviada. XBSP – Bovespa (ações) |
432 | ExpireDate | Não | Data de expiração da ordem. Obrigatório para ordem Good Till Cancel. Ordens expiram no fim do dia de negociação. |
453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Fast OMS irá preencher os grupos de repetição automaticamente de acordo com o cadastro do cliente. |
→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 13 – Order Origination Firm 36 – Entering Trader 54 – Sender Location ID 76 – Desk ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier Fast OMS irá preencher o tipo de conta automaticamente de acordo com o cadastro do cliente. |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
35487 | RoutingInstruction | Não | Instrução adicional para a ordem em relação à funcionalidade de retail liquidity provider da B3. 1 - Retail Liquidity Taker |
35539 | SelfTradePrevention
| Não | Indica qual ordem deve ser cancelada quando self-trade prevention é disparado. Valores válidos: 1 – Cancel Aggressor Order 2 – Cancel Resting Order 3 – Cancel Both Orders Valor default quando não especificado é 1. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
Outros campos e seus valores são ignorados pelo Fast OMS sendo repassados inalterados para o mercado de destino. Consulte o documento EntryPoint Message Specification da Bovespa para maiores informações.
O campo Memo não faz parte da especificação do protocolo FIX e deve ser adicionado à especificação desta mensagem para todas as versões FIX.
NewOrderCross
A mensagem NewOrderCross <s> é utilizada pelo aplicativo cliente para enviar uma nova ordem direta para o Fast OMS, o qual repassa a mensagem ao mercado de destino após validá-la. Na ordem direta, o aplicativo cliente envia, em uma única operação, uma oferta de compra e outra de venda para um mesmo papel e diferentes investidores.
Os seguintes campos fazem parte da mensagem:
Tag | Nome | Obrigatório | Comentários |
548 | CrossID | Sim | Identificador da ordem direta. Deve ser único durante um mesmo dia de pregão. |
549 | CrossType | Sim | Tipo de ordem direta inserida em um mercado. 1 – Cross Trade Executed Completely or Not |
550 | CrossPrioritization | Sim | Indica se uma das pontas da ordem direta deve ser priorizada. Valor válido: 0 – None |
552 | NoSides | Sim | Número de pontas enviadas. Duas pontas opostas devem ser sempre enviadas. |
→54 | Side | Sim | Ponta da oferta. Valores válidos: 1 – Buy 2 – Sell |
→11 | ClOrdID | Sim | Identificador da ordem atribuído pelo cliente à ordem desta ponta. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
→453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Fast OMS irá preencher os grupos de repetição automaticamente de acordo com o cadastro do cliente. |
→→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 13 – Order Origination Firm 36 – Entering Trader 54 – Sender Location ID 76 – Desk ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
→1 | Account | Sim | Número da conta registrada na Bovespa a ser utilizada nesta ponta. Verificada na validação da ordem pelo controle de risco. Deve possuir no máximo oito dígitos, incluíndo o dígito verificador sem hífen. |
→581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier Fast OMS irá preencher o tipo de conta automaticamente de acordo com o cadastro do cliente. |
→38 | OrderQty | Sim | Número de ações requisitadas. |
→77 | PositionEffect | Não | Indica se a posição resultante de um negócio deva ser fechada. Deve ser utilizado apenas com instrumentos de opções de derivativos. Valores válidos: C – Close |
→58 | Text | Não | Texto descritivo da ordem desta ponta. Deve possuir comprimento máximo de 255 caracteres. |
55 | Symbol | Sim | Nome do papel negociado. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. Utilize o campo Symbol para identificar o instrumento. |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Valor válido: 8 – Exchange Symbol Utilize Symbol para identificar o instrumento. |
21 | HandlInst | Sim | Instrução para tratamento da ordem direta. Valor válido: 1 – Automated execution order, private, no Broker Intervention (DMA). Ordem vai diretamente para Bovespa sem intervenção de operador. |
60 | TransactTime | Sim | Tempo da criação/execução da ordem direta por parte do cliente. Deve estar no formato UTC. |
40 | OrdType | Sim | Tipo da Ordem. Valores válidos: 2 – Limit 4 – Stop Limit A – On Close K – Market with Leftover as Limit |
44 | Price | Não | Preço por ação. Condicionalmente requerido quando ordem for do tipo Limit, Stop Limit ou On Close. |
207 | SecurityExchange | Não | Segmento para qual a ordem direta será enviada. XBSP – Bovespa (ações) |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
Outros campos e seus valores são ignorados pelo Fast OMS sendo repassados inalterados para o mercado de destino. Consulte o documento EntryPoint Message Specification para maiores informações.
Esta mensagem, bem como os seus campos CrossID, CrossType, CrossPrioritization e NoSides, não fazem parte da especificação do protocolo FIX 4.2 e devem ser adicionados à especificação desta versão.
ExecutionReport
Mensagens do tipo ExecutionReport <8> são recebidas de volta do mercado de destino e são utilizadas para as seguintes finalidades:
Confirmar o recebimento de uma ordem
Confirmar mudanças para uma ordem
Informar o estado atual de uma ordem
Informar execuções de uma ordem
Rejeitar uma ordem
Cancelar uma execução informada previamente
Os seguintes campos são utilizados na mensagem:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta utilizada pela ordem e gerenciado pelo Fast OMS. |
6 | AvgPx | Sim | Preço médio calculado pelo Fast OMS. 0 se o cálculo de preço médio estiver desativado. Verifique com sua corretora se o cálculo do preço médio está ativado. |
11 | ClOrdID | Sim | Identificador da ordem atribuído pelo cliente. |
14 | CumQty | Sim | Quantidade já executada e acumulada até este momento. |
17 | ExecID | Sim | Identificador único da execução atribuído pela BM&FBOVESPA. Único por instrumento. |
19 | ExecRefID | Não | Enviado em avisos de negócios cancelados. Contém o ExecID original enviado no negócio ora cancelado. |
20 | ExecTransType | Não | Presente apenas na versão FIX 4.2. Identifica o tipo da transação. Valores válidos: 0 – New 1 – Cancel |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Requerido se o campo SecurityID foi enviado. Valor válido: 8 – Exchange Symbol |
31 | LastPx | Não | Preço do negócio. Requerido quando um novo negócio é informado ou cancelado. |
32 | LastQty | Não | Quantidade do negócio. Requerido quando um novo negócio é informado ou cancelado. |
37 | OrderID | Sim | Identificador único da ordem atribuído pelo Fast OMS. Este identificador nunca é alterado ao longo de toda história da ordem. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
39 | OrdStatus | Sim | Informa o status atual da ordem. Valores válidos: 0 – New 1 – Partially Filled 2 – Filled 4 – Canceled 5 – Replaced (apenas FIX 4.2) 6 – Pending Cancel 8 – Rejected 9 – Suspended C – Expired
Fast OMS não irá enviar status de ordem Z (Previous Final State), substituindo seu valor pelo último estado recebido. |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 3 – Stop Loss 4 – Stop Limit K – Market With Leftover As Limit W – Retail Liquidity Provider |
41 | OrigClOrdID | Não | Identificador original da ordem atribuído pelo cliente. Usado para identificar a ordem em pedidos de cancelamento ou modificação. |
44 | Price | Não | Preço por ação ou contrato. Requerido quando especificado para a ordem. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Campo de texto livre. |
59 | TimeInForce | Não | Especifica a validade da ordem. 0 – Day 1 – Good Till Cancel 3 – Immediate Or Cancel 4 – Fill Or Kill 6 – Good Till Date 7 – At The Close A – Good For Auction |
60 | TransactTime | Não | Horário da execução no formato UTC. |
75 | TradeDate | Não | Data do negócio referenciado nesta mensagem no formato AAAAMMDD. A ausência deste campo indica o dia atual. |
99 | StopPx | Não | Preço de acionamento da ordem. Condicionalmente requerido quando o tipo da ordem for Stop ou Stop Limit. |
103 | OrdRejReason | Não | Código identificador do motivo da rejeição da ordem. Condicionalmente requerido quando ExecType=8 (Rejected). Valores válidos vão de 0 a 999999. Consulte o documento de códigos de erro para mais informações. |
110 | MinQty | Não | Quantidade mínima da ordem a ser executada. |
111 | MaxFloor | Não | Número máximo de ações ou contratos da ordem a serem exibidas em um determinado momento. |
150 | ExecType | Sim | Define o tipo de execução. Valores válidos: 0 – New 1 – Partial Fill (apenas FIX 4.2) 2 – Fill (apenas FIX 4.2) 4 – Cancel 5 – Replace 8 – Reject 9 – Suspend C – Expired D – Restated F – Trade (FIX 4.3 e 4.4) H – Trade Cancel (FIX 4.3 e 4.4) |
151 | LeavesQty | Sim | Quantidade ainda em aberto para execução. |
198 | SecondaryOrderID | Não | Identificador da ordem gerado pela bolsa. Modificado a cada evento de modificação ou quantidade preenchida de ordens abertas (disclosed). |
207 | SecurityExchange | Não | Segmento para qual a ordem será enviada. |
378 | ExecRestatementReason
| Não | Indica a razão da retificação (restatement) se disponível. Valores válidos: 8 – Market Option 100 – Cancel On Hard Disconnection 101 – Cancel On Logout 102 – Cancel On Disconnect And Logout 103 – Cancel Aggressor due to Self-Match Prevention 105 – Cancel from Firmsoft 107 – Cancel Resting due to Self-Match Prevention 200 – Market Maker Protection 201 – Risk Management Cancellation 203 – Cancel order due to Operational Error 204 – Order cancelled due to Operational Error 205 – Cancel from Firmsoft due to Operational Error 206 – Order cancelled via Firmsoft due to Operational Error |
382 | NoContraBrokers
| Não | Número de corretoras opostas. Atualmente sempre igual a 1. Condicionalmente requerido quando um negócio é informado. |
→375 | ContraBroker | Não | Identifica a corretora oposta. |
432 | ExpireDate | Não | Data de expiração da ordem. Obrigatório para ordem Good Till Cancel. Ordens expiram no fim do dia de negociação. |
453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Retorna os grupos de repetição preenchidos automaticamente pelo Fast OMS de acordo com o cadastro do cliente. |
→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 13 – Order Origination Firm 36 – Entering Trader 54 – Sender Location ID 76 – Desk ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
527 | SecondaryExecID
| Não | Identificador único presente em todas as mensagens associadas a uma transação de spread. |
548 | CrossID | Não | Identificador da ordem direta. Condicionalmente requerido em resposta a uma ordem direta. |
581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier O seu valor foi previamente enviado pelo Fast OMS para a bolsa de acordo com o cadastro do cliente. |
636 | WorkingIndicator | Não | Indica se a ordem foi acionada e está disponível para negociação. Usado com ordens Stop e Stop Limit e validade At The Close. |
1057 | AggressorIndicator
| Não | Identifica se a ordem é o lado agressor ou não no negócio. Valores válidos: Y - Order Initiator Is Aggressor N - Order Initiator Is Passive |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
6032 | UniqueTradeId | Não | Contém o identificador único do negócio atribuído pela Bolsa por instrumento e data. Condicionalmente requerido quando um negócio é informado. |
35001 | ProtectionPrice | Não | Condicionalmente requerido para ordens do tipo Market e Stop com proteção. Preço limite de proteção final no qual qualquer quantidade não executada irá permanecer no book. |
35487 | RoutingInstruction | Não | Instrução adicional para a ordem em relação à funcionalidade de retail liquidity provider da B3. 1 - Retail Liquidity Taker |
35539 | SelfTradePrevention
| Não | Indica qual ordem deve ser cancelada quando self-trade prevention é disparado. Valores válidos: 1 – Cancel Aggressor Order 2 – Cancel Resting Order 3 – Cancel Both Orders Valor default quando não especificado é 1. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
Consulte o documento EntryPoint Message Specification da Bovespa para maiores informações.
Os campos ExecType e OrdStatus possuem um conjunto de valores válidos que varia de acordo com a versão FIX utilizada, assim como a utilização do campo ExecTransType.
Os campos AggressorIndicator, UniqueTradeID, Memo e ProtectionPrice não fazem parte da especificação do protocolo FIX e devem ser adicionados à especificação desta mensagem para todas as versões FIX.
Ao utilizar FIX 4.2 os grupos de repetições de PartyIDs não são retornados. Os campos WorkingIndicator e CrossID devem ser adicionados à especificação desta mensagem.
OrderCancelRequest
A mensagem OrderCancelRequest <F> é utilizada para pedir o cancelamento de uma ordem previamente enviada e aprovada. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente à ordem cancelada. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Valor válido: 8 – Exchange Symbol Utilize Symbol para identificar o instrumento. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para um roteamento mais rápido do pedido de cancelamento. |
38 | OrderQty | Não | Quantidade de ações ou contratos requisitada. Não requerido. |
41 | OrigClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser cancelada. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. Utilize o campo Symbol para identificar o instrumento. |
54 | Side | Sim | Lado da ordem a ser cancelada. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem a ser cancelada. |
58 | Text | Não | Campo de Texto. Deve possuir comprimento máximo de 255 caracteres. |
60 | TransactTime | Sim | Tempo UTC do pedido de cancelamento da ordem. |
198 | SecondaryOrderID | Não | Identificador da ordem gerado pela bolsa. Modificado a cada evento de modificação ou quantidade preenchida de ordens abertas (disclosed). |
207 | SecurityExchange | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
378 | ExecRestatementReason
| Não | Indica a razão do cancelamento se disponível. Valores válidos: 203 – Cancel order due to Operational Error |
453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Fast OMS irá preencher os grupos de repetição automaticamente de acordo com o cadastro do cliente. |
→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 36 – Entering Trader 40 – Transfer to Firm 46 – Foreign Firm 54 – Sender Location ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier Fast OMS irá preencher o tipo de conta automaticamente de acordo com o cadastro do cliente. |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
Outros campos e seus valores são ignorados pelo Fast OMS sendo repassados inalterados para o mercado de destino. Consulte o documento EntryPoint Message Specification da Bovespa para maiores informações.
OrderModificationRequest
A mensagem OrderModificationRequest <G> é utilizada para pedir a modificação de uma ordem previamente enviada e aprovada. Esta mensagem também é conhecida como OrderCancelReplaceRequest. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem. Valor não pode ser modificado. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente à ordem modificada. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
21 | HandlInst | Sim | Instrução para tratamento da ordem. Valor não pode ser modificado. |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Valor válido: 8 – Exchange Symbol Utilize Symbol para identificar o instrumento. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para um roteamento mais rápido do pedido de modificação. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 3 – Stop Loss 4 – Stop Limit K – Market With Leftover As Limit W – Retail Liquidity Provider |
41 | OrigClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser cancelada. |
44 | Price | Sim | Preço por ação ou contrato. Requerido quando o tipo da ordem for Limit ou Stop Limit. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. Utilize o campo Symbol para identificar o instrumento. |
54 | Side | Sim | Lado da ordem. Valor não pode ser modificado. |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem. Valor não pode ser modificado. |
58 | Text | Não | Campo de Texto. Deve possuir comprimento máximo de 255 caracteres. |
59 | TimeInForce | Não | Especifica a validade da ordem. Valor padrão é Day quando não especificado. Valores válidos: 0 – Day 1 – Good Till Cancel 3 – Immediate Or Cancel 4 – Fill Or Kill 6 – Good Till Date 7 – At The Close A – Good For Auction |
60 | TransactTime | Sim | Tempo UTC do pedido de modificação da ordem. |
77 | PositionEffect | Não | Indica se a posição resultante de um negócio deva ser fechada. Deve ser utilizado apenas com instrumentos de opções de derivativos. Valores válidos: C – Close |
99 | StopPx | Não | Preço de acionamento da ordem. Condicionalmente requerido quando o tipo da ordem for Stop ou Stop Limit. |
110 | MinQty | Não | Quantidade mínima da ordem a ser executada. |
111 | MaxFloor | Não | Número máximo das partes dentro de uma ordem a serem exibidas em uma determinada hora. |
198 | SecondaryOrderID | Não | Identificador da ordem gerado pela bolsa. Modificado a cada evento de modificação ou quantidade preenchida de ordens abertas (disclosed). |
207 | SecurityExchange | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
432 | ExpireDate | Não | Data de expiração da ordem. Obrigatório para ordem Good Till Cancel. Ordens expiram no fim do dia de negociação. |
453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Fast OMS irá preencher os grupos de repetição automaticamente de acordo com o cadastro do cliente. |
→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 36 – Entering Trader 40 – Transfer to Firm 46 – Foreign Firm 54 – Sender Location ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier Fast OMS irá preencher o tipo de conta automaticamente de acordo com o cadastro do cliente. |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
35487 | RoutingInstruction | Não | Instrução adicional para a ordem em relação à funcionalidade de retail liquidity provider da B3. 1 - Retail Liquidity Taker |
35539 | SelfTradePrevention
| Não | Indica qual ordem deve ser cancelada quando self-trade prevention é disparado. Valores válidos: 1 – Cancel Aggressor Order 2 – Cancel Resting Order 3 – Cancel Both Orders Valor default quando não especificado é 1. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
Outros campos e seus valores são ignorados pelo Fast OMS sendo repassados inalterados para o mercado de destino. Consulte o documento EntryPoint Message Specification da Bovespa para maiores informações.
OrderCancelReject
Mensagens de OrderCancelReject <9> são recebidas de volta do mercado de destino e são utilizadas para indicar que pedidos de cancelamento ou modificação foram rejeitados. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta utilizada pela ordem. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente. |
22 | SecurityIDSource | Não | Classe ou fonte de identificação do instrumento. Requerido se o campo SecurityID foi enviado. Valor válido: 8 – Exchange Symbol |
37 | OrderID | Sim | Identificador único da ordem atribuído pelo Fast OMS. Este identificador nunca é alterado ao longo de toda história da ordem. |
39 | OrdStatus | Sim | Informa o status atual da ordem. Valores válidos: 0 – New 1 – Partially Filled 2 – Filled 4 – Canceled 5 – Replaced (apenas FIX 4.2) 6 – Pending Cancel 8 – Rejected 9 – Suspended C – Expired
Fast OMS não irá enviar status de ordem Z (Previous Final State), substituindo seu valor pelo último estado recebido. |
41 | OrigClOrdID | Não | Identificador original atribuído pelo cliente à ordem que não pôde ser cancelada/modificada. |
48 | SecurityID | Não | Identificador do instrumento conforme definido pela BM&FBOVESPA. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Campo de texto. Informa mais detalhes sobre esta rejeição. |
102 | CxlRejReason | Não | Código identificador do motivo da rejeição do pedido. Valores válidos vão de 0 a 999999. Consulte o documento de códigos de erro para mais informações. |
207 | SecurityExchange | Não | Segmento para qual a ordem será enviada. |
434 | CxlRejResponseTo | Sim | Identifica o tipo de pedido ao qual este cancelamento se refere. Valores válidos: 1 – OrderCancelRequest 2 – OrderModificationRequest |
453 | NoPartyID | Sim | Número de grupos de repetição para especificação de partes. Retorna os grupos de repetição preenchidos automaticamente pelo Fast OMS de acordo com o cadastro do cliente. |
→448 | PartyID | Sim | Identifica a fonte de PartyID. |
→447 | PartyIDSource | Sim | Identifica a classe ou a fonte do valor de PartyID. Valor válido: D – Proprietary/Custom code |
→452 | PartyRole | Sim | Função do PartyID especificado. Valores válidos: 4 – Clearing Firm 5 – Investor ID 7 – Entering Firm 12 – Executing Trader 36 – Entering Trader 40 – Transfer to Firm 46 – Foreign Firm 54 – Sender Location ID 99 – Originating Market 1001 – Order Originating Session 1003 – Custody Account 1004 – Custody Allocation Type 1005 – Strategy ID |
581 | AccountType | Não | Tipo de conta associada à ordem. 38 – Remove Account Information 39 – Regular Account 40 – Give Up Link Identifier O seu valor foi previamente enviado pelo Fast OMS para a bolsa de acordo com o cadastro do cliente. |
5149 | Memo | Não | Sequência de texto em formato livre. Enviada pelo participante do mercado e limitada a 50 bytes. |
| Campo adicionado em relação à especificação do EntryPoint |
---|---|
| Campo modificado em relação à especificação do EntryPoint |
| Campo removido em relação à especificação do EntryPoint |
O Fast OMS não faz nenhuma alteração nos campos contidos em uma mensagem deste tipo antes de repassá-la para o aplicativo cliente da ordem. Consulte o documento EntryPoint Message Specification da Bovespa para maiores informações.
OrderStatusRequest
A mensagem OrderStatusRequest <H> é utilizada para requisitar o envio de uma mensagem de ExecutionReport <8> contento o status atual da ordem referenciada. Os seguintes campos são válidos:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem a ser reportada. |
11 | ClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser reportada. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para uma resposta mais rápida do pedido de status. |
54 | Side | Sim | Lado da ordem a ser reportada. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem a ser reportada. |
790 | OrdStatusReqID | Não | Pode ser usado para identificar o pedido. É enviado de volta na mensagem de resposta. |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
OrderMassStatusRequest
A mensagem OrderMassStatusRequest <AF> é utilizada para requisitar o envio de uma mensagem de ExecutionReport <8> contento o status atual para cada ordem selecionada pelos critérios enviados. Cada critério de seleção só se aplica quando declarado na mensagem. Apenas ordens colocadas durante o dia ou que ainda estejam com sua execução em aberto são reportadas. Os seguintes campos são válidos:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pelas ordens a serem reportadas. |
54 | Side | Não | Lado das ordens a serem reportadas. 1 – Buy 2 – Sell |
55 | Symbol | Não | Símbolo do instrumento negociado pelas ordens a serem reportadas. |
207 | SecurityExchange | Não | Segmento das ordens a serem reportadas. XBSP – Bovespa (ações) |
584 | MassStatusReqID | Sim | Usado para identificar o pedido. É enviado de volta nas mensagens de resposta. |
585 | MassStatusReqType | Sim | Tipo do pedido. Valor válido: 7 – Status for all orders |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
Broker Intervention
O Fast OMS permite que ordens manuais sejam enviadas para o módulo de Broker Intervention (BI) da plataforma de negociação da Plug and Trade (Fast Trader). Estas ordens manuais serão gerenciadas e executadas pelo operador institucional. Para enviar ordens manuais para o módulo de BI, utilize as versões 4.2, 4.3 e 4.4 do protocolo FIX.
NewOrderSingle
A mensagem NewOrderSingle <D>, também conhecida como simplesmente Order, é utilizada pelo aplicativo cliente para enviar uma nova ordem ao Fast OMS, o qual repassa a mensagem ao módulo de BI após validar a ordem. Os seguintes campos fazem parte da mensagem:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta registrada na BM&FBOVESPA. Deve incluir o dígito verificador sem hífen. Conta deve estar previamente registrada no Fast OMS. |
11 | ClOrdID | Sim | Identificador da ordem atribuído pelo cliente à ordem. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
18 | ExecInst | Não | Múltiplas instruções para execução da ordem. Todos os valores especificados são aceitos. |
21 | HandlInst | Sim | Instrução para tratamento da ordem. 3 – Manual Order (BI). Ordem é executada manualmente por um operador. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 5 – Market On Close A – On Close B – Limit On Close |
44 | Price | Sim | Preço por ação ou contrato. Requerido quando o tipo da ordem for Limit ou Limit On Close. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell 3 – Buy Minus 4 – Sell Plus 5 – Sell Short 6 – Sell Short Exempt |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Texto descritivo da ordem. Deve possuir comprimento máximo de 255 caracteres. |
59 | TimeInForce | Não | Especifica a validade da ordem. Valor padrão é Day quando não especificado. Valores válidos: 0 – Day 3 – Immediate or Cancel (IOC) 4 – Fill or Kill (FOK) |
60 | TransactTime | Sim | Data e hora da criação/execução da ordem por parte do cliente. Deve estar no formato UTC. |
100 | ExDestination | Não | Segmento para qual a ordem será enviada. XBSP – Bovespa (ações) Obrigatório quando conta selecionada é utilizada em ambos os segmentos. Alternativamente utilize o campo SecurityExchange. |
207 | SecurityExchange | Não | Segmento para qual a ordem será enviada. XBSP – Bovespa (ações) Alternativamente utilize o campo ExDestination. |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
ExecutionReport
Mensagens do tipo ExecutionReport <8> são recebidas de volta do módulo de BI e são utilizadas para as seguintes finalidades:
Confirmar o recebimento de uma ordem
Confirmar mudanças para uma ordem
Informar o estado atual de uma ordem
Informar execuções de uma ordem
Rejeitar uma ordem
Cancelar uma execução informada previamente
Os seguintes campos são utilizados na mensagem:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta utilizada pela ordem. |
6 | AvgPx | Sim | Preço médio de execução da ordem. |
11 | ClOrdID | Sim | Identificador da ordem atribuído pelo cliente. |
14 | CumQty | Sim | Quantidade já executada e acumulada até este momento. |
17 | ExecID | Sim | Identificador único desta execução. |
18 | ExecInst | Não | Múltiplas instruções para execução da ordem. Todos os valores especificados são aceitos. |
19 | ExecRefID | Não | Enviado em avisos de negócios cancelados. Contém o ExecID original enviado no negócio ora cancelado. |
20 | ExecTransType | Não | Presente apenas na versão FIX 4.2. Identifica o tipo da transação. Valores válidos: 0 – New 1 – Cancel |
31 | LastPx | Não | Preço do negócio. Requerido quando um novo negócio é informado ou cancelado. |
32 | LastQty | Não | Quantidade do negócio. Requerido quando um novo negócio é informado ou cancelado. |
37 | OrderID | Sim | Identificador único da ordem atribuído pelo Fast OMS. Este identificador nunca é alterado ao longo de toda história da ordem. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
39 | OrdStatus | Sim | Informa o status atual da ordem. Valores válidos: 0 – New 1 – Partially Filled 2 – Filled 3 – Done For Day 4 – Canceled 5 – Replaced (apenas FIX 4.2) 6 – Pending Cancel 8 – Rejected A – Pending New E – Pending Replace |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 5 – Market On Close A – On Close B – Limit On Close |
41 | OrigClOrdID | Não | Identificador original da ordem atribuído pelo cliente. Usado para identificar a ordem em pedidos de cancelamento ou modificação. |
44 | Price | Não | Preço por ação ou contrato. Requerido quando especificado para a ordem. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell 3 – Buy Minus 4 – Sell Plus 5 – Sell Short 6 – Sell Short Exempt |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Campo de texto livre. |
59 | TimeInForce | Não | Especifica a validade da ordem. 0 – Day 3 – Immediate or Cancel (IOC) 4 – Fill or Kill (FOK) |
60 | TransactTime | Não | Horário da execução no formato UTC. |
103 | OrdRejReason | Não | Código identificador do motivo da rejeição da ordem. Condicionalmente requerido quando ExecType=8 (Rejected). Valores válidos: 0 – Broker Option 1 – Unknown symbol 2 – Exchange Closed 3 – Order Exceeds Limit 4 – Too Late to Enter 5 – Unknown Order 6 – Duplicate Order 7 – Duplicate of a Verbally Communicated Order 8 – Stale Order |
150 | ExecType | Sim | Define o tipo de execução. Valores válidos: 0 – New 1 – Partial Fill (apenas FIX 4.2) 2 – Fill (apenas FIX 4.2) 4 – Cancel 5 – Replace 8 – Reject 9 – Suspend C – Expired D – Restated F – Trade (FIX 4.3 e 4.4) H – Trade Cancel (FIX 4.3 e 4.4) |
151 | LeavesQty | Sim | Quantidade ainda em aberto para execução. |
Os campos ExecType e OrdStatus possuem um conjunto de valores válidos que varia de acordo com a versão FIX utilizada, assim como a utilização do campo ExecTransType.
OrderCancelRequest
A mensagem OrderCancelRequest <F> é utilizada para pedir o cancelamento de uma ordem previamente enviada e aprovada. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente à ordem cancelada. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para um roteamento mais rápido do pedido de cancelamento. |
38 | OrderQty | Não | Quantidade de ações ou contratos requisitada. Não requerido. |
41 | OrigClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser cancelada. |
54 | Side | Sim | Lado da ordem a ser cancelada. Valores válidos: 1 – Buy 2 – Sell 3 – Buy Minus 4 – Sell Plus 5 – Sell Short 6 – Sell Short Exempt |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem a ser cancelada. |
58 | Text | Não | Campo de Texto. Deve possuir comprimento máximo de 255 caracteres. |
60 | TransactTime | Sim | Tempo UTC do pedido de cancelamento da ordem. |
100 | ExDestination | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
207 | SecurityExchange | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
OrderModificationRequest
A mensagem OrderModificationRequest <G> é utilizada para pedir a modificação de uma ordem previamente enviada e aprovada. Esta mensagem também é conhecida como OrderCancelReplaceRequest. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem. Valor não pode ser modificado. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente à ordem modificada. Deve ser único em um mesmo dia ou durante o período máximo de vida das ordens enviadas. Campo deve ter comprimento máximo de 48 caracteres. |
18 | ExecInst | Não | Múltiplas instruções para execução da ordem. Todos os valores especificados são aceitos. |
21 | HandlInst | Sim | Instrução para tratamento da ordem. Valor não pode ser modificado. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para um roteamento mais rápido do pedido de modificação. |
38 | OrderQty | Sim | Quantidade de ações ou contratos requisitada. |
40 | OrdType | Sim | Tipo da ordem. Valores válidos: 1 – Market 2 – Limit 5 – Market On Close A – On Close B – Limit On Close |
41 | OrigClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser cancelada. |
44 | Price | Sim | Preço por ação ou contrato. Requerido quando o tipo da ordem for Limit ou Limit On Close. |
54 | Side | Sim | Lado da ordem. Valor não pode ser modificado. |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem. Valor não pode ser modificado. |
58 | Text | Não | Campo de Texto. Deve possuir comprimento máximo de 255 caracteres. |
59 | TimeInForce | Não | Especifica a validade da ordem. Valor padrão é Day quando não especificado. Valores válidos: 0 – Day 3 – Immediate or Cancel (IOC) 4 – Fill or Kill (FOK) |
60 | TransactTime | Sim | Tempo UTC do pedido de modificação da ordem. |
100 | ExDestination | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
207 | SecurityExchange | Não | Segmento para qual a ordem foi enviada. XBSP – Bovespa (ações) Não é necessário reconfirmar o segmento. |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
OrderCancelReject
Mensagens de OrderCancelReject <9> são recebidas de volta do mercado de destino e são utilizadas para indicar que pedidos de cancelamento ou modificação foram rejeitados. Os seguintes campos são validados:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Sim | Número da conta utilizada pela ordem. |
11 | ClOrdID | Sim | Novo identificador da ordem atribuído pelo cliente. |
37 | OrderID | Sim | Identificador único da ordem atribuído pelo Fast OMS. Este identificador nunca é alterado ao longo de toda história da ordem. |
39 | OrdStatus | Sim | Informa o status atual da ordem. Valores válidos: 0 – New 1 – Partially Filled 2 – Filled 3 – Done For Day 4 – Canceled 5 – Replaced (apenas FIX 4.2) 6 – Pending Cancel 8 – Rejected A – Pending New E – Pending Replace |
41 | OrigClOrdID | Não | Identificador original atribuído pelo cliente à ordem que não pôde ser cancelada/modificada. |
54 | Side | Sim | Lado da oferta. Valores válidos: 1 – Buy 2 – Sell 3 – Buy Minus 4 – Sell Plus 5 – Sell Short 6 – Sell Short Exempt |
55 | Symbol | Sim | Símbolo do instrumento negociado. |
58 | Text | Não | Campo de texto. Informa mais detalhes sobre esta rejeição. |
102 | CxlRejReason | Não | Código identificador do motivo da rejeição do pedido. Valores válidos: 0 – Too Late to Cancel 1 – Unknown Order 2 – Broker Option 3 – Order Already in Pending Status |
434 | CxlRejResponseTo | Sim | Identifica o tipo de pedido ao qual este cancelamento se refere. Valores válidos: 1 – OrderCancelRequest 2 – OrderModificationRequest |
OrderStatusRequest
A mensagem OrderStatusRequest <H> é utilizada para requisitar o envio de uma mensagem de ExecutionReport <8> contento o status atual da ordem referenciada. Os seguintes campos são válidos:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pela ordem a ser reportada. |
11 | ClOrdID | Sim | Identificador original atribuído pelo cliente à ordem a ser reportada. |
37 | OrderID | Não | Identificador único da ordem atribuído pelo Fast OMS. Utilize este campo para uma resposta mais rápida do pedido de status. |
54 | Side | Sim | Lado da ordem a ser reportada. Valores válidos: 1 – Buy 2 – Sell |
55 | Symbol | Sim | Símbolo do instrumento negociado pela ordem a ser reportada. |
790 | OrdStatusReqID | Não | Pode ser usado para identificar o pedido. É enviado de volta na mensagem de resposta. |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
OrderMassStatusRequest
A mensagem OrderMassStatusRequest <AF> é utilizada para requisitar o envio de uma mensagem de ExecutionReport <8> contento o status atual para cada ordem selecionada pelos critérios enviados. Cada critério de seleção só se aplica quando declarado na mensagem. Apenas ordens colocadas durante o dia ou que ainda estejam com sua execução em aberto são reportadas. Os seguintes campos são válidos:
Tag | Nome | Obrigatório | Comentários |
1 | Account | Não | Número da conta utilizada pelas ordens a serem reportadas. |
54 | Side | Não | Lado das ordens a serem reportadas. 1 – Buy 2 – Sell |
55 | Symbol | Não | Símbolo do instrumento negociado pelas ordens a serem reportadas. |
207 | SecurityExchange | Não | Segmento das ordens a serem reportadas. XBSP – Bovespa (ações) |
584 | MassStatusReqID | Sim | Usado para identificar o pedido. É enviado de volta nas mensagens de resposta. |
585 | MassStatusReqType | Sim | Tipo do pedido. Valor válido: 7 – Status for all orders |
Outros campos e seus valores da especificação padrão são ignorados pelo Fast OMS.
Sumário
- 1 Introdução
- 2 Sessões FIX
- 2.1 Versão
- 2.2 Tipo de Conexão
- 2.3 SenderCompID
- 2.4 TargetCompID
- 2.5 OnBehalfOfCompID
- 2.6 SenderSubID
- 2.7 NoHops
- 3 Mensagens FIX Administrativas
- 4 Mensagens FIX de Aplicação
- 4.1 BM&F e Bovespa via EntryPoint
- 4.1.1 NewOrderSingle
- 4.1.2 NewOrderCross
- 4.1.3 ExecutionReport
- 4.1.4 OrderCancelRequest
- 4.1.5 OrderModificationRequest
- 4.1.6 OrderCancelReject
- 4.1.7 OrderStatusRequest
- 4.1.8 OrderMassStatusRequest
- 4.2 Broker Intervention
- 4.2.1 NewOrderSingle
- 4.2.2 ExecutionReport
- 4.2.3 OrderCancelRequest
- 4.2.4 OrderModificationRequest
- 4.2.5 OrderCancelReject
- 4.2.6 OrderStatusRequest
- 4.2.7 OrderMassStatusRequest
- 4.1 BM&F e Bovespa via EntryPoint
- 5 Sumário
- 6 Revisões
Revisões
Data | Autor | Alterações |
10/02/2010 | Gabriel Malizia | Formatação padrão para todos os documentos. Especificação FIX para MegaDirect. Adicionada seção com erros conhecidos. |
10/02/2010 | Gabriel Malizia | Adicionado campo SecurityExchange para Bovespa. |
25/05/2010 | Gabriel Malizia | FIX 4.2 e 4.3 para BM&F. |
04/06/2010 | Gabriel Malizia | MegaDirect atualizado: campos UniqueTradeID e Memo. |
02/07/2010 | Gabriel Malizia | MegaDirect atualizado: campo ExecRefID. |
17/11/2010 | Gabriel Malizia | Atualizada capa do manual. |
20/09/2011 | Gabriel Malizia | Adicionada mensagem NewOrderCross para MegaDirect. |
05/04/2012 | Gabriel Malizia | Especificação FIX para EntryPoint. Removida especificação FIX para Multigateway. |
30/01/2012 | Gabriel Malizia | Especificação FIX para BI. |
01/12/2015 | Gabriel Malizia | Removidas seções das Interfaces MegaDirect e Bell. |
02/02/2017 | Gabriel Malizia | Campo SecurityExchange não é mais obrigatório para diferenciar contas Bovespa e BM&F. |
14/06/2017 | Gabriel Malizia | Adicionadas mensagens OrderStatusRequest e OrderMassStatusRequest. |
26/04/2021 | Gabriel Malizia | Adicionado novo tipo de ordem W (RLP). |
06/05/2021 | Gabriel Malizia | Adicionado campo ExecRestatementReason à mensagem OrderCancelRequest. |
Plug and Trade Sistemas