Wednesday, 19 June 2019

Latency in trading systems


You039d conhece melhor sua terminologia de negociação de alta freqüência O aumento do interesse dos investidores em alta freqüência de negociação (HFT) é importante para os profissionais da indústria para chegar a velocidade com a terminologia HFT. Uma série de termos HFT têm suas origens na rede de computadores / indústria de sistemas, o que é de se esperar dado que HFT é baseado em arquitetura de computador incrivelmente rápido e estado-da-arte do software. Nós discutimos brevemente abaixo de 10 termos chaves de HFT que nós acreditamos que são essenciais para ganhar uma compreensão do assunto. Colocação Localizando computadores pertencentes a empresas HFT e comerciantes proprietários nas mesmas instalações onde estão alojados os servidores de computadores de troca. Isso permite que as empresas HFT acessem os preços das ações uma fração de segundo antes do resto do público investidor. A co-localização tornou-se um negócio lucrativo para intercâmbios, que cobram às empresas HFT milhões de dólares pelo privilégio de acesso de baixa latência. Como Michael Lewis explica em seu livro Flash Boys, a enorme demanda por co-localização é uma das principais razões pelas quais algumas bolsas de valores expandiram seus data centers substancialmente. Enquanto o antigo edifício da Bolsa de Valores de Nova York ocupava 46.000 pés quadrados, o data center da NYSE Euronext em Mahwah, Nova Jersey, é quase nove vezes maior, com 398.000 pés quadrados. Flash Trading Um tipo de negociação de HFT em que uma troca será flash informação sobre as ordens de compra e venda de participantes do mercado para as empresas HFT por algumas frações de um segundo antes que a informação é disponibilizada ao público. Flash trading é controversa porque as empresas HFT pode usar essa borda de informações para o comércio à frente das ordens pendentes, que pode ser interpretado como front running. O senador Charles Schumer havia instado a Securities and Exchange Commission, em julho de 2009, a proibir o comércio flash, afirmando que criou um sistema de duas camadas onde um grupo privilegiado recebia tratamento preferencial, enquanto os investidores varejistas e institucionais eram colocados em uma desvantagem injusta e privados de Um preço justo para suas transações. O tempo que decorre desde o momento em que um sinal é enviado para seu recebimento. Uma vez que a latência mais baixa é igual a uma velocidade mais rápida, os comerciantes de alta frequência gastam pesadamente para obter o hardware, o software e as linhas de dados mais rápidos para executar ordens tão rapidamente quanto possível e ganhar uma vantagem competitiva na negociação. O maior determinante de latência é a distância que o sinal tem que percorrer, ou o comprimento do cabo físico (normalmente fibra óptica) que transporta dados de um ponto a outro. Desde a luz em um vácuo viaja em 186.000 milhas por segundo ou 186 milhas prt milissegundo, uma empresa de HFT com seus servidores co-localizado dentro de uma troca teria uma latência muito menor e, portanto, uma vantagem comercial de uma empresa rival localizado milhas de distância. Interessantemente, os clientes de co-localização de intercâmbio recebem o mesmo comprimento de cabo, independentemente de onde estão localizados dentro das instalações de troca, de modo a assegurar que eles tenham a mesma latência. Remuneração de liquidez A maioria dos câmbios adotou um modelo de tomador de marca para subsidiar a provisão de liquidez de ações. Neste modelo, os investidores e os comerciantes que colocam em ordens limite normalmente recebem um pequeno desconto da bolsa por ocasião da execução de suas ordens porque são considerados como tendo contribuído para a liquidez no estoque, ou seja, eles são fabricantes de liquidez. Por outro lado, aqueles que colocar em ordens de mercado são considerados como tomadores de liquidez e são cobrados uma taxa modesta pela troca de suas ordens. Enquanto os descontos são tipicamente frações de um centavo por ação, eles podem adicionar até quantidades significativas sobre os milhões de ações negociadas diariamente por comerciantes de alta freqüência. Muitas empresas HFT empregar estratégias de negociação especificamente concebidos para capturar a maior parte dos descontos de liquidez possível. Matching Engine O algoritmo de software que forma o núcleo de um sistema de comércio de trocas e combina de forma contínua ordens de compra e venda, uma função previamente realizada por especialistas no pregão. Uma vez que o mecanismo correspondente corresponde a compradores e vendedores para todas as existências, é de vital importância para garantir o bom funcionamento de uma troca. O mecanismo de correspondência reside nos computadores de troca e é a principal razão pela qual as empresas de HFT tentam estar tão perto dos servidores de troca quanto possível. Refere-se à tática de entrar pequenas encomendas comercializáveis ​​geralmente para 100 partes, a fim de aprender sobre grandes ordens ocultas em piscinas escuras ou trocas. Enquanto você pode pensar em ping como sendo análogo a um navio ou submarino enviar sinais de sonar para detectar obstruções próximas ou navios inimigos, no contexto HFT, ping é usado para encontrar presas escondidas. Heres how-buy-side empresas usam sistemas de negociação algorítmica para quebrar grandes encomendas em muito menores e alimentá-los constantemente no mercado, de modo a reduzir o impacto do mercado de grandes encomendas. Para detectar a presença de encomendas tão grandes, as empresas da HFT colocam lances e ofertas em lotes de 100 ações para cada ação listada. Uma vez que uma empresa obtém um ping (ou seja, a ordem pequena HFTs é executado) ou uma série de pings que alerta o HFT para a presença de uma grande ordem buy-side, ele pode se envolver em uma atividade de comércio predatória que garante um quase livre de risco Lucro à custa do buy-sider, que vai acabar recebendo um preço desfavorável para a sua grande ordem. Pinging foi comparado a baiting por alguns jogadores influentes do mercado, uma vez que seu único objetivo é atrair instituições com grandes ordens para revelar sua mão. Ponto de Presença O ponto em que os comerciantes se conectam a uma troca. A fim de reduzir a latência, o objetivo das empresas de HFT é chegar o mais próximo possível do ponto de presença. Veja também Co-location. Predatory Trading Práticas de negociação empregadas por alguns comerciantes de alta freqüência para fazer quase livre de risco lucros à custa dos investidores. No livro de Lewis, a troca de IEX. Que busca combater alguns dos shaders HFT pratcices, identifica três atividades que constituem comércio predatório: Arbitragem de mercado lento ou latência arbitragem, em que um comerciante de alta freqüência arbitra pequenas diferenças de preços de ações entre várias bolsas. Corrida frontal eletrônica, que envolve uma empresa HFT corrida à frente de uma grande ordem de cliente em uma troca, recolhendo todas as ações em oferta em várias outras bolsas (se é uma ordem de compra) ou bater todos os lances (se é uma venda Ordem) e, em seguida, virando-se e vendê-los para (ou comprá-los de) o cliente e embolsar a diferença. A arbitragem de desconto envolve a atividade de HFT que tenta capturar descontos de liquidez oferecidos pelas bolsas sem realmente contribuir para a liquidez. Ver também Liquidity Rebates. Processador de Informações sobre Valores Mobiliários A tecnologia usada para coletar dados de cotação e comércio de diferentes bolsas, agrupar e consolidar esses dados e disseminar continuamente cotações de preços em tempo real e negociações para todas as ações. O SIP calcula a melhor oferta e oferta nacional (NBBO) para todas as ações, mas devido ao grande volume de dados que ele tem para lidar, tem um período de latência finito. Uma latência SIPs no cálculo da NBBO é geralmente maior do que a das empresas HFT (por causa dos computadores mais rápidos e da co-localização), e é esta diferença na latência estimada por Lewis para ocasionalmente chegar até 25 milissegundos que está no Atividade predatória de HFT. Nasdaq OMX Group e NYSE Euronext executam cada um SIP em nome das 11 bolsas na Tecnologia de Roteadores Inteligentes dos EUA que determina a quais ordens de troca ou negócios são enviados. Os roteadores inteligentes podem ser programados para enviar pedaços de grandes encomendas (depois que eles são divididos por um algoritmo de negociação) para obter a execução de comércio rentável. Um roteador inteligente como um roteador seqüencial de baixo custo pode direcionar uma ordem para um pool escuro e, em seguida, para uma troca (se não for executada no primeiro) ou para uma troca onde é mais provável receber um desconto de liquidez. The Bottom Line HFT tem vindo a fazer ondas e ruffling penas (para usar uma metáfora mista) nos últimos anos. Mas, independentemente da sua opinião sobre o comércio de alta freqüência, familiarizar-se com esses termos HFT deve permitir-lhe melhorar a sua compreensão deste tema controverso. Uma política monetária não convencional em que um banco central compra ativos financeiros do setor privado para diminuir os juros. O regulamento do Conselho da Reserva Federal que governa contas de dinheiro do cliente eo montante de crédito que as empresas de corretagem e. A taxa de juros em que uma instituição depositária empresta fundos mantidos no Federal Reserve para outra instituição depositária. Uma carteira de títulos de renda fixa nos quais cada título tem uma data de vencimento significativamente diferente. O propósito de. A data de vencimento de vários futuros de índices de ações, opções de ações, opções de ações e futuros de ações individuais. Todas as ações. Um tipo de apólice de seguro onde o segurado paga uma quantidade especificada de fora-de-bolso despesas para serviços de saúde such. BarsMonster: Eu poderia ver embora para coisas como pilhas de rede, que são totalmente dependentes da plataforma, exigiria algum corpo de conhecimento Antes de poder mudar de plataforma. 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. Linux / UNIX são muito mais utilizáveis ​​para usuários remotos concorrentes, tornando mais fácil o roteiro em torno dos sistemas, usando ferramentas padrão como grep / sed / awk / perl / ruby ​​/ less nos logs. Ssh / scp. Tudo isso está ali. 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 na marca do relógio do Windows e o QueryPerformanceCounter baseado em hardware (). O primeiro é incrementos de 10 a 16 milissegundos (nota: alguma documentação implica mais precisão - por exemplo, os valores de GetSystemTimeAsFileTime () medem para 100ns, mas eles relatam a mesma borda de 100ns do tique de relógio até que ele assinala novamente). O último - QueryPerformanceCounter () - tem problemas de show-stopping onde diferentes núcleos / cpus podem relatar relógios-desde-startup que diferem por vários segundos devido a ser aquecido em momentos diferentes durante o arranque do sistema. MSDN documenta isso como um possível BIOS bug, mas é comum. Então, quem quer desenvolver sistemas de negociação de baixa latência em uma plataforma que não pode ser instrumentado corretamente (existem soluções, mas você não vai encontrar qualquer software sentados convenientemente em impulso ou ACE). Muitas variantes do Linux / UNIX têm lotes de parâmetros facilmente ajustáveis ​​para compensar a latência de 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 ser capaz de se referir Para o código quando você acha que algo deve ser mais rápido do que é, eo conhecimento de que uma comunidade (potencialmente enorme) de pessoas foram e estão fazendo tão criticamente - com o Windows é, obviamente, principalmente a ser a prostituta atribuído a olhar para ele . No lado FUD / reputação - algo intangível, mas uma parte importante das razões para a seleção de SO - acho que a maioria dos programadores na indústria apenas confia Linux / UNIX mais para fornecer agendamento confiável e comportamento. Além disso, o Linux / UNIX tem uma reputação de falhar menos, embora o Windows seja bastante confiável nos dias de hoje, eo Linux tem uma base de código muito mais volátil do que o Solaris ou o FreeBSD. Os sistemas operacionais cliente do Windows só permitem que uma pessoa use RDP por vez. No entanto Windows Terminal Server tem sido em torno de sempre (era, na verdade, o uso original do RDP) e permite que muitas conexões como você tem Licenças de Acesso para Cliente. Os sistemas operacionais Windows Server vêm com a capacidade de ter mais de um usuário remoto por padrão. Se você poderia fonte o comentário sobre agendamento, então eu iria aqui - que parte da resposta parece ser FUD neste momento para mim (o resto da resposta é boa). YMMV. Ndash Billy ONeal ago 29 10 at 0:50 Não há programação UNIX / Linux. É uma das áreas em que as implementações diferem. E Linux, de fato, teve mais de uma escolha de programador (google Completely Fair Scheduler Linux para o fundo), então você can39t mesmo dizer quotLinux agendamento é reliablequot. Ndash MSalters ago 30 10 at 11:37 Eu segundo as opiniões de histórico e acesso à manipulação do kernel. Além dessas razões, eu também acredito que, assim como como eles desligam a coleta de lixo do. NET e o mecanismo semelhante em Java ao usar essas tecnologias em alguma baixa latência. Eles podem evitar o Windows por causa das APIs de alto nível que interagem com baixo nível os e, em seguida, 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, isso resulta ser uma camada de gordura e uma fração de perda de segundos em torno de cada operação. Portanto, uma opção lucrativa para ganhar poucas frações de segundos por chamada. Além disso, outra coisa a considerar é a integração. A maioria dos servidores, centros de dados, intercâmbios usam UNIX não janelas para usar os clientes da mesma família torna a integração e comunicação mais fácil. Em seguida, você tem problemas de segurança (muitas pessoas lá fora não podem concordar com este ponto embora) hacking UNIX não é fácil em comparação com hacking WINDOWS. Eu não concordo licenciamento deve ser o problema para os bancos, porque eles dão dinheiro em cada peça única de hardware e software e as pessoas que personalizá-los, para comprar licenças não será tão maior a questão quando considerado o que ganham por compra. Respondida Dec 21 12 at 20:05 Sua resposta 2017 Stack Exchange, IncAll o tempo que você ouve falar de negociação de alta freqüência (HFT) e quão rápido os algoritmos são. Mas estou me perguntando - o que é rápido estes dias eu não estou pensando sobre a latência causada pela distância física entre uma troca eo servidor executando 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 que o aplicativo produz uma ordem / preço sobre o fio, ou seja, Tick-to-trade tempo. Estamos falando sub-milésimo de segundo Ou sub-microssegundo Como as pessoas conseguem essas latências Codificação em FPGAs montagem Good-old código C Theres recentemente foi publicado um artigo interessante sobre ACM, fornecendo um monte de detalhes em tecnologia HFT de hoje, que é uma excelente leitura : QuotNo wirequot é um tipo de limite fuzzy. Leva tempo para um pacote de dados completo chegar, e alguns do processamento já pode ter começado antes de toda a mensagem foi 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 distorção. Ndash sh1 Jul 1 13 at 12:49 Im o CTO de uma pequena empresa que fabrica e vende sistemas baseados em FPGA HFT. Construindo nossos sistemas no topo do Motor de Onload do Aplicativo Solarflare (AOE) temos consistentemente entregando latência de um evento de mercado interessante no fio (feed de dados do mercado UDP 10Gb / S do ICE ou CME) para o primeiro byte da ordem resultante Mensagem atingindo o fio na faixa de 750 a 800 nanossegundos (sim, sub-microsegundo). Nós antecipamos que nossos próximos sistemas de versão estarão na faixa de 704 a 710 nanossegundos. Algumas pessoas alegaram um pouco menos, mas isso é em um ambiente de laboratório e não realmente sentado em um COLO em Chicago e limpar as ordens. Os comentários sobre a física ea velocidade da luz são válidos, mas não relevantes. Todo mundo que é sério sobre HFT tem seus servidores em um COLO na sala ao lado do servidor de trocas. Para entrar neste domínio sub-microssegundo você não pode fazer muito sobre a CPU do host, exceto os comandos de implementação de estratégia de alimentação para o FPGA, mesmo com tecnologias como bypass kernel você tem 1,5 microssegundos de sobrecarga inevitável. Então neste domínio tudo está jogando com FPGAs. Uma das outras respostas é muito honesta em dizer que neste mercado altamente secreto muito poucas pessoas falam sobre as ferramentas que utilizam ou o seu desempenho. Cada um de nossos clientes exige que nem sequer dizer a ninguém que eles usam nossas ferramentas nem revelar nada sobre como usá-los. Isso não só dificulta o marketing, mas também impede o bom fluxo de conhecimento técnico entre colegas. Devido a esta necessidade de entrar em sistemas exóticos para a parte veloz rápido do mercado você encontrará que os Quants (as pessoas que vêm com os algoritmos que fazemos ir rápido) estão dividindo seus algos em camadas de tempo de evento-a-resposta. No topo da pilha de tecnologia estão os sistemas de sub-microssegundo (como o nosso). A próxima camada são os sistemas C personalizados que fazem uso pesado do bypass do kernel e estão na faixa de 3-5 microsegundos. A camada seguinte são os povos que não podem ter recursos para ser em um fio 10Gb / S somente um lúpulo do router da troca, podem estar ainda em COLOs mas por causa de um jogo desagradável nós chamamos o roulette do porto theyre nas dúzias às centenas do domínio do microssegundo . Uma vez que você entrar em milissegundos seu HFT quase não mais. Respondeu 27 de fevereiro às 23:00 Brian, você pode querer saber, que o URL Linked-In felizmente não funciona. Ndash user3666197 Aug 14 14 at 22:28 Mercury-Minerva: o que você quer dizer com quotport roulettequot aqui ndash rahul. deshmukhpatil Aug 17 15 at 10:55 quotport roulettequot refere-se à atribuição de portos a 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ê recebe uma porta com boa latência ou não. Ndash David Arnold Nov 19 15 às 21:51 Bom artigo que descreve qual é o estado da HFT (em 2017) e dá algumas amostras de soluções de hardware que torna nanossegundos realizável: Wall Streets Need For Trading Speed: A idade Nanossegundos Com a corrida para A menor latência continua, alguns participantes do mercado estão falando mesmo sobre picosecondstrillionths de um segundo. EDIT: Como Nicholas gentilmente mencionado: O link menciona uma empresa, Fixnetix, que pode preparar um comércio em 740ns (ou seja, o tempo de um evento de entrada ocorre a uma ordem a ser enviada). O link menciona uma empresa, Fixnetix, que pode quotprepare um tradequot em 740ns (ou seja, o tempo de um evento de entrada ocorre a uma ordem a ser enviada). Ndash Nicholas Jul 1 13 at 12:34 Direito, este é ponto essencial. Eu vou editar a resposta e adicione isso, obrigado ndash sll Jul 1 13 at 12:43 Estes dias de um dígito tick-to-trade em microssegundos é a barra para as empresas competitivas HFT. Você deve ser capaz de fazer dígitos altos usando apenas software. Em seguida, lt5 usec com hardware adicional. Para o que vale, TIBCOs FTL produto de mensagens é sub-500 ns para dentro de uma máquina (memória compartilhada) e alguns micro segundos usando RDMA (Remote Direct Memory Access) dentro de um centro de dados. Depois disso, a física torna-se a parte principal da equação. Essa é a velocidade com que os dados podem ser obtidos do feed para o aplicativo que toma decisões. Pelo menos um sistema reivindicou o messaging do interthread 30ns, que é provavelmente um ponto de referência tweaked acima, assim que qualquer um que fala sobre números mais baixos está usando algum tipo da 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.

No comments:

Post a Comment