Latency In Trading Systems


Todo 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 estar 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. Um bom artigo que descreve o que é o estado de HFT (em 2011) e dá algumas amostras de soluções de hardware que torna nanossegundos realizável: Wall Streets Need For Trading Speed: A idade de nanosegundos Com a corrida para a latência mais baixa continuando, alguns participantes do mercado são mesmo Falando 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 para uma ordem sendo 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 decisions. You039d Melhor Conheça a 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 Para acelerar 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. Latência O tempo decorrido desde o momento em que um sinal é enviado para o 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 continuamente 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 HFT tentam estar tão perto dos servidores de troca quanto possível. Pinging Refere-se à tática de entrar em pequenas encomendas comercializáveis ​​geralmente para 100 ações, 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 no 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 procura combater alguns dos shaders HFT pratcices, identifica três atividades que constituem comércio predatório: Arbitragem de mercado lento ou arbitragem de latência, em que um comerciante de alta freqüência arbitra pequenas diferenças de preço 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) 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 nacional e oferta (NBBO) para todas as ações, mas devido ao grande volume de dados que 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 de sua opinião sobre o comércio de alta freqüência, familiarizar-se com estes termos HFT deve permitir-lhe melhorar a sua compreensão deste tópico controverso. Trading Floor Architecture Trading Floor Arquitetura Visão Geral Executivo Resumo Aumento da concorrência, maior volume de dados do mercado e novas exigências regulamentares são Algumas das forças motrizes por trás das mudanças na indústria. As empresas estão tentando manter sua vantagem competitiva, mudando constantemente suas estratégias de negociação e aumentando a velocidade de negociação. Uma arquitetura viável deve incluir as mais recentes tecnologias de domínios de rede e aplicativo. Tem que ser modular para fornecer um caminho gerenciável para evoluir cada componente com a interrupção mínima para o sistema global. Portanto, a arquitetura proposta neste artigo é baseada em uma estrutura de serviços. Examinamos serviços como mensagens de latência ultra baixa, monitoramento de latência, multicast, computação, armazenamento, virtualização de dados e aplicativos, resiliência comercial, mobilidade comercial e thin client. A solução para os requisitos complexos da plataforma de negociação de próxima geração deve ser construída com uma mentalidade holística, atravessando os limites de silos tradicionais como negócios e tecnologia ou aplicações e redes. Este documento tem como principal objetivo fornecer diretrizes para a construção de uma plataforma de negociação de latência ultra baixa, ao mesmo tempo em que otimiza o débito bruto ea taxa de mensagens para os dados de mercado e as ordens de negociação FIX. Para isso, propomos as seguintes tecnologias de redução de latência: Conectividade de alta velocidadeInfiniBand ou conectividade de 10 Gbps para o cluster de negociação Bus de mensagens de alta velocidade Aceleração de aplicativos via RDMA sem re-código de aplicação Monitoramento de latência em tempo real e re-direção de Negociando o tráfego para o caminho com latência mínima Tendências e Desafios do Setor As arquiteturas de negociação de última geração precisam responder a demandas crescentes de velocidade, volume e eficiência. Por exemplo, espera-se que o volume de dados de mercado de opções duplique após a introdução de opções de negociação de moeda de um centavo em 2007. Também há demandas regulatórias para melhor execução, que exigem atualizações de preços de manuseio a taxas que se aproximam de 1M msg / seg. Para trocas. Eles também exigem visibilidade sobre a frescura dos dados e prova de que o cliente tem a melhor execução possível. A curto prazo, a rapidez da negociação e da inovação são factores-chave de diferenciação. Um número crescente de negócios são tratados por aplicações de negociação algorítmicas colocadas o mais próximo possível do local de execução do comércio. Um desafio com estes motores de negociação de quotblack-boxquot é que eles combinam o aumento de volume através da emissão de ordens apenas para cancelá-los e reenviá-los. A causa desse comportamento é a falta de visibilidade em qual local oferece melhor execução. O comerciante humano é agora um engenheiro quotfinancial, quotquantquot (analista quantitativo) com habilidades de programação, que pode ajustar os modelos de negociação na mosca. As empresas desenvolvem novos instrumentos financeiros como os derivados do tempo ou transacções de classes de activos cruzados e precisam de implementar as novas aplicações de forma rápida e escalável. A longo prazo, a diferenciação competitiva deve vir da análise, não apenas do conhecimento. Os comerciantes estrela de amanhã assumir o risco, alcançar verdadeira visão do cliente e consistentemente bater o mercado (fonte IBM: www-935.ibm/services/us/imc/pdf/ge510-6270-trader. pdf). A resiliência do negócio tem sido uma das principais preocupações das empresas comerciais desde 11 de setembro de 2001. Soluções nesta área variam de data centers redundantes situados em diferentes geografias e conectados a múltiplos locais de negociação para soluções de comerciante virtual oferecendo aos comerciantes de energia a maior parte da funcionalidade de um pregão Em um local remoto. O setor de serviços financeiros é um dos mais exigentes em termos de requisitos de TI. A indústria está experimentando um deslocamento arquitetônico em direção à Arquitetura Orientada a Serviços (SOA), serviços da Web e virtualização de recursos de TI. O SOA aproveita o aumento da velocidade da rede para permitir a vinculação dinâmica ea virtualização de componentes de software. Isso permite a criação de novas aplicações sem perder o investimento em sistemas e infraestrutura existentes. O conceito tem o potencial de revolucionar a forma como a integração é feita, permitindo reduções significativas na complexidade e custo de tal integração (www. gigaspaces / download / MerrilLynchGigaSpacesWP. pdf). Outra tendência é a consolidação de servidores em farms de servidores de data center, enquanto as mesas de comerciantes têm apenas extensões KVM e clientes ultrafinos (por exemplo, soluções blade SunRay e HP). As redes de área metropolitana de alta velocidade permitem que os dados de mercado sejam multicast entre diferentes locais, permitindo a virtualização do pregão. Arquitetura de Alto Nível A Figura 1 descreve a arquitetura de alto nível de um ambiente de negociação. A fábrica de ticker e os motores de negociação algorítmica estão localizados no cluster de alto desempenho no data center da empresa ou na central. Os comerciantes humanos estão localizados na área de aplicações do usuário final. Funcionalmente, há dois componentes de aplicativo no ambiente de negócios corporativo, editores e assinantes. O barramento de mensagens fornece o caminho de comunicação entre editores e assinantes. Existem dois tipos de tráfego específicos para um ambiente de negociação: Market DataCarries informações de preços para instrumentos financeiros, notícias e outras informações de valor agregado, como analítica. Ele é unidirecional e muito sensível à latência, normalmente fornecido através de multicast UDP. Ele é medido em atualizações / seg. E em Mbps. Os dados de mercado fluem de um ou vários feeds externos, provenientes de fornecedores de dados de mercado, como bolsas de valores, agregadores de dados e ECNs. Cada provedor tem seu próprio formato de dados de mercado. Os dados são recebidos por manipuladores de alimentação, aplicações especializadas que normalizam e limpam os dados e, em seguida, enviá-lo para os consumidores de dados, como motores de precificação, aplicações de negociação algorítmica ou comerciantes humanos. As firmas de venda também enviam os dados de mercado para seus clientes, firmas de buy-side, como fundos mútuos, hedge funds e outros gestores de ativos. Algumas empresas de buy-side podem optar por receber feeds diretos de trocas, reduzindo latência. Figura 1 Arquitetura de negociação para uma empresa compradora / vendedora Não há um padrão da indústria para formatos de dados de mercado. Cada troca tem seu formato proprietário. Fornecedores de conteúdo financeiro como Reuters e Bloomberg agregam diferentes fontes de dados de mercado, normalizam-no e adicionam notícias ou análises. Exemplos de feeds consolidados são RDF (Feed de dados da Reuters), RWF (Reuters Wire Format) e Bloomberg Professional Services Data. Para fornecer dados de mercado de baixa latência, ambos os fornecedores liberaram feeds de dados de mercado em tempo real que são menos processados ​​e têm menos análise: Bloomberg B-PipeWith B-Pipe, Bloomberg desacopla seu feed de dados de mercado de sua plataforma de distribuição porque um terminal Bloomberg Não é necessário para obter B-Pipe. Wombat e Reuters Feed Handlers anunciaram suporte para B-Pipe. Uma empresa pode decidir receber feeds diretamente de uma troca para reduzir a latência. Os ganhos na velocidade de transmissão podem estar entre 150 milissegundos a 500 milissegundos. Estes feeds são mais complexos e mais caros ea empresa tem que construir e manter sua própria planta de ticker (www. financetech / featured / showArticle. jhtmlarticleID60404306). Ordens de Negociação Este tipo de tráfego transporta os negócios reais. É bidirecional e muito sensível à latência. É medido em mensagens / seg. E Mbps. As ordens provêm de um lado de compra ou vendem lado firme e são enviadas para locais de negociação como um Exchange ou ECN para execução. O formato mais comum para o transporte de pedidos é FIX (Financial Information eXchangewww. fixprotocol. org/). Os aplicativos que manipulam mensagens FIX são chamados de mecanismos FIX e eles interagem com sistemas de gerenciamento de pedidos (OMS). Uma otimização para FIX é chamada de FAST (Fix Adapted for Streaming), que usa um esquema de compressão para reduzir o comprimento da mensagem e, na verdade, reduzir a latência. O FAST está mais voltado para a entrega de dados de mercado e tem potencial para se tornar um padrão. O FAST também pode ser usado como um esquema de compressão para formatos de dados de mercado proprietários. Para reduzir a latência, as empresas podem optar por estabelecer o Direct Market Access (DMA). DMA é o processo automatizado de roteamento de uma ordem de títulos diretamente para um local de execução, evitando assim a intervenção de um terceiro (www. towergroup / research / content / glossary. jsppage1ampglossaryId383). O DMA requer uma conexão direta com o local de execução. O barramento de mensagens é software middleware de fornecedores como Tibco, 29West, Reuters RMDS, ou uma plataforma de código aberto, como o AMQP. O barramento de mensagens usa um mecanismo confiável para entregar mensagens. O transporte pode ser feito através de TCP / IP (TibcoEMS, 29West, RMDS e AMQP) ou UDP / multicast (TibcoRV, 29West e RMDS). Um conceito importante na distribuição de mensagens é o fluxo quototópico, que é um subconjunto de dados de mercado definidos por critérios como símbolo de ticker, indústria ou uma determinada cesta de instrumentos financeiros. Os assinantes ingressam em grupos de tópicos mapeados para um ou vários subtópicos, a fim de receber apenas as informações relevantes. No passado, todos os comerciantes receberam todos os dados do mercado. Nos volumes de tráfego atuais, isso seria sub-ótimo. A rede desempenha um papel crítico no ambiente de negociação. Dados de mercado são levados para o pregão onde os comerciantes humanos estão localizados através de uma rede de alta velocidade do Campus ou da área metropolitana. Alta disponibilidade e baixa latência, bem como alta taxa de transferência, são as métricas mais importantes. O ambiente de negociação de alto desempenho tem a maioria de seus componentes no farm de servidores do Data Center. Para minimizar latência, os motores de negociação algorítmica precisam estar localizados na proximidade dos manipuladores de alimentação, motores FIX e sistemas de gerenciamento de pedidos. Um modelo de implantação alternativo tem os sistemas de negociação algorítmicos localizados em uma central ou um provedor de serviços com conectividade rápida para várias centrais. Modelos de implantação Existem dois modelos de implantação para uma plataforma de negociação de alto desempenho. As empresas podem optar por ter uma mistura dos dois: Data Center da empresa de comércio (Figura 2) Este é o modelo tradicional, onde uma plataforma de negociação de pleno direito é desenvolvido e mantido pela empresa com links de comunicação para todos os locais de negociação. A latência varia com a velocidade das ligações eo número de saltos entre a empresa e os locais. Figura 2 Modelo tradicional de implantação Co-localização no local de negociação (trocas, provedores de serviços financeiros (FSP)) (Figura 3) A empresa comercializa sua plataforma de negociação automatizada o mais próximo possível dos locais de execução para minimizar latência. Figura 3 Arquitetura de Negociação Orientada a Serviços de Modelo de Implementação Hospedada Estamos propondo uma estrutura orientada a serviços para a construção da arquitetura de negociação de próxima geração. Essa abordagem fornece uma estrutura conceitual e um caminho de implementação baseado na modularização e minimização de interdependências. Este quadro fornece às empresas uma metodologia para: Avaliar o seu estado actual em termos de serviços Priorizar os serviços com base no seu valor para o negócio Evoluir a plataforma de negociação para o estado desejado usando uma abordagem modular A arquitetura de alto desempenho comercial depende dos seguintes serviços, Definido pela estrutura de arquitetura de serviços representada na Figura 4. Figura 4 Arquitetura de Arquitetura de Serviços para o Alto Desempenho Trading Serviço de Mensagens de Latência Ultra-Baixa Este serviço é fornecido pelo barramento de mensagens, que é um sistema de software que resolve o problema de conectar muitos - Muitas aplicações. O sistema consiste em: Um conjunto de esquemas de mensagens pré-definidos Um conjunto de mensagens de comandos comuns Uma infra-estrutura de aplicativo compartilhada para o envio das mensagens para os destinatários. A infra-estrutura compartilhada pode ser baseada em um broker de mensagens ou em um modelo de publicação / inscrição. (Por exemplo, menos de 100 microsegundos) Estabilidade sob carga pesada (por exemplo, mais de 1,4 milhões de msg / seg.) Controle e flexibilidade (controle de taxa e transportes configuráveis ) Há esforços na indústria para padronizar o barramento de mensagens. O Advanced Message Queuing Protocol (AMQP) é um exemplo de um padrão aberto defendido por J. P. Morgan Chase e apoiado por um grupo de fornecedores como Cisco, Envoy Technologies, Red Hat, TWIST Process Innovations, Iona, 29West e iMatix. Dois dos principais objetivos são fornecer um caminho mais simples para interoperabilidade para aplicações escritas em diferentes plataformas e modularidade para que o middleware possa ser facilmente evoluído. Em termos muito gerais, um servidor AMQP é análogo a um servidor de correio electrónico com cada intercâmbio actuando como um agente de transferência de mensagens e cada fila de mensagens como uma caixa de correio. As ligações definem as tabelas de roteamento em cada agente de transferência. Os editores enviam mensagens para agentes de transferência individuais, que encaminham as mensagens para caixas de correio. Os consumidores tomam mensagens de caixas de correio, o que cria um modelo poderoso e flexível que é simples (fonte: www. amqp. org/tikiwiki/tiki-indexpageOpenApproachWhyAMQP). Latency Monitoring Service Os requisitos principais para este serviço são: Sub-millisecond granularidade de medições Visibilidade em tempo quase-real sem adicionar latência ao tráfego de negociação Capacidade de diferenciar a latência de processamento de aplicativos de latência de trânsito de rede Capacidade de lidar com altas taxas de mensagem Fornecer uma interface programática para Permitindo assim que os motores de negociação algorítmicos se adaptem às condições de mudança Correlacionem eventos de rede com eventos de aplicação para fins de resolução de problemas A latência pode ser definida como o intervalo de tempo entre quando uma ordem comercial é enviada e quando a mesma ordem é reconhecida e atuada Pela parte receptora. Abordar o problema de latência é um problema complexo, exigindo uma abordagem holística que identifica todas as fontes de latência e aplica diferentes tecnologias em diferentes camadas do sistema. A Figura 5 ilustra a variedade de componentes que podem introduzir latência em cada camada da pilha OSI. Ele também mapeia cada fonte de latência com uma solução possível e uma solução de monitoramento. Esta abordagem em camadas pode dar às empresas uma forma mais estruturada de atacar o problema de latência, pelo que cada componente pode ser pensado como um serviço e tratado de forma consistente em toda a empresa. Manter uma medida precisa do estado dinâmico desse intervalo de tempo em rotas alternativas e destinos pode ser de grande ajuda nas decisões de negociação táticas. A capacidade de identificar a localização exata dos atrasos, seja na rede de borda de clientes, no hub de processamento central ou no nível de aplicação de transação, determina significativamente a capacidade dos provedores de serviços de atender a seus acordos de nível de serviço de negociação (SLAs). Para os formulários buy-side e sell-side, bem como para os distribuidores de dados de mercado, a rápida identificação e remoção de estrangulamentos se traduz diretamente em oportunidades de comércio aprimorado e receita. Figura 5 Arquitetura de Gerenciamento de Latência Ferramentas de Monitoramento de Baixa Latência da Cisco As ferramentas de monitoramento de rede tradicionais operam com granularidade de minutos ou segundos. As plataformas de negociação da próxima geração, especialmente aquelas que suportam negociação algorítmica, exigem latências inferiores a 5 ms e níveis extremamente baixos de perda de pacotes. Em uma LAN Gigabit, um microburst de 100 ms pode causar 10.000 transações a serem perdidas ou excessivamente atrasadas. A Cisco oferece aos seus clientes uma variedade de ferramentas para medir a latência em um ambiente de negociação: Gerente de Qualidade de Largura de Banda (BQM) (OEM de Corvil) Gerente de Qualidade de Largura de Banda Gerencial de Banda Larga (BQM) 4.0 Um produto de gerenciamento de desempenho de aplicativos de rede de próxima geração que permite aos clientes monitorar e provisionar sua rede para níveis controlados de latência e desempenho de perda. Enquanto a BQM não é exclusivamente direcionada para redes comerciais, sua visibilidade de microssegundos combinada com recursos de provisionamento inteligente de largura de banda o tornam ideal para esses ambientes exigentes. O Cisco BQM 4.0 implementa um amplo conjunto de tecnologias de medição de tráfego e de análise de tráfego patenteadas e patenteadas que oferecem ao usuário visibilidade e compreensão sem precedentes de como otimizar a rede para o máximo desempenho da aplicação. O Cisco BQM é agora suportado na família de produtos do Cisco Application Deployment Engine (ADE). A família de produtos ADE da Cisco é a plataforma preferida para aplicações de gerenciamento de rede da Cisco. BQM Benefícios A micro-visibilidade Cisco BQM é a capacidade de detectar, medir e analisar latência, jitter e perda induzindo eventos de tráfego até níveis de microsegundo de granularidade com resolução por pacote. Isso permite que o Cisco BQM detecte e determine o impacto de eventos de tráfego na latência, jitter e perda da rede. Crítico para ambientes comerciais é que o BQM pode suportar medições de latência, perda e jitter de sentido único para tráfego TCP e UDP (multicast). Isso significa que relatórios de forma transparente para o tráfego comercial e feeds de dados do mercado. O BQM permite ao usuário especificar um conjunto abrangente de limiares (contra atividade de microburst, latência, perda, jitter, utilização, etc.) em todas as interfaces. O BQM então opera uma captura de pacotes de rolamento de fundo. Sempre que ocorre uma violação de limite ou outro evento de degradação de desempenho potencial, aciona o Cisco BQM para armazenar a captura de pacotes no disco para análise posterior. Isso permite que o usuário examine detalhadamente tanto o tráfego de aplicativos que foi afetado pela degradação de desempenho (quotedhe vítimas) quanto o tráfego que causou a degradação de desempenho (quotthe culpritsquot). Isso pode reduzir significativamente o tempo gasto diagnosticando e resolvendo problemas de desempenho da rede. BQM is also able to provide detailed bandwidth and quality of service (QoS) policy provisioning recommendations, which the user can directly apply to achieve desired network performance. BQM Measurements Illustrated To understand the difference between some of the more conventional measurement techniques and the visibility provided by BQM, we can look at some comparison graphs. In the first set of graphs (Figure 6 and Figure 7 ), we see the difference between the latency measured by BQMs Passive Network Quality Monitor (PNQM) and the latency measured by injecting ping packets every 1 second into the traffic stream. In Figure 6. we see the latency reported by 1-second ICMP ping packets for real network traffic (it is divided by 2 to give an estimate for the one-way delay). It shows the delay comfortably below about 5ms for almost all of the time. Figure 6 Latency Reported by 1-Second ICMP Ping Packets for Real Network Traffic In Figure 7. we see the latency reported by PNQM for the same traffic at the same time. Here we see that by measuring the one-way latency of the actual application packets, we get a radically different picture. Here the latency is seen to be hovering around 20 ms, with occasional bursts far higher. The explanation is that because ping is sending packets only every second, it is completely missing most of the application traffic latency. In fact, ping results typically only indicate round trip propagation delay rather than realistic application latency across the network. Figure 7 Latency Reported by PNQM for Real Network Traffic In the second example (Figure 8 ), we see the difference in reported link load or saturation levels between a 5-minute average view and a 5 ms microburst view (BQM can report on microbursts down to about 10-100 nanosecond accuracy). The green line shows the average utilization at 5-minute averages to be low, maybe up to 5 Mbits/s. The dark blue plot shows the 5ms microburst activity reaching between 75 Mbits/s and 100 Mbits/s, the LAN speed effectively. BQM shows this level of granularity for all applications and it also gives clear provisioning rules to enable the user to control or neutralize these microbursts. Figure 8 Difference in Reported Link Load Between a 5-Minute Average View and a 5 ms Microburst View BQM Deployment in the Trading Network Figure 9 shows a typical BQM deployment in a trading network. Figure 9 Typical BQM Deployment in a Trading Network BQM can then be used to answer these types of questions: Are any of my Gigabit LAN core links saturated for more than X milliseconds Is this causing loss Which links would most benefit from an upgrade to Etherchannel or 10 Gigabit speeds What application traffic is causing the saturation of my 1 Gigabit links Is any of the market data experiencing end-to-end loss How much additional latency does the failover data center experience Is this link sized correctly to deal with microbursts Are my traders getting low latency updates from the market data distribution layer Are they seeing any delays greater than X milliseconds Being able to answer these questions simply and effectively saves time and money in running the trading network. BQM is an essential tool for gaining visibility in market data and trading environments. It provides granular end-to-end latency measurements in complex infrastructures that experience high-volume data movement. Effectively detecting microbursts in sub-millisecond levels and receiving expert analysis on a particular event is invaluable to trading floor architects. Smart bandwidth provisioning recommendations, such as sizing and what-if analysis, provide greater agility to respond to volatile market conditions. As the explosion of algorithmic trading and increasing message rates continues, BQM, combined with its QoS tool, provides the capability of implementing QoS policies that can protect critical trading applications. Cisco Financial Services Latency Monitoring Solution Cisco and Trading Metrics have collaborated on latency monitoring solutions for FIX order flow and market data monitoring. Cisco AON technology is the foundation for a new class of network-embedded products and solutions that help merge intelligent networks with application infrastructure, based on either service-oriented or traditional architectures. Trading Metrics is a leading provider of analytics software for network infrastructure and application latency monitoring purposes (www. tradingmetrics/ ). The Cisco AON Financial Services Latency Monitoring Solution (FSMS) correlated two kinds of events at the point of observation: Network events correlated directly with coincident application message handling Trade order flow and matching market update events Using time stamps asserted at the point of capture in the network, real-time analysis of these correlated data streams permits precise identification of bottlenecks across the infrastructure while a trade is being executed or market data is being distributed. By monitoring and measuring latency early in the cycle, financial companies can make better decisions about which network serviceand which intermediary, market, or counterpartyto select for routing trade orders. Likewise, this knowledge allows more streamlined access to updated market data (stock quotes, economic news, etc.), which is an important basis for initiating, withdrawing from, or pursuing market opportunities. The components of the solution are: AON hardware in three form factors: AON Network Module for Cisco 2600/2800/3700/3800 routers AON Blade for the Cisco Catalyst 6500 series AON 8340 Appliance Trading Metrics MampA 2.0 software, which provides the monitoring and alerting application, displays latency graphs on a dashboard, and issues alerts when slowdowns occur (www. tradingmetrics/TMbrochure. pdf ). Figure 10 AON-Based FIX Latency Monitoring Cisco IP SLA Cisco IP SLA is an embedded network management tool in Cisco IOS which allows routers and switches to generate synthetic traffic streams which can be measured for latency, jitter, packet loss, and other criteria (www. cisco/go/ipsla ). Two key concepts are the source of the generated traffic and the target. Both of these run an IP SLA quotresponder, quot which has the responsibility to timestamp the control traffic before it is sourced and returned by the target (for a round trip measurement). Various traffic types can be sourced within IP SLA and they are aimed at different metrics and target different services and applications. The UDP jitter operation is used to measure one-way and round-trip delay and report variations. As the traffic is time stamped on both sending and target devices using the responder capability, the round trip delay is characterized as the delta between the two timestamps. A new feature was introduced in IOS 12.3(14)T, IP SLA Sub Millisecond Reporting, which allows for timestamps to be displayed with a resolution in microseconds, thus providing a level of granularity not previously available. This new feature has now made IP SLA relevant to campus networks where network latency is typically in the range of 300-800 microseconds and the ability to detect trends and spikes (brief trends) based on microsecond granularity counters is a requirement for customers engaged in time-sensitive electronic trading environments. As a result, IP SLA is now being considered by significant numbers of financial organizations as they are all faced with requirements to: Report baseline latency to their users Trend baseline latency over time Respond quickly to traffic bursts that cause changes in the reported latency Sub-millisecond reporting is necessary for these customers, since many campus and backbones are currently delivering under a second of latency across several switch hops. Electronic trading environments have generally worked to eliminate or minimize all areas of device and network latency to deliver rapid order fulfillment to the business. Reporting that network response times are quotjust under one millisecondquot is no longer sufficient the granularity of latency measurements reported across a network segment or backbone need to be closer to 300-800 micro-seconds with a degree of resolution of 100 igrave seconds. IP SLA recently added support for IP multicast test streams, which can measure market data latency. A typical network topology is shown in Figure 11 with the IP SLA shadow routers, sources, and responders. Figure 11 IP SLA Deployment Computing Services Computing services cover a wide range of technologies with the goal of eliminating memory and CPU bottlenecks created by the processing of network packets. Trading applications consume high volumes of market data and the servers have to dedicate resources to processing network traffic instead of application processing. Transport processingAt high speeds, network packet processing can consume a significant amount of server CPU cycles and memory. An established rule of thumb states that 1Gbps of network bandwidth requires 1 GHz of processor capacity (source Intel white paper on I/O acceleration www. intel/technology/ioacceleration/306517.pdf ). Intermediate buffer copyingIn a conventional network stack implementation, data needs to be copied by the CPU between network buffers and application buffers. This overhead is worsened by the fact that memory speeds have not kept up with increases in CPU speeds. For example, processors like the Intel Xeon are approaching 4 GHz, while RAM chips hover around 400MHz (for DDR 3200 memory) (source Intel www. intel/technology/ioacceleration/306517.pdf ). Context switchingEvery time an individual packet needs to be processed, the CPU performs a context switch from application context to network traffic context. This overhead could be reduced if the switch would occur only when the whole application buffer is complete. Figure 12 Sources of Overhead in Data Center Servers TCP Offload Engine (TOE)Offloads transport processor cycles to the NIC. Moves TCP/IP protocol stack buffer copies from system memory to NIC memory. Remote Direct Memory Access (RDMA)Enables a network adapter to transfer data directly from application to application without involving the operating system. Eliminates intermediate and application buffer copies (memory bandwidth consumption). Kernel bypass Direct user-level access to hardware. Dramatically reduces application context switches. Figure 13 RDMA and Kernel Bypass InfiniBand is a point-to-point (switched fabric) bidirectional serial communication link which implements RDMA, among other features. Cisco offers an InfiniBand switch, the Server Fabric Switch (SFS): www. cisco/application/pdf/en/us/guest/netsol/ns500/c643/cdccont0900aecd804c35cb. pdf. Figure 14 Typical SFS Deployment Trading applications benefit from the reduction in latency and latency variability, as proved by a test performed with the Cisco SFS and Wombat Feed Handlers by Stac Research: Application Virtualization Service De-coupling the application from the underlying OS and server hardware enables them to run as network services. One application can be run in parallel on multiple servers, or multiple applications can be run on the same server, as the best resource allocation dictates. This decoupling enables better load balancing and disaster recovery for business continuance strategies. The process of re-allocating computing resources to an application is dynamic. Using an application virtualization system like Data Synapses GridServer, applications can migrate, using pre-configured policies, to under-utilized servers in a supply-matches-demand process (wwwworkworld/supp/2005/ndc1/022105virtualpage2 ). There are many business advantages for financial firms who adopt application virtualization: Faster time to market for new products and services Faster integration of firms following merger and acquisition activity Increased application availability Better workload distribution, which creates more quothead roomquot for processing spikes in trading volume Operational efficiency and control Reduction in IT complexity Currently, application virtualization is not used in the trading front-office. One use-case is risk modeling, like Monte Carlo simulations. As the technology evolves, it is conceivable that some the trading platforms will adopt it. Data Virtualization Service To effectively share resources across distributed enterprise applications, firms must be able to leverage data across multiple sources in real-time while ensuring data integrity. With solutions from data virtualization software vendors such as Gemstone or Tangosol (now Oracle), financial firms can access heterogeneous sources of data as a single system image that enables connectivity between business processes and unrestrained application access to distributed caching. The net result is that all users have instant access to these data resources across a distributed network (www. gridtoday/03/0210/101061 ). This is called a data grid and is the first step in the process of creating what Gartner calls Extreme Transaction Processing (XTP) (www. gartner/DisplayDocumentrefgsearchampid500947 ). Technologies such as data and applications virtualization enable financial firms to perform real-time complex analytics, event-driven applications, and dynamic resource allocation. One example of data virtualization in action is a global order book application. An order book is the repository of active orders that is published by the exchange or other market makers. A global order book aggregates orders from around the world from markets that operate independently. The biggest challenge for the application is scalability over WAN connectivity because it has to maintain state. Todays data grids are localized in data centers connected by Metro Area Networks (MAN). This is mainly because the applications themselves have limitsthey have been developed without the WAN in mind. Figure 15 GemStone GemFire Distributed Caching Before data virtualization, applications used database clustering for failover and scalability. This solution is limited by the performance of the underlying database. Failover is slower because the data is committed to disc. With data grids, the data which is part of the active state is cached in memory, which reduces drastically the failover time. Scaling the data grid means just adding more distributed resources, providing a more deterministic performance compared to a database cluster. Multicast Service Market data delivery is a perfect example of an application that needs to deliver the same data stream to hundreds and potentially thousands of end users. Market data services have been implemented with TCP or UDP broadcast as the network layer, but those implementations have limited scalability. Using TCP requires a separate socket and sliding window on the server for each recipient. UDP broadcast requires a separate copy of the stream for each destination subnet. Both of these methods exhaust the resources of the servers and the network. The server side must transmit and service each of the streams individually, which requires larger and larger server farms. On the network side, the required bandwidth for the application increases in a linear fashion. For example, to send a 1 Mbps stream to 1000recipients using TCP requires 1 Gbps of bandwidth. IP multicast is the only way to scale market data delivery. To deliver a 1 Mbps stream to 1000 recipients, IP multicast would require 1 Mbps. The stream can be delivered by as few as two serversone primary and one backup for redundancy. There are two main phases of market data delivery to the end user. In the first phase, the data stream must be brought from the exchange into the brokerages network. Typically the feeds are terminated in a data center on the customer premise. The feeds are then processed by a feed handler, which may normalize the data stream into a common format and then republish into the application messaging servers in the data center. The second phase involves injecting the data stream into the application messaging bus which feeds the core infrastructure of the trading applications. The large brokerage houses have thousands of applications that use the market data streams for various purposes, such as live trades, long term trending, arbitrage, etc. Many of these applications listen to the feeds and then republish their own analytical and derivative information. For example, a brokerage may compare the prices of CSCO to the option prices of CSCO on another exchange and then publish ratings which a different application may monitor to determine how much they are out of synchronization. Figure 16 Market Data Distribution Players The delivery of these data streams is typically over a reliable multicast transport protocol, traditionally Tibco Rendezvous. Tibco RV operates in a publish and subscribe environment. Each financial instrument is given a subject name, such as CSCO. last. Each application server can request the individual instruments of interest by their subject name and receive just a that subset of the information. This is called subject-based forwarding or filtering. Subject-based filtering is patented by Tibco. A distinction should be made between the first and second phases of market data delivery. The delivery of market data from the exchange to the brokerage is mostly a one-to-many application. The only exception to the unidirectional nature of market data may be retransmission requests, which are usually sent using unicast. The trading applications, however, are definitely many-to-many applications and may interact with the exchanges to place orders. Figure 17 Market Data Architecture Design Issues Number of Groups/Channels to Use Many application developers consider using thousand of multicast groups to give them the ability to divide up products or instruments into small buckets. Normally these applications send many small messages as part of their information bus. Usually several messages are sent in each packet that are received by many users. Sending fewer messages in each packet increases the overhead necessary for each message. In the extreme case, sending only one message in each packet quickly reaches the point of diminishing returnsthere is more overhead sent than actual data. Application developers must find a reasonable compromise between the number of groups and breaking up their products into logical buckets. Consider, for example, the Nasdaq Quotation Dissemination Service (NQDS). The instruments are broken up alphabetically: This approach allows for straight forward network/application management, but does not necessarily allow for optimized bandwidth utilization for most users. A user of NQDS that is interested in technology stocks, and would like to subscribe to just CSCO and INTL, would have to pull down all the data for the first two groups of NQDS. Understanding the way users pull down the data and then organize it into appropriate logical groups optimizes the bandwidth for each user. In many market data applications, optimizing the data organization would be of limited value. Typically customers bring in all data into a few machines and filter the instruments. Using more groups is just more overhead for the stack and does not help the customers conserve bandwidth. Another approach might be to keep the groups down to a minimum level and use UDP port numbers to further differentiate if necessary. The other extreme would be to use just one multicast group for the entire application and then have the end user filter the data. In some situations this may be sufficient. Intermittent Sources A common issue with market data applications are servers that send data to a multicast group and then go silent for more than 3.5 minutes. These intermittent sources may cause trashing of state on the network and can introduce packet loss during the window of time when soft state and then hardware shorts are being created. PIM-Bidir or PIM-SSM The first and best solution for intermittent sources is to use PIM-Bidir for many-to-many applications and PIM-SSM for one-to-many applications. Both of these optimizations of the PIM protocol do not have any data-driven events in creating forwarding state. That means that as long as the receivers are subscribed to the streams, the network has the forwarding state created in the hardware switching path. Intermittent sources are not an issue with PIM-Bidir and PIM-SSM. Null Packets In PIM-SM environments a common method to make sure forwarding state is created is to send a burst of null packets to the multicast group before the actual data stream. The application must efficiently ignore these null data packets to ensure it does not affect performance. The sources must only send the burst of packets if they have been silent for more than 3 minutes. A good practice is to send the burst if the source is silent for more than a minute. Many financials send out an initial burst of traffic in the morning and then all well-behaved sources do not have problems. Periodic Keepalives or Heartbeats An alternative approach for PIM-SM environments is for sources to send periodic heartbeat messages to the multicast groups. This is a similar approach to the null packets, but the packets can be sent on a regular timer so that the forwarding state never expires. S, G Expiry Timer Finally, Cisco has made a modification to the operation of the S, G expiry timer in IOS. There is now a CLI knob to allow the state for a S, G to stay alive for hours without any traffic being sent. The (S, G) expiry timer is configurable. This approach should be considered a workaround until PIM-Bidir or PIM-SSM is deployed or the application is fixed. RTCP Feedback A common issue with real time voice and video applications that use RTP is the use of RTCP feedback traffic. Unnecessary use of the feedback option can create excessive multicast state in the network. If the RTCP traffic is not required by the application it should be avoided. Fast Producers and Slow Consumers Today many servers providing market data are attached at Gigabit speeds, while the receivers are attached at different speeds, usually 100Mbps. This creates the potential for receivers to drop packets and request re-transmissions, which creates more traffic that the slowest consumers cannot handle, continuing the vicious circle. The solution needs to be some type of access control in the application that limits the amount of data that one host can request. QoS and other network functions can mitigate the problem, but ultimately the subscriptions need to be managed in the application. Tibco Heartbeats TibcoRV has had the ability to use IP multicast for the heartbeat between the TICs for many years. However, there are some brokerage houses that are still using very old versions of TibcoRV that use UDP broadcast support for the resiliency. Esta limitação é frequentemente citada como uma razão para manter uma infra-estrutura de camada 2 entre TICs localizados em diferentes centros de dados. These older versions of TibcoRV should be phased out in favor of the IP multicast supported versions. Multicast Forwarding Options PIM Sparse Mode The standard IP multicast forwarding protocol used today for market data delivery is PIM Sparse Mode. It is supported on all Cisco routers and switches and is well understood. PIM-SM can be used in all the network components from the exchange, FSP, and brokerage. There are, however, some long-standing issues and unnecessary complexity associated with a PIM-SM deployment that could be avoided by using PIM-Bidir and PIM-SSM. These are covered in the next sections. The main components of the PIM-SM implementation are: PIM Sparse Mode v2 Shared Tree (spt-threshold infinity) A design option in the brokerage or in the exchange.

Comments

Popular Posts