Wednesday 6 December 2017

Sistemas de latência em negociação


Cambridge, Reino Unido ndash 23 de junho de 2017 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 de suporte a algoritmos para a colocação de pedidos baseada em FIX foi ao vivo em maio de 2017. Ele baseia-se nos resultados inovadores que o Argon anunciou em setembro de 2017 para negociação de alto desempenho usando um projeto 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 uma lógica complexa para construir e manter cadernos e estatísticas. A análise de FASTFIX é feita em no máximo 64ns, e a compilação de livro de pedidos é completada em 32ns. Para as interfaces de rede de latência mais baixas, o sistema usa o MAC de 1 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 provavelmente se tornará 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 Projeto de hardware e software do processador usando Tilera, Intel e outros. Processamento de rede Programação de desenvolvimento de GPU e OpenCLBarsMonster: Eu poderia ver, porém, para coisas como pilhas de rede, que são completamente dependentes da plataforma, exigiria algum conhecimento antes de poder mudar plataformas. Mais coisas como garfo que são comuns no mundo POSIX, mas não são possíveis em um ambiente Windows. Eu acho que é uma resposta razoável. Ndash Billy ONeal 29 de agosto 10 às 0:55 LinuxUNIX é muito mais útil para usuários remotos concorrentes, facilitando o roteamento em torno dos sistemas, use ferramentas padrão como grepsedawkperlrubyless em logs. Sshscp. Todos esses itens apenas lá. Há também problemas técnicos, por exemplo: para medir o tempo decorrido no Windows, você pode escolher entre um conjunto de funções com base no controle do relógio do Windows e no QueryPerformanceCounter (). O primeiro é incrementos cada 10 a 16 milissegundos (nota: alguma documentação implica mais precisão - por exemplo, os valores da medida GetSystemTimeAsFileTime () para 100ns, mas eles relatam o mesmo limite de 100ns do relógio para assinalar novamente). O último - QueryPerformanceCounter () - tem problemas de exibição em que diferentes coresppus podem relatar relógios-desde-inicialização que diferem por vários segundos devido a serem aquecidos em diferentes momentos durante a inicialização do sistema. MSDN documenta isso como um possível erro do BIOS, mas é comum. Então, quem quer desenvolver sistemas de negociação de baixa latência em uma plataforma que não pode ser instrumentada corretamente (há soluções, mas você não encontrará nenhum software que esteja sentado convenientemente em impulsionar ou ACE). Muitas variantes LinuxUNIX têm muitos parâmetros facilmente ajustáveis ​​para trocar a latência por um único evento contra a latência média sob carga, tamanhos de fatia de tempo, políticas de agendamento, etc. Em sistemas operacionais de código aberto, há também a garantia de que pode se referir ao Codifique quando você pensa que algo deve ser mais rápido do que é, e o conhecimento de que uma comunidade (potencialmente enorme) de pessoas tem sido e está fazendo de forma crítica - com o Windows, obviamente, principalmente será a prostituta designada para examiná-la. No lado da FUDreputação - um pouco intangível, mas uma parte importante das razões para a seleção do sistema operacional - acho que a maioria dos programadores da indústria confiaria apenas em LinuxUNIX mais para fornecer um agendamento e um comportamento confiáveis. Além disso, o LinuxUNIX tem uma reputação de falhar menos, embora o Windows seja bastante confiável nos dias de hoje, e o Linux possui uma base de código muito mais volátil do que o Solaris ou o FreeBSD. Respondeu 29 de agosto às 0:42 Os sistemas operacionais do cliente Windows permitem apenas que uma pessoa use o RDP de cada vez. No entanto, o Windows Terminal Server existe para sempre (foi, de fato, o uso original do RDP) e permite tantas conexões quanto você possui Licenças de Acesso para Cliente. Os sistemas operacionais do Windows Server vêm com a capacidade de ter mais de um usuário remoto por padrão. Se você pudesse obter o comentário sobre o agendamento, então eu iria aqui - essa parte da resposta parece ser FUD neste ponto para mim (o restante da resposta é bom). YMMV. Ndash Billy ONeal 29 de agosto 10 às 0:50 Não há programação UNIXLinux. É uma das áreas em que as implementações diferem. E o Linux, na verdade, teve mais de uma opção de agendador (google Completely Fair Scheduler Linux para o plano de fundo), então você pode até dizer que o planejamento do quotLinux é confiável. Ndash MSalters 30 de agosto 10 às 11:37 Em segundo lugar, as opiniões de histórico e o acesso à manipulação do kernel. Além desses motivos, eu também acredito que, assim como como eles desligam a coleta de lixo e o mecanismo similar em Java ao usar essas tecnologias em baixa latência. Eles podem evitar o Windows por causa das APIs de alto nível que interagem com ossos de baixo nível e depois com o kernel. Portanto, o núcleo é, naturalmente, o kernel que pode ser interagido com o uso do baixo nível os. As APIs de alto nível são fornecidas apenas para facilitar a vida dos usuários comuns. Mas, no caso de baixa latência, esta é uma camada gordurosa e uma fração de perda de segundos em cada operação. Então, uma opção lucrativa para ganhar poucos segundos por chamada. Além disso, essa outra coisa a considerar é a integração. A maioria dos servidores, centros de dados, trocas usam UNIX e não Windows, portanto, usar os clientes da mesma família facilita a integração e a comunicação. Então você tem problemas de segurança (muitas pessoas por aí podem não concordar com este ponto, no entanto) hackear o UNIX não é fácil em comparação com o hacking WINDOWS. Eu não concordo que o licenciamento deve ser o problema para os bancos, porque eles duchem dinheiro em cada peça de hardware e software e as pessoas que os personalizam, então as licenças de compra não serão tão maiores quanto a questão quando consideradas o que ganham comprando. Respondeu 21 de dezembro 12 às 20:05 Sua resposta 2017 Stack Exchange, IncTodo o tempo que você ouve sobre comércio de alta freqüência (HFT) e quão malditos sejam os algoritmos. Mas estou me perguntando - o que é rápido nos dias de hoje não estou pensando na latência causada pela distância física entre uma troca e o servidor que executa um aplicativo comercial, mas a latência introduzida pelo próprio programa. Para ser mais específico: qual é o tempo de eventos que chegam no fio em um aplicativo para esse aplicativo, emite um preço de ordem no fio, ou seja, Hora do tic-to-trade. Estamos falando sub-milissegundos Ou submicosegundo Como as pessoas conseguem essas latências Codificação em FPGAs de montagem Código C de boa-data. Foi recentemente publicado um artigo interessante sobre a ACM, fornecendo muitos detalhes sobre a tecnologia HFT de hoje, que é uma excelente leitura : QuotO fio é um limite distorcido. Leva um tempo para que um pacote de dados completo chegue, e um pouco do processamento já pode ter começado antes que toda a mensagem tenha sido recebida. Tudo está distorcido através das diferentes camadas do sistema de memória e do kernel e da aplicação, e as pessoas estão prestando muita atenção a essa inclinação. Ndash sh1 Jul 1 13 às 12:49 Im o CTO de uma pequena empresa que fabrica e vende sistemas HFT baseados em FPGA. Construindo nossos sistemas no topo do Solarflare Application Onload Engine (AOE), nós estamos constantemente oferecendo latência de um evento de mercado interessante no fio (10GbS UDP market data feed de ICE ou CME) para o primeiro byte da mensagem de ordem resultante que bate O fio na faixa de 750 a 800 nanossegundos (sim, submicrossegundo). Nós antecipamos que nossos sistemas de próxima versão estarão na faixa de 704 a 710 nanosegundos. Algumas pessoas reivindicaram um pouco menos, mas isso é em um ambiente de laboratório e na verdade não está sentado em uma COLO em Chicago e limpa as ordens. Os comentários sobre física e velocidade da luz são válidos, mas não relevantes. Todo mundo que é sério sobre a HFT tem seus servidores em um COLO na sala ao lado do servidor de intercâmbio. Para entrar neste domínio sub-microsegundo, você não pode fazer muito na CPU do host, exceto os comandos de implementação da estratégia de alimentação para o FPGA, mesmo com tecnologias como o bypass do kernel, você tem 1,5 microssegundos de despesas gerais inevitáveis. Então neste domínio tudo está jogando com FPGAs. Uma das outras respostas é muito honesta ao dizer que, neste mercado altamente secreto, poucas pessoas falam sobre as ferramentas que usam ou o desempenho deles. Cada um de nossos clientes exige que nem sequer diga a ninguém que eles usam nossas ferramentas nem divulguem nada sobre como elas as usam. Isso não só dificulta o marketing, mas também evita o bom fluxo de conhecimento técnico entre colegas. Devido a esta necessidade de entrar em sistemas exóticos para a parte rápida do mercado, você achará que os Quants (as pessoas que apresentam os algoritmos que fazemos são rápidos) estão dividindo seus algos em camadas de tempo de evento para resposta. No topo da tecnologia, o heap é o sistema de microsecondos secundários (como o nosso). A próxima camada são os sistemas C personalizados que fazem uso intenso do bypass do kernel e theyre na faixa de 3-5 microssegundos. A próxima camada são as pessoas que não podem se dar ao luxo de estar em um fio de 10GbS apenas um roteador do intercâmbio, eles podem estar ainda em COLOs, mas por causa de um jogo desagradável que chamamos de roleta de porta, eles estão nas dúzias de centenas de microsecondos. Uma vez que você entra em milissegundos, quase não é HFT. Respondeu 27 de fevereiro às 23:00 Brian, você pode querer saber, que seu URL vinculado felizmente não funciona. Ndash user3666197 14 de agosto 14 às 22:28 Mercury-Minerva: o que você quer dizer com quotport roulettequot aqui ndash rahul. deshmukhpatil 17 de agosto 15 às 10:55 quotport roulettequot refere-se à atribuição de portas aos clientes pela troca, em um ambiente onde Nem todas as portas têm a mesma distância de salto do (s) servidor (es) de origem e / ou o mesmo hardware de rede. Quando você solicita uma nova porta, é uma aposta (a parte quotroulettequot) se você obtém uma porta com boa latência ou não. Ndash David Arnold Nov 19 15 às 21:51 Mercury-Minerva, você menciona a participação de um evento de mercado interessante no wire39 e FPGAs. Eu queria saber se há NICs Ethernet orientadas para bytes para evitar a latência de 1 quadro forçada por NICs quadro-a-hora típicas (que é pelo menos 67 ns em 10GbE). Você saberia ndash hmijail 27 de janeiro às 14:58 Bom artigo que descreve o que é o estado da HFT (em 2017) e fornece algumas amostras de soluções de hardware que tornam possível os nanosegundos: as ruas da parede precisam da velocidade de negociação: a era dos nanosegundos com a raça Para a menor latência que continua, alguns participantes do mercado estão falando sobre trocas de segundos por segundo. EDIT: Como Nicholas mencionou gentilmente: O link menciona uma empresa, a Fixnetix, que pode preparar um comércio em 740ns (ou seja, o tempo de um evento de entrada ocorre a uma ordem que está sendo enviada). Respondeu Jul 1 13 às 9:03 sll 41k 9679 10 9679 66 9679 115 O link menciona uma empresa, a Fixnetix, que pode permitir uma troca em 740ns (ou seja, o tempo de um evento de entrada ocorre a uma ordem que está sendo enviada). Ndash Nicholas Jul 1 13 às 12:34 Direita, este é um ponto essencial. Eu irei editar a resposta e adicione isso, obrigado ndash sll Jul 1 13 às 12:43 Hoje em dia um tic-to-trade de um dígito em microssegundos é a barra para firmas HFT competitivas. Você deve poder fazer dígitos únicos altos usando apenas o software. Então lt5 usec com hardware adicional. Para o que vale a pena, o produto de mensagens TIBCOs FTL é sub-500 ns para dentro de uma máquina (memória compartilhada) e alguns segundos micro usando RDMA (Remote Direct Memory Access) dentro de um data center. Depois disso, a física se torna a principal parte da equação. Então, essa é a velocidade pela qual os dados podem ser obtidos a partir do feed para o aplicativo que toma decisões. Pelo menos um sistema reivindicou 30ns mensagens interthread, que provavelmente é um benchmark tweaked up, então qualquer pessoa que fala sobre números mais baixos está usando algum tipo de CPU mágica. Uma vez que você está no aplicativo, é apenas uma questão de quão rápido o programa pode tomar decisões. Plataformas de latência baixa O Maxeler fornece uma plataforma de rede totalmente programável para negociação de baixa latência, incluindo: MaxCompilerMPT para algoritmos e desenvolvimento de protocolos, conectores de intercalação MPT incluindo Eurex, Plataformas de hardware CME, NYSE e NASDAQ MPT com conexões de rede 10G e 40G A tecnologia de fluxo de dados Maxelers é aprimorada no MaxCompilerMPT para implementar algoritmos de baixa latência, mantendo o máximo em desempenho de ultra-baixa latência e ultra-baixo-jitter. O aplicativo comum de baixa latência inclui: motores FIX para comercialização de dados com mais de 16.000 sessões FIX Taxa de linha Construção de livros Usinas de Ticker com manipuladores de protocolo otimizados Sistemas de negociação algorítmica totais com equivalência de sub-s Motores correspondentes que lidam com milhões de pedidos por segundo MaxCompilerMPT Aplica automaticamente otimizações anteriormente implausíveis em projetos codificados por mão e permite aos desenvolvedores aperfeiçoar e otimizar seu código com desempenho detalhado e feedback dos recursos. O desenvolvimento é acelerado com os motores de fluxo de dados simulados, que permitem que os programadores trabalhem em um ambiente de software, acelerando o desenvolvimento e a depuração por uma ordem de grandeza ou mais. Para obter mais informações, entre em contato por e-mail no lowlatencymaxeler.

No comments:

Post a Comment