Monday 24 July 2017

Sistemas De Negociação De Baixa Latência


Cambridge, Reino Unido ndash 23 de junho de 2014 ndash Argon Design. Uma empresa de serviços de design especializada em sistemas digitais complexos anunciou hoje que desenvolveu um sistema de negociação financeira de baixa latência para uma casa de comércio proprietária fazendo arbitragem de latência em uma das principais bolsas nas Américas. A plataforma de negociação completa, que inclui funções de ingesta de dados de mercado em tempo real, através do suporte ao algoritmo à colocação de pedidos baseada em FIX, foi atualizada em maio de 2014. Ele baseia-se nos resultados inovadores que o Argon anunciou em setembro de 2013 para o comércio de alto desempenho usando um design híbrido de FPGA e Tecnologias x86. Isso combina os caminhos rápidos implementados no FPGA para dar respostas de tick-to-trade de nível de nanosegundo a eventos-chave, juntamente com a configuração de oportunidade, determinação de parâmetros e gerenciamento de sistema em um servidor x86 de alto desempenho. O melhor hardware de raça compreende um servidor Supermicro Hyper-Speed ​​com processadores Dual Intel Xeon E5 montados e fornecidos pela Bios IT, bem como um interruptor Arista 7124FX com Stratix V FPGA integrado. A lógica FPGA usa uma série de técnicas de otimização desenvolvidas pelo Argon para maximizar a vantagem de velocidade. Estes incluem análise em linha, antecipação, inferência e arbitragem de gateway. Para alimentar as várias técnicas de inferência, o FPGA inclui lógica complexa para construir e manter cadernos e estatísticas. A análise do FASTFIX é feita em no máximo 64ns, e a compilação do livro de pedidos é completada em 32ns. Para as interfaces de rede de latência mais baixas, o sistema usa o MAC 1G de latência do terminal Tamba Networks. O parceiro gerente da casa de comércio comentou: "As trocas tornam-se mais deterministas, é importante ter uma plataforma que ofereça vantagem de velocidade, bem como estratégias de negociação inteligente. O sistema Argon nos deu essa vantagem. Steve Barlow, CTO of Argon Design comentou que o comércio de alto desempenho continua a ser ativo em todos os mercados mundiais. Como possivelmente se torne mais nicho, ganhar terá acesso a tecnologias de alto desempenho e às habilidades para selecionar e montar as peças necessárias. Na Argon, acreditamos no detalhe da engenharia especializada ndash, cada cliente é diferente e, portanto, desenvolvemos sistemas personalizados que dão a vantagem vital. Sobre a Argon Design O Argon Design foi fundado em 2009 e atua no coração do renomado Cambridge Technology Cluster, com acesso aos mercados do mais importante intelecto. No setor de comércio financeiro, o Argon Design auxilia equipes internas, fornecendo habilidades especializadas ou recursos adicionais para projetos, bem como projetos completos completos em áreas como: arquitetura de sistemas de hardware e software heterogêneos Design e produção de aparelhos Programação de desenvolvimento baseada em FPGA Many-core Hardware de processador e design de software usando Tilera, Intel e outros Processamento de rede Programação de desenvolvimento de GPU e OpenCLFor anos as pessoas disseram otimizar o último, não se preocupe. Você pode consertar mais tarde. Para uma latência ultra baixa, simplesmente não é verdade. Toda linha de código deve ser escrita com otimização em mente. Ao escrever SubMicroTrading, escrevi benchmarks micro para comparar desempenho em um nível micro. Testei padrões de agrupamento, implementações de filas diferentes, impacto de herança e genéricos. Alguns dos resultados foram surpreendentes. O que se destaca como enganador foi o benchtest de piscinas genéricas versus piscinas de concreto. Teoricamente, os genéricos não deveriam ter impacto em tempo de execução, mas em um PC eu tinha um micro benchmark que mostrava alguns pontos de latência. Por causa disso, fiz meu gerador de código gerar um pool discreto e uma classe de reciclagem. De facto, quando eu reeditar os benchmarks no linux com parâmetros JVM sintonizados, houve diferença zero. Absolutamente essencial é entender. Os casos de uso chave e uma configuração de benchtest controlada que você pode garantir não está em uso no teste. O primeiro caso de uso para SubMicroTrading foi como uma colocação que normalizava o gerenciamento de pedidos com verificações de risco do cliente. O OMS recebeu pedidos de clientes, os validou, executou verificações de risco e enviou uma ordem de mercado para a troca. A OMS normalizaria todas as excentricidades de permuta e permitiria uma fácil personalização do cliente. Isso ocorreu antes que os clientes do IB recebessem acesso patrocinado. Com o acesso patrocinado, a necessidade de sistemas de gerenciamento de pedidos de latência ultra baixa desapareceu 8230 tempo ruim da minha parte. Com este caso de uso, executei um simulador de cliente e um simulador de troca no servidor sim e o OMS no servidor de comércio. O simulador de cliente carimbou um timestamp de nanossegunda na ordem do cliente de saída. O OMS quando gerou uma ordem de mercado marcaria a ordem com o tempo total dentro da OMS, bem como o timestamp original do pedido do cliente do simulador de clientes. O simulador de câmbio e o simulador de clientes usam afinidade de thread para o mesmo núcleo e, portanto, o nano segundo timestamp pode ser usado para determinar o tempo de fim-a-ponto realista. Você pode sugerir o tempo na NIC e na rede por: - TimeInNICsAndNetwork (timeMarketOrderRecieved - clientOrderTimeStamp) - timeInOMS Havia 4 NIC TCP lúpulo tão grosso um (Rough) NIC TCP hop TimeInNICsAndNetwork 4 Como os timestamps são gerados em um host (mesmo 1 núcleo Ou 1 cpu), então você precisa de uma sincronização de tempo PTP cara. O uso do System. nanoTime para medir a latência não é recomendado, ele usa o temporizador HPET que mostra algumas aberrações de vários milissegundos em testes longos. O RDTSC parece ser mais preciso, mas pode ter problemas para medir em núcleos (incluirei o código em um blog posterior no JNI). Para ser honesto, no entanto, neste nível, tudo o que estamos realmente preocupados é ter um teste repetido. Ao alterar algum parâmetro, qual o impacto. Execute o benchtest várias vezes e mire o delta. Agora podemos ver se melhoramos ou pioramos. Observe agora que o Solarflare adicionou instalações de captura de pacotes, espero que seja possível usar a captura de entrada de saída permitiria medições de perfis precisas. Algo Trading System. Tick ​​To Trade O segundo caso de uso foi para Tick to Trade. Aqui escrevi um recipiente de algo, gerenciador de livros ideal e gerenciamento de sessão de dados de mercado usando o framework SMT. NIC1 foi usado para dados de mercado e NIC2 para a conexão comercial. Neste caso de uso, o servidor de simulação reproduz os dados de mercado capturados usando o tcpreplay em várias taxas (de x1 a flat out, que foi de cerca de 800,000pps). O servidor de comércio obtém os dados do mercado através da NIC1 na (s) sessão (s) de dados do mercado. CME tem tantas sessões que escrevi um gerador de sessão dinâmico para criar sessões preguiçosas com base em contratos subscritos. Os dados de mercado são consumidos pelos algos que podem então enviar ordem para trocar a sessão sobre o NIC2. A ordem é enviada com um campo de marcador para identificar o tiquetaque que o gerou. Isso permite uma correlação precisa do tiquetaque que realmente gerou a ordem. FPGA híbrido, provedores de dados de mercado, adaptadores de troca, todos precisam ser considerados de forma holística dentro do sistema de negociação como um todo para os casos de uso KEY do sistema. Benchtest eles não na taxa de um dia passivo, mas na taxa máxima que você pode precisar 8230 considerar as maiores taxas de pico do mercado e, em seguida, tente a taxa normal de mercado x1, x5, x10, x100 para entender diferentes níveis de desempenho. Para números realmente precisos, precisamos usar divisores NIC no servidor de comércio e capturar entrada de saída de ambos os NICS. Eu fiz isso mais recentemente com um dispositivo TipOFF (com o Grandmaster clock e o Solarflare PTP 10GE NICS que possui o ajuste do relógio do host independente da CPU). Aqui você mede uma latência de fio a fio razoavelmente precisa. Esta é a melhor maneira de comparar o desempenho do tic para o comércio para um sistema como um todo e, portanto, ignorar a fumaça e os espelhos dos provedores de serviços de componentes. Eu vi pessoas trabalhando em sistemas de FX de baixa latência ultra baixa. O P99.9999 é mais importante porque as oportunidades de arb são 1 em 1.000.000 e eles acreditam que a oportunidade na troca ocorrerá no momento em que o sistema de negociação tiver qualquer jitter 8230. Completamente não corroborada e, pessoalmente, acho que foi para você. As operações de Arb provavelmente ocorrerão durante as cargas de pico, por isso é crítico que o sistema tenha uma taxa de transferência que possa atender a carga máxima sem dizer que causam o backup de pacotes ocultos em buffers de rede (cuidado com as implementações de pilhas parciais do TCP dodgy que provavelmente falharão durante os picos de congestionamento da rede). As medidas-chave na minha mente são as P50, P90, P95, P99 8230, sendo P95 o mais importante. Estou certo de que haverá muitas pessoas que não concordam. Mas no final do dia, a única estatística muito importante é a quantidade de dinheiro que você faz. Observe que todos os processos de monitoramento em servidores de comércio sejam leves e NÃO façam GC e não tenham impacto no desempenho dos sistemas comerciais. Execute o teste com e sem por alguns dias para ver impact. Ultra Low-Latency Options Trading BTS oferece soluções de negociação abrangentes e de alto desempenho para comerciantes de opções profissionais. Nosso sistema de comércio avançado superou com sucesso muitos ciclos de mercado, muitas vezes em condições extremas. Oferecemos uma interface de usuário intuitiva que ajuda com decisões comerciais e aproveita o mercado para oportunidades. A flexibilidade na configuração das curvas de volatilidade para refletir o verdadeiro valor de mercado leva a preços confiáveis ​​e relatórios de risco realistas e precisos. Juntas, essas ferramentas fornecem uma sólida base tecnológica para os fabricantes de mercado, os grupos comerciais exclusivos e os corretores. Nossa equipe de suporte é composta por veteranos da indústria que entendem a natureza urgente deste negócio, bem como a noção de que as questões de tecnologia podem ser caras e demoradas. As questões de produção crítica recebem atenção imediata do suporte, engenharia e gerenciamento. Nosso mandato como uma empresa comercial é parte do nosso DNA. Criamos soluções práticas e eficientes para os complexos problemas apresentados pelos mercados de capitais de hoje. Nós nos orgulhamos do nosso trabalho e nos mantemos com um alto padrão de qualidade. Trader Designed Interface Nossas interfaces de usuário foram projetadas por comerciantes, para comerciantes. Oferecemos abordagens intuitivas que ajudam com decisões de negociação e ajudam a explorar o mercado para oportunidades. Nossas ferramentas fornecem uma sólida base tecnológica para os fabricantes de mercado de opções, os grupos de negociação proprietária e os corretores, bastante simplificando o fluxo de trabalho comercial. Interface de usuário de desktop e de piso rápida e fácil de usar Capacidade para mercados eletrônicos de RFQ do chão Folhas e tabela de cálculo altamente configuráveis ​​Mecanismo de relatórios dinâmicos com risco em tempo real e PampL Criação de negociação e propagação fácil de clique Suporte para múltiplos símbolos e trocas em uma única tabela de preços Controle de tarefas de negociação eletrônicas integradas com listas de preços Gerenciamento de volatilidade Nossa nova Volatilidade Os controles de superfície oferecem uma interface dramaticamente melhorada para gerenciar a volatilidade Modelos de volatilidade polinomial, spline, dupla e personalizada disponíveis Resposta dinâmica calibrada pelo usuário do nível e forma da curva de volatilidade Pontos de controle movidos Por volatilidade ou por preço Curvas de volatilidade ligadas entre símbolos e expirações Gerenciamento de risco Os nossos relatórios de risco fornecem uma pesquisa abrangente sobre a exposição de suas posições às mudanças nas condições do mercado em um formato flexível e especificado pelo usuário. Risco medido ao longo dos caminhos específicos de volatilidade versus subjacente especificados pelo usuário Delta Gamma, Vega, Theta, Charme, Vanna, Volga, bem como gregos de forma Global vega customizado em todo o produto e vencimento. Mecanismo de relatórios para relatórios PampL e de risco projetados pelo usuário. Negociação Eletrônica Construímos nosso sistema de comércio eletrônico desde o início para os mercados de hoje. Embora grande parte da nossa oferta de produtos tenha raízes Na fabricação de mercado proprietária no chão, nosso novo sistema de comércio eletrônico foi construído desde o início em C para alcançar os perfis de latência necessários para competir no mercado de derivativos eletrônicos de hoje. Trabalhamos continuamente para otimizar e expandir nossa oferta de negociação eletrônica de baixa latência. Os ciclos de liberação rápida garantem que respondamos rapidamente às mudanças nas condições da indústria. Ultra-baixa latência quoter e sistema eletrônico de tarefas de hedge automatizado baseado em Delta de olho eletrônico permite o controle de tarefas eletrônicas de olho e quoter sem deixar as tabelas de preços. Um extenso conjunto de segurança automática, incluindo cancelamento de gap, gating ou estrangulamento e proteção de profundidade de cobertura. Fácil de usar na web Interface para limites de risco e relatórios de margem Tem uma pergunta Sede 194 Finley Golf Course Road Suite 100 Chapel Hill, NC 27517 Telefone: (919) 913-0850 141 West Jackson Suite 3732 Chicago, IL 60604 Telefone: (919) 913-0860

No comments:

Post a Comment