puma | arquitetura de entrada de...
TRANSCRIPT
P U B L I C I N F O R M A T I O N 1
PUMA | ARQUITETURA DE ENTRADA DE ORDENS
P U B L I C I N F O R M A T I O N 2
AGENDA
• Arquitetura Atual
• Projeto Novo Gateway de Entrada de Ordens
• Market Segment Gateway (MSGW)
• MSGW + LINE Trading – Potencial Problema de Latência
• Modelos x Funcionalidades
PUMA | ARQUITETURA DE ENTRADA DE ORDENS
P U B L I C I N F O R M A T I O N 3
Arquitetura Atual
P U B L I C I N F O R M A T I O N 4
ARQUITETURA ATUAL
• Tecnologia Antiga (+ de 10 anos)
• Cálculos de risco realizados fora do gateway na central de risco;
• RTT alto (~1.4 milissegundo);
• Alto desvio padrão;
• Windows como sistema operacional dos servidores dos gateway (precisão de
milissegundos no timestamp); e
• Gateway e Centrais de Risco podem embaralhar sequencia de entrada das ordens.
GATEWAYS DE ENTRADA DE ORDENS X LINE TRADING
P U B L I C I N F O R M A T I O N 5
TYPE OF ACCESS
GATEWAYS DE ENTRADA DE ORDENS X LINE TRADING
232 GWs de Conveniência
NÚCLEO 1 NÚCLEO 2 NÚCLEO 3 NÚCLEO 12NÚCLEO 4
CENTRAL
DE RISCO
1
CENTRAL
DE RISCO
2
CENTRAL
DE RISCO
3
X
1
4 5
6
Validação de Risco Inline
2
3 7
P U B L I C I N F O R M A T I O N 6
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
P U B L I C I N F O R M A T I O N 7
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
• FIFO no nível do gateway;
• Redução de RTT e desvio padrão;
• Timestamps em nanossegundos para os componentes da plataforma (Núcleo, Central de
Risco e Gateway);
• Cancelamento Persistente / CoD;
• Sessão Supervisora para clientes;
• Rejeições de borda nas sessões Drop Copy;
DEMANDA DE CLIENTES
P U B L I C I N F O R M A T I O N 8
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
• Atualização do componente mais antigo da plataforma PUMA;
• Aumento da capacidade da plataforma;
• Redução da infra necessária para manutenção dos gateways / redução do número de
sessões do ambiente;
• Uso de protocolo mais eficiente; e
• Possibilidade de tornar a entrada de ordem mais rápida do que o Market Data (Market Data
não é escopo do projeto).
MELHORIAS ESPERADAS
P U B L I C I N F O R M A T I O N 9
MARKET SEGMENT GATEWAY
P U B L I C I N F O R M A T I O N 10
MARKET SEGMENT GATEWAY
PONTO ÚNICO DE ENTRADA PARA CADA NÚCLEO DE NEGOCIAÇÃO
NÚCLEO 1 NÚCLEO 2 NÚCLEO 3 NÚCLEO 12NÚCLEO 4
LINETrading
LINETrading
LINETrading
X
MSGW 1 MSGW 2 MSGW 3 MSGW 4
232 GWs de Conveniência
X
1
2
6
3
7
MSGW 12
Validação de Risco Inline
4 5
P U B L I C I N F O R M A T I O N 11
MSGW + LINE TRADING – Potencial Problema de Latência
P U B L I C I N F O R M A T I O N 12
MSGW + LINE TRADING – POTENCIAL PROBLEMA DE LATÊNCIA
RESSEQUENCIAMENTO DE MENSAGENS
CENTRAL DE RISCO 1
CENTRAL DE RISCO 2
CENTRAL DE RISCO 3
MSGW 1
MSGW 2
MSGW 3
123
456
789
142 357 689
Premissas da Simulação:
• RTT da Central de Risco = 300 micros
• 3 passos de processamento com 100 micros cada
#1 #2 #3
MSGW 11 3 2
001 / 301 003 / 303 002 / 502
MSGW 26 4 5
004 / 304 002 / 402 003 / 403
MSGW 38 7 9
004 / 404 003 / 503 005 / 505
Sequência de mensagem enviada ao núcleo
MSGW 11 2 3
301 / 301 502 / 502 303 / 502
MSGW 24 5 6
402 / 402 403 / 403 304 / 403
MSGW 37 8 9
503 / 503 404 / 503 505 / 505
P U B L I C I N F O R M A T I O N 13
MODELOS X FUNCIONALIDADES
P U B L I C I N F O R M A T I O N 14
• MODELO I – VALIDAÇÃO INLINE DAS MÉTRICAS AGREGADAS COM LINE TRADING
• MODELO II – ATUALIZAÇÃO TECNOLÓGICA DA ARQUITETURA ATUAL (HW E SW)
• MODELO III – VALIDAÇÃO INLINE DE MÉTRICAS NÃO AGREGADAS
TYPE OF ACCESS
MODELOS X FUNCIONALIDADES
P U B L I C I N F O R M A T I O N 15
TYPE OF ACCESS
MODELO I – VALIDAÇÃO INLINE MÉTRICAS AGREGADAS
X
1
6
MSGW 1 MSGW 2 MSGW 3 MSGW 12MSGW 4
LINETrading
LINETrading
LINETrading
LINEClearing
LINEClearing
LINEClearing
Validação de Risco Inline
Validações de Risco Near Time
2
8
3
7
4 5
X
232 GWs de Conveniência
X
NÚCLEO 1 NÚCLEO 2 NÚCLEO 3 NÚCLEO 12NÚCLEO 4
P U B L I C I N F O R M A T I O N 16
TYPE OF ACCESS
• Vantagens
• Validação das métricas agregadas inline.
• Desvantagens
• Maiores RTT e desvio padrão;
• RTT com dependência de burts nas centrais de risco; e
• Alta diferença de latência entre nova ordens e
cancelamentos.
MODELO I – VALIDAÇÃO INLINE MÉTRICAS AGREGADAS
P U B L I C I N F O R M A T I O N 17
TYPE OF ACCESS
MODELO II – ATUALIZAÇÃO TECNOLÓGICA
232 GWs de ConveniênciaX
1
4 5
6
LINETrading
LINETrading
LINETrading
LINEClearing
LINEClearing
LINEClearing
2
8
3
7
NÚCLEO 1 NÚCLEO 2 NÚCLEO 3 NÚCLEO 12NÚCLEO 4
Validação de Risco Inline
Validações de Risco Near Time
P U B L I C I N F O R M A T I O N 18
TYPE OF ACCESS
• Vantagens
• Manutenção da arquitetura atual;
• Não tem incompatibilidade com o LINE Trading
• Desvantagens
• FIFO garantido no núcleo de negociação;
• Arbitragem de latência entre gateways; e
• Maior número de sessões no ambiente.
MODELO II – ATUALIZAÇÃO TECNOLÓGICA
P U B L I C I N F O R M A T I O N 19
TYPE OF ACCESSMODELO III – VALIDAÇÃO INLINE MÉTRICAS NÃO AGREGADAS
X
MSGW 1 MSGW 2 MSGW 3 MSGW 12MSGW 4
1
5
4 Central de Risco 1
Central de Risco 2
Central de Risco 3
Validação de Risco Inline
Validações de Risco Near Time das métricas agregadas
X
232 GWs de Conveniência
X
2 3
NÚCLEO 1 NÚCLEO 2 NÚCLEO 3 NÚCLEO 12NÚCLEO 4
P U B L I C I N F O R M A T I O N 20
TYPE OF ACCESS
• Vantagens
• RTT ~300 microssegundos menor comparados aos modelos I e II;
• Baixo desvio padrão e alta previsibilidade de desvio padrão;
• RTT independente de burst nas centrais de risco;
• Flexibilidade de funcionalidades no LINE Clearing sem impacto no RTT.
• Desvantagens
• Validação dos limites não agregados inline:
• Mercados Autorizados;
• Tamanho Máximo de Oferta; e
• Saldo Comprado ou Vendido por Instrumento.
• Limites de agregados validados em near time (até 1 milissegundo).
• Funções Adicionais
• Modo Síncrono dos limites agregados após determinado threshold;.e
• Pequena diferença de RTT entre ordens e cancelamentos.
MODELO III – VALIDAÇÃO INLINE MÉTRICAS NÃO AGREGADAS
P U B L I C I N F O R M A T I O N 21
TYPE OF ACCESS
Funcionalidade LINE 5.0 Trading LINE Trading (Síncrono)LINE Clearing
(Assíncrono)
Participantes PNP / PN / Carrying PNP / PN MC / PNP / PN / Carrying
Validação de Limites Inline X X
Validação de Limites Near Time X
Modo Protegido X X
Modo Síncrono (threshold) X
Entidades Conta / DocID / Operador Conta / DocID / Operador Conta / DocID
Alocação e Posições de Inicio de Dia X
Controle de Repasse X X
MODELO III – VALIDAÇÃO INLINE MÉTRICAS NÃO AGREGADAS
P U B L I C I N F O R M A T I O N 22
TYPE OF ACCESS
Funcionalidades LINE 5.0 TradingLINE Trading
(Síncrono)
LINE Clearing
(Assíncrono)
Mercados Autorizados X X
Tamanho Máximo de Oferta X X
Saldo Comprado e Vendido por Instrumento X X X
Saldo Financeiro Day Trade (assíncrono) X X
Saldo Devedor Potencial X X
Incremento de Risco Potencial (Negócios e
Ofertas)X X
Saldo de Venda a Descoberto X
Incremento de Risco (Negócios) X
Câmbio Pronto Eletrônico X
Empréstimo de Ativos (BTB) X
MODELO III – VALIDAÇÃO INLINE MÉTRICAS NÃO AGREGADAS
P U B L I C I N F O R M A T I O N 23
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
• O que não estamos planejando mudar (pelo menos não na 1a versão)
– Sessões de Drop Copy continuam publicando mensagens FIX.
– Sessões Supervisoras/Administrativas.
– Gateways atuais entrypoint, fazendo roteamento das mensagens.
• O que estamos planejando mudar
– Novo gateway com protocolo binário utilizando SBE (simple binary encoding);
– Novo protocolo, mensagens menores e específicas, campos de tamanho fixo, dados mais amigáveis.
• Ex. Sending time (tag 52), de: 20190329-15:30:08.161, para binário (long/int64) desde epoch 1553873408161.
– Timestamp em nanossegundos para o MSGW, indicando quando a mensagem foi recebida.
Mudanças no Order Entry
P U B L I C I N F O R M A T I O N 24
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
• Conexão com cada MSGW, atualmente temos 12 market segments.
– Como identificar um market segment? Tag 1300 (Market Segment Id) no UMDF 2.0, na Security List.
– Duas instâncias de gateway por market segment, (fault tolerance); e
– FIFO na entrada da ordem, garantido no nível do gateway.
• Recuperação de mensagem em componente dedicado, fora do MSGW
– Evitar impacto na latência durante recuperação
– Maior flexibilidade para as recuperações
Mudanças no Order Entry
P U B L I C I N F O R M A T I O N 25
PROJETO NOVO GATEWAY DE ENTRADA DE ORDENS
• Por que estamos planejando usar Binário/SBE
– Melhor performance comparado com representação em FIX( ascii ), maior determinismo
– Implementação mais simples, ferramentas disponíveis para geração de codecs em C++, Java & C#
– Boa experiência na comunicação entre LINE 5 e Gateway.
– Outras bolsas já estão usando, possível substituto ao FAST no Market Data.
– Fácil entendimento tendo o FIX como base, referência https://github.com/FIXTradingCommunity
– Estrutura das mensagens em alto nível
Mudanças no Order Entry
P U B L I C I N F O R M A T I O N 26
P U B L I C I N F O R M A T I O N 27
TYPE OF ACCESS
PUMA TRADING SYSTEM
ENGINE EQT01
PRODUCTS DISTRIBUTION PER ENGINE
B3, Usiminas,
Gerdau, BB and
their related
Options
ENGINE EQT02
PETR, COSAN,
OSX, PetroRio
and their related
Options
ENGINE EQT03
BDR, Cemig, FII,
BRFood, Braskem,
Eletrobrás and
their related
Options
ENGINE EQT04
Klabin, Oi,
MagaLu, JBS,
Cyrela and their
related Options
ENGINE EQT05
ETF, IBOV,
Ambev, Gol,
Suzano and their
related Options
ENGINE EQT06
Bradesco, Itaú,
Itausa,
Santander, Cielo
and their related
Options
ENGINE DRV01
Commodities,
Exchange rates
and their
related Options
ENGINE DRV02
Ibovespa
Futures, Single
Stock Futures
and their
related Options
ENGINE DRV03
Mini Ibovespa
Futures and
their related
Options
ENGINE DRV04
Mini U.S.
Dollar
Futures
ENGINE DRV05
Interest rates
and their
related
Options
ENGINE DRV06
U.S. Dollar
Spot and
BYMA