Monday 3 July 2017

Algorithmic Trading System Architecture


O AlgoTrader permite que as empresas comerciais automatiquem estratégias de negociação complexas e quantitativas em divisas, opções, futuros, ações, ETFs e mercados de commodities. Ao contrário de outras plataformas de negociação algorítmicas, possui uma arquitetura robusta e de código aberto, permitindo a personalização para necessidades específicas do cliente. AlgoTrader é a borda bancos de investimento sofisticados, fundos de hedge e comerciantes proprietários foram esperando. Automatizado Qualquer estratégia de negociação quantitativa pode ser totalmente automatizada. Rápido Os altos volumes de dados de mercado são automaticamente processados, analisados ​​e agidos em alta velocidade. A arquitetura Open-source personalizável pode ser personalizada para requisitos específicos do usuário. Custo-Eficaz O comércio totalmente automatizado e os recursos internos reduzem o custo. Confiável Construído sobre a arquitetura mais robusta e tecnologia de ponta. Totalmente suportado Orientação abrangente disponível para instalação e personalização. Onsite e treinamento remoto e consultoria disponíveis. AlgoTrader Como funciona Qualquer estratégia de negociação baseada em regras pode ser totalmente automatizada: os dados do mercado eletrônico chegam. Os dados são encaminhados para as estratégias de negociação em execução no AlgoTrader. As estratégias de negociação analisam, filtram e processam dados de mercado e criam sinais comerciais. Com base em sinais comerciais, as ações são executadas (por exemplo, colocando uma ordem ou fechando uma posição). As encomendas são enviadas para os respectivos mercados. O AlgoTrader 3.1 integra o InfluxDB Jan-20-2017 O AlgoTrader integra o InfluxDB para armazenamento de dados históricos e de mercado em tempo real e de forma dinâmica. dados. Com InfluxDB bilhões de carrapatos podem ser armazenados e usados ​​para back testing. Apresentando o AlgoTrader 3.0 8211 O AlgoTrader mais poderoso ainda Apr-07-2016 AlgoTrader 3.0 foi lançado. Esta versão inclui o novo HTML5 Frontend, implantação de um clique com Docker, três novos Algoritmos de Execução e um relatório de teste baseado em Excel. Apresentação da instalação do AlgoTrader One-Click por Docker Mar-15-2016 O AlgoTrader 3.0 apresenta as instalações da estratégia de negociação com um clique Docker Clientrsquos Testemunhos A Vontobel aprecia a arquitetura aberta e extensível do AlgoTrader, bem como o uso de componentes de código aberto normalmente usados ​​como Esper e Spring. Benjamin Huber, Chefe de Algo Trading 038 Smart Order Routing, Banco Vontobel AG, Zrich Estamos muito impressionados com as capacidades do AlgoTrader8217s em termos de desenvolvimento de estratégia e flexibilidade técnica. O AlgoTrader é a tecnologia-chave que nos permite negociar em paralelo várias estratégias de VIX Future e Option. Raimond Schuster, Membro da Diretoria Executiva, ISP Securities AG, Termos de Licença da Zrich AlgoTrader OS TERMOS E CONDIÇÕES DESTE CONTRATO DE LICENÇA DE USUÁRIO FINAL (8220AGREEMENT8221) GOVERNAM SEU USO DO SOFTWARE A MENOS QUE VOCÊ E O LICENCIANTE EXECUTAM UM CONTRATO DE LICENÇA ESCRITA SEPARADA USO DO SOFTWARE. O Licenciante está disposto a licenciar o Software para você somente sob a condição de que você aceite todos os termos contidos neste Contrato. Ao assinar este Contrato ou ao fazer o download, instalação ou uso do Software, você indicou que compreendeu este Contrato e aceitou todos os seus termos. Se você não aceitar todos os termos deste Contrato, o Licenciador não estará disposto a licenciar o Software para você, e você não poderá fazer o download, instalar ou usar o Software. 1. CONCESSÃO DE LICENÇA a. Avaliação Uso e Desenvolvimento Uso de Licença. Sujeito ao seu cumprimento dos termos e condições deste Contrato, o Licenciante concede a você uma licença pessoal, não exclusiva, intransferível, sem o direito de sublicenciar, pelo prazo deste Contrato, a usar internamente o Software somente para Avaliação Uso e Desenvolvimento Uso. Produtos de software de terceiros ou módulos fornecidos pelo Licenciador, se houver, podem ser usados ​​exclusivamente com o Software e podem estar sujeitos à sua aceitação dos termos e condições fornecidos por tais terceiros. Quando a licença termina você deve parar de usar o Software e desinstalar todas as instâncias. Todos os direitos não especificamente concedidos a você aqui são retidos pelo Licenciador. O Desenvolvedor não deverá fazer uso comercial do Software, ou de qualquer trabalho derivado dele (inclusive para fins internos de negócios do Desenvolvedor). É proibido copiar e redistribuir, de qualquer forma, o Software ou o Aplicativo do Desenvolvedor para seus clientes diretos ou indiretos. B. Licença de Uso de Produção. Sujeito ao seu cumprimento dos termos e condições deste Contrato, incluindo o pagamento da taxa de licença aplicável, o Licenciante concede a você uma licença não exclusiva e intransferível, sem o direito de sublicenciar, pelo prazo deste Contrato, para : (A) utilizar e reproduzir o Software exclusivamente para fins comerciais internos (8220Production Use8221) e (b) fazer um número razoável de cópias do Software unicamente para fins de backup. Essa licença é limitada ao número específico de CPUs (se licenciado por CPU) ou instâncias de Java Virtual Machines (se licenças por máquina virtual) para as quais você pagou uma taxa de licença. O uso do Software em um número maior de CPUs ou instâncias de Java Virtual Machines exigirá o pagamento de uma taxa de licença adicional. Produtos de software de terceiros ou módulos fornecidos pelo Licenciador, se houver, podem ser usados ​​exclusivamente com o Software. C. Não há outros direitos. Seus direitos sobre e para fazer uso do Software são limitados aos expressamente concedidos nesta Seção 1. Você não fará nenhum outro uso do Software. Exceto se expressamente licenciado nesta Seção, o Licenciador não lhe concede outros direitos ou licenças, por implicação, preclusão ou de outra forma. TODOS OS DIREITOS NÃO EXPRESSAMENTE CONCEDIDOS AQUI ESTÃO RESERVADOS PELO LICENCIANTE OU SEUS FORNECEDORES. 2. RESTRIÇÕES Salvo disposição expressa na Seção 1, você não irá: (a) modificar, traduzir, desmontar, criar trabalhos derivados do Software ou copiar o Software; (b) alugar, emprestar, transferir, distribuir ou conceder quaisquer direitos no Software de qualquer forma para qualquer pessoa (c) fornecer, divulgar, divulgar ou disponibilizar, ou permitir o uso do Software, por qualquer terceiro (d) publicar qualquer teste de desempenho ou benchmark executado no Software ou qualquer parte dele ou ( E) remover quaisquer avisos de propriedade, rótulos ou marcações no Software. Você não distribuirá o Software a qualquer pessoa de forma autônoma ou em uma base de fabricante de equipamento original (OEM). 3. PROPRIEDADE Como entre as partes, o Software é e continuará a ser propriedade exclusiva e exclusiva do Licenciante, incluindo todos os direitos de propriedade intelectual no mesmo. uma. Caso você use o Software sob a licença estabelecida na Seção 1 (a), este Contrato permanecerá em vigor durante o período de avaliação ou desenvolvimento. B. Se você usar o Software sob a licença estabelecida na Seção 1 (b), este Contrato permanecerá em vigor (a) por um período de um ano se adquirido como uma licença anual de subscrição ou (b) perpetuamente se adquirido como um licença perpétua. Uma licença de assinatura anual será renovada automaticamente por um ano, a menos que seja rescindido com um mês de antecedência. Este Contrato será automaticamente rescindido sem aviso prévio se você violar qualquer termo deste Contrato. Após a rescisão, você deve imediatamente deixar de usar o Software e destruir todas as cópias do Software em sua posse ou controle. 5. SERVIÇOS DE SUPORTE Se você adquiriu esta licença, incluindo Serviços de Suporte, inclui atualizações de manutenção (atualizações e atualizações), suporte por telefone e suporte por e-mail ou pela Web. uma. O Licenciador fará esforços comercialmente razoáveis ​​para fornecer uma Atualização projetada para resolver ou contornar um Erro relatado. Se tal Erro tiver sido corrigido em uma Versão de Manutenção, o Licenciado deverá instalar e implementar a Atualização de Manutenção aplicável, caso contrário, a Atualização poderá ser fornecida sob a forma de uma correção, procedimento ou rotina temporária. está disponível. B. Durante o Prazo do Contrato de Licença, o Licenciador disponibilizará as Versões de Manutenção ao Licenciado se, como e quando o Licenciador disponibilizar tais Releases de Manutenção, de forma geral, aos seus clientes. Se surgir a questão de saber se uma oferta de produto é uma Upgrade ou um novo produto ou recurso, a opinião do Licenciador prevalecerá, desde que o Licenciador considere a oferta do produto como um novo produto ou recurso para seus clientes de usuários finais em geral. C. A obrigação do Licenciador82 de fornecer Serviços de Suporte está condicionada ao seguinte: (a) O Licenciado faz esforços razoáveis ​​para corrigir o Erro após consultar o Licenciante (b) O Licenciado fornece ao Licenciante informações e recursos suficientes para corrigir o Erro no site do Licenciador (C) o Licenciado instala prontamente todas as Versões de Manutenção e (d) o Licenciado obtém, instala e mantém todo o equipamento, a comunicação ou o acesso ao pessoal, hardware e qualquer software adicional envolvido na descoberta Interfaces e outro hardware necessário para operar o Produto. D. O Licenciante não está obrigado a fornecer Serviços de Suporte nas seguintes situações: (a) o Produto foi alterado, modificado ou danificado (exceto se sob a supervisão direta do Licenciador); (b) o Erro é causado por negligência do Licenciado, Ou outras causas além do controle razoável do Licenciador (c) o Erro for causado por software de terceiros não licenciado através do Licenciador (d) O Licenciado não instalou e implementou a (s) Versão (ões) de Manutenção para que o Produto seja uma versão suportada pelo Licenciador ou (e) O Licenciado não pagou as taxas da Licença ou as taxas dos Serviços de Suporte quando vencido. Além disso, o Licenciador não é obrigado a fornecer Serviços de Suporte para código de software escrito pelo próprio cliente com base no Produto. E. O Licenciador reserva-se o direito de descontinuar os Serviços de Suporte caso o Licenciante, a seu exclusivo critério, determine que o suporte continuado para qualquer Produto deixa de ser economicamente viável. O Licenciador dará ao Licenciado pelo menos três (3) meses de antecedência uma notificação por escrito de qualquer descontinuidade dos Serviços de Suporte e reembolsará quaisquer taxas de serviços de suporte não acumuladas que o Licenciado possa ter pré-pago com relação ao Produto afetado. O Licenciador não tem nenhuma obrigação de suportar ou manter qualquer versão do Produto ou plataformas de terceiros subjacentes (incluindo mas não limitado a software, JVM, sistema operacional ou hardware) para o qual o Produto é suportado exceto (i) a versão então atual do Produto e plataforma de terceiros subjacente, e (ii) as duas versões imediatamente anteriores do Produto e sistema operacional por um período de seis (6) meses após a primeira substituição. O Licenciador reserva-se o direito de suspender a execução dos Serviços de Suporte se o Licenciado deixar de pagar qualquer quantia que seja paga ao Licenciador nos termos do Contrato no prazo de 30 (trinta) dias após a data de vencimento. 6. GARANTIA a. O Licenciador garante que o Software será capaz de executar em todos os aspectos materiais de acordo com as especificações funcionais estabelecidas na documentação aplicável por um período de 90 dias após a data de instalação do Software. Em caso de violação desta garantia, o Licenciante deverá, a seu critério, corrigir o Software ou substituí-lo gratuitamente. Estes são os seus únicos e exclusivos remédios ea única responsabilidade do Licenciador é a violação destas garantias. As garantias estabelecidas acima são feitas apenas para o benefício de você. As garantias serão aplicadas somente se (a) o Software tiver sido devidamente instalado e usado em todos os momentos e de acordo com as instruções de uso (c) as atualizações mais recentes tiverem sido aplicadas ao software e (c) nenhuma modificação, alteração ou adição Tenha sido feita ao Software por pessoas que não sejam o Licenciador ou o representante autorizado do Licenciado. 7. ISENÇÃO DE RESPONSABILIDADE EXCETO COMO PODE SER FORNECIDO NA SEÇÃO 6 (a), O LICENCIANTE EXPRESSAMENTE SE ISENTA DE TODAS AS GARANTIAS, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUAISQUER GARANTIAS IMPLÍCITAS DE COMERCIABILIDADE, ADEQUAÇÃO A UM FIM ESPECÍFICO E NÃO VIOLAÇÃO E QUAISQUER GARANTIAS DECORRENTES DE NEGOCIAÇÃO OU USO DO COMÉRCIO. NENHUM AVISO OU INFORMAÇÃO, SEJA ORAL OU ESCRITO, OBTIDO DO LICENCIANTE OU EM OUTRO LUGAR CRIARÁ QUALQUER GARANTIA NÃO EXPRESSAMENTE INDICADA NESTE CONTRATO. O Licenciador não garante que o Produto de Software atenderá às suas necessidades ou operará sob suas condições específicas de uso. O Licenciador não garante que a operação do Produto de Software será segura, livre de erros ou livre de interrupção. VOCÊ DEVE DETERMINAR SE O PRODUTO DE SOFTWARE CUMPRE SUFICIENTEMENTE OS SEUS REQUISITOS DE SEGURANÇA E ININTERRUPTABILIDADE. VOCÊ SÓ RESPONSABILIDADE E TODA RESPONSABILIDADE POR QUAISQUER PERDAS INCURRIDAS POR FALHA DO PRODUTO DE SOFTWARE PARA ENCONTRAR SEUS REQUISITOS. O LICENCIANTE NÃO SERÁ RESPONSÁVEL, POR NENHUMA CIRCUNSTÂNCIA, PELA PERDA DE DADOS EM QUALQUER COMPUTADOR OU DISPOSITIVO DE ARMAZENAMENTO DE INFORMAÇÕES. 8. LIMITAÇÃO DE RESPONSABILIDADE A RESPONSABILIDADE TOTAL DA LICENSOR8217S A VOCÊ DE TODAS AS CAUSAS DE AÇÃO E SOB TODAS AS TEORIAS DE RESPONSABILIDADE SERÁ LIMITADA E NÃO EXCEDERÁ A TAXA DE LICENÇA PAGA POR VOCÊ AO LICENCIANTE DO SOFTWARE. EM NENHUMA CIRCUNSTÂNCIA O LICENCIANTE SERÁ RESPONSÁVEL POR QUAISQUER DANOS ESPECIAIS, INCIDENTAIS, EXEMPLARES, PUNITIVOS OU CONSEQUENCIAIS (INCLUINDO PERDA DE USO, DADOS, NEGÓCIOS OU LUCROS) OU AO CUSTO DE PROCURAR PRODUTOS SUBSTITUTOS RESULTANTES OU RELACIONADOS COM ESTE ACORDO OU O USO OU DESEMPENHO DO SOFTWARE, SE ESSA RESPONSABILIDADE RESOLVE DE QUALQUER REIVINDICAÇÃO BASEADA EM CONTRATO, GARANTIA, DELITO (INCLUINDO NEGLIGÊNCIA), RESPONSABILIDADE ESTRITA OU DE OUTRA FORMA E SE O LICENCIANTE TENHA SIDO AVISADO DA POSSIBILIDADE DE TAIS PERDAS OU DANIFICAR. AS LIMITAÇÕES ANTERIORES SOBREVIVERÃO E APLICAM-SE, MESMO QUE QUALQUER REMÉDIO LIMITADO ESPECIFICADO NESTE CONTRATO É ENCONTRADO PARA FALHAR O SEU PROPÓSITO ESSENCIAL. NA MEDIDA EM QUE A COMPETÊNCIA APLICÁVEL LIMITA A CAPACIDADE DE LICENCIAMENTO PARA RENUNCIAR QUAISQUER GARANTIAS IMPLÍCITAS, ESTE ISENÇÃO DE RESPONSABILIDADE SERÁ EFICAZ PARA A MÁXIMA EXTENSÃO PERMITIDA. 9. GENERALIDADES Se qualquer disposição deste Contrato for considerada inválida ou inexeqüível, o restante deste Contrato permanecerá em pleno vigor e efeito. Na medida em que quaisquer restrições expressas ou implícitas não são permitidas pelas leis aplicáveis, estas restrições expressas ou implícitas deverão permanecer em vigor e efeito na extensão máxima permitida por tais leis aplicáveis. Este Contrato é o acordo completo e exclusivo entre as partes com relação ao assunto aqui tratado, substituindo todos e quaisquer acordos, comunicações e entendimentos anteriores (tanto escritos quanto orais) sobre o assunto aqui tratado. As partes neste Contrato são contratadas independentes, e nenhuma delas tem o poder de vincular a outra ou incorrer em obrigações por conta da outra. Nenhuma falha de qualquer das partes para exercer ou fazer valer qualquer dos seus direitos ao abrigo deste Acordo actuará como uma renúncia a tais direitos. Quaisquer termos ou condições contidos em qualquer ordem de compra ou outro documento de pedido que sejam incompatíveis com ou além dos termos e condições deste Contrato são rejeitados pelo Licenciante e serão considerados nulos e sem efeito. Este Contrato será interpretado e interpretado de acordo com as leis da Suíça, sem levar em conta os princípios de conflitos de leis. As partes concordam com a jurisdição e sede exclusiva dos tribunais localizados em Zurique, Suíça, para a resolução de quaisquer disputas que surjam ou relacionadas com este Contrato. 10. DEFINIÇÕES 8220Evaluation Use8221 significa o uso do Software somente para avaliação e teste para novas aplicações destinadas ao seu Uso de Produção. 8220Produção Use8221 significa usar o Software apenas para fins comerciais internos. Produção O uso não inclui o direito de reproduzir o Software para sublicenciamento, revenda ou distribuição, incluindo, sem limitação, operação em um compartilhamento de tempo ou distribuição do Software como parte de um acordo ASP, VAR, OEM, distribuidor ou revendedor. 8220Software8221 significa o software Licenciador8217s e todos os seus componentes, documentação e exemplos incluídos pelo Licenciador. 8220Error8221 significa (a) uma falha do Produto em conformidade com as especificações estabelecidas na documentação, resultando na incapacidade de usar, ou restrição no uso do Produto, ou (b) um problema que requer novos procedimentos, esclarecimentos , Informações adicionais e / ou solicitações de aprimoramentos do produto. 8220Lançamento de Manutenção8221 significa Atualizações e Atualizações do Produto que são disponibilizadas aos licenciados de acordo com os Serviços de Suporte padrão definidos na seção 5. 8220Update8221 significa uma modificação ou adição de software que, quando feita ou adicionada ao Produto, corrige o Erro ou Procedimento ou rotina que, quando observado no funcionamento regular do Produto, elimina o efeito adverso prático do Erro no Licenciado. 8220Upgrade8221 significa uma revisão do Produto liberada pelo Licenciador aos seus clientes de usuários finais em geral, durante o Termo de Serviços de Suporte, para adicionar funções novas e diferentes ou para aumentar a capacidade do Produto. Upgrade não inclui a liberação de um novo produto ou recursos adicionados para os quais pode haver uma cobrança separada. Arquitetura do piso comercial Arquitetura do piso de negociação Resumo executivo Maior concorrência, maior volume de dados do mercado e novas demandas regulatórias são algumas das forças motrizes por trás da indústria alterar. 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 aplicativos. Ele tem de ser modular para fornecer um caminho gerenciável para evoluir cada componente com o mínimo de interrupção 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 da próxima geração deve ser construída com uma mentalidade holística, cruzando os limites dos 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 Negociação de tráfego para o caminho com latência mínima Indústria Tendências e Desafios arquiteturas de negociação de última geração têm de responder às crescentes exigências 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 o manuseio de atualizações de preços a taxas que se aproximam de 1M msgsec. Para trocas. Eles também exigem visibilidade na frescura dos dados e prova de que o cliente tem a melhor execução possível. No curto prazo, a velocidade de negociação e inovação são diferenciais chave. 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 de negócios. Um desafio com esses 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 voltar a submetê-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.ibmservicesusimcpdfge510-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 centros de dados redundantes situados em diferentes geografias e conectados a múltiplos locais de negociação para soluções de comerciante virtual oferecendo comerciantes poder a maioria 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 uma mudança arquitetônica 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 (gigaspacesdownloadMerrilLynchGigaSpacesWP. pdf). Outra tendência é a consolidação de servidores em farms de servidores de data centers, 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 planta de ticker e os motores de negociação algorítmicos estão localizados no cluster de negociação 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 de instrumentos financeiros, notícias e outras informações de valor agregado, como analítica. Ele é unidirecional e muito sensível à latência, geralmente fornecido através de multicast UDP. É medido em updatessec. 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 Firma Side Side da Buy Não há nenhum 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 latência mais baixos, ambos os fornecedores liberaram feeds de dados de mercado em tempo real que são menos processados ​​e têm menos análises: Bloomberg B-Pipe Com 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 (financetechfeaturedshowArticle. jhtmlarticleID60404306). Ordens de Negociação Este tipo de tráfego transporta os negócios reais. É bidirecional e muito sensível à latência. É medido em messagessec. E Mbps. As ordens provêm de um lado de compra ou vendem lado firme e são enviados 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 eXchangefixprotocol. 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 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. FAST é direcionado mais para a entrega de dados de mercado e tem o 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 acesso direto ao mercado (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 (towergroupresearchcontentglossary. jsppage1ampglossaryId383). O DMA requer uma conexão direta com o local de execução. O barramento de mensagens é software de 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 TCPIP (TibcoEMS, 29West, RMDS e AMQP) ou UDPmulticast (TibcoRV, 29West e RMDS). Um conceito importante na distribuição de mensagens é o fluxo quotrópico, que é um subconjunto de dados de mercado definido por critérios como símbolo de ticker, indústria ou uma determinada cesta de instrumentos financeiros. Os assinantes aderem a 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 a latência, os mecanismos 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 a 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 comercial (Figura 2) Este é o modelo tradicional, onde uma plataforma de negociação de pleno direito é desenvolvido e mantido pela empresa com ligações 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 de implantação tradicional Co-localização no local de negociação (trocas, provedores de serviços financeiros (FSP)) (Figura 3) A empresa de negociação implanta sua plataforma de negociação automatizada o mais próximo possível dos locais de execução para minimizar a latência. Figura 3 Arquitetura de Negociação Orientada a Serviços de Modelo de Distribuiçã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ço para o Serviço de Mensagens de Latência Ultra-Baixa de Alto Desempenho Este serviço é fornecido pelo barramento de mensagens, que é um sistema de software que resolve o problema da conexão de muitos - Muitas aplicações. O sistema consiste em: Um conjunto de esquemas de mensagem pré-definidos Um conjunto de mensagens de comando comuns Uma infra-estrutura de aplicativo compartilhada para o envio de mensagens para os destinatários. A infra-estrutura compartilhada pode ser baseada em um broker de mensagens ou em um modelo publishsubscribe. (Por exemplo, menos de 100 microsegundos) Estabilidade sob carga pesada (por exemplo, mais de 1,4 milhões de msgs.) Controle e flexibilidade (controle de taxa e transportes configuráveis) Lá São 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: amqp. orgtikiwikitiki-index. phppageOpenApproachWhyAMQP). Latency Monitoring Service Os principais requisitos para este serviço são: Sub-millisecond granularidade de medições Visibilidade em tempo quase-real sem adicionar latência para o tráfego de negociação Capacidade de diferenciar 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 que os motores de negociação algorítmicos se adaptem às condições de mudança. Correlacione 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 a questão da latência é um problema complexo, que requer 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 qual 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 de 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: Gerenciador de qualidade de largura de banda (BQM) (OEM de Corvil) Gerenciador de qualidade de largura de banda (BQM) 4.0 da Cisco AON 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 inteligentes de fornecimento 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 dão 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. Benefícios do BQM A micro-visibilidade do 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 de negociação e feeds de dados do mercado. 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. BQM, em seguida, 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, ele 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 (quotthe 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. O BQM também é capaz de fornecer recomendações detalhadas de fornecimento de políticas de largura de banda e qualidade de serviço (QoS), que o usuário pode aplicar diretamente para alcançar o desempenho desejado da rede. Medições de BQM ilustradas Para entender a diferença entre algumas das técnicas de medição mais convencionais ea visibilidade fornecida pelo BQM, podemos olhar para alguns gráficos de comparação. No primeiro conjunto de gráficos (Figura 6 e Figura 7), vemos a diferença entre a latência medida pelo BQMs Passive Network Quality Monitor (PNQM) e a latência medida injetando pacotes ping a cada 1 segundo no fluxo de tráfego. Na Figura 6. vemos a latência relatada por pacotes de ping de 1-segundo ICMP para tráfego de rede real (é dividido por 2 para dar uma estimativa para o atraso unidirecional). Ele mostra o atraso confortavelmente abaixo de cerca de 5ms para quase todo o tempo. Figura 6 Latência relatada por pacotes de ping ICMP de 1 segundo para tráfego de rede real Na Figura 7, vemos a latência relatada pelo PNQM para o mesmo tráfego ao mesmo tempo. Aqui vemos que, ao medir a latência unidirecional dos pacotes de aplicativos reais, obtemos uma imagem radicalmente diferente. Aqui a latência é vista como pairando em torno de 20 ms, com explosões ocasionais muito mais altas. A explicação é que, como o ping está enviando pacotes apenas a cada segundo, falta completamente a maior parte da latência do aplicativo. De fato, os resultados de ping tipicamente indicam somente atraso de propagação de viagem de ida e volta em vez de latência de aplicativo realista na rede. No segundo exemplo (Figura 8), vemos a diferença nos níveis de carga ou saturação de link relatados entre uma visualização média de 5 minutos e uma visão de microburst de 5 ms (o BQM pode relatar microbursts down A cerca de 10-100 nanossegundos de precisão). A linha verde mostra a utilização média em médias de 5 minutos para ser baixa, talvez até 5 Mbitss. O gráfico azul escuro mostra a atividade microburst 5ms atingindo entre 75 Mbitss e 100 Mbitss, a velocidade LAN de forma eficaz. O BQM mostra esse nível de granularidade para todas as aplicações e também fornece regras de provisionamento claras para permitir ao usuário controlar ou neutralizar esses microbursts. Figura 8 Diferença na carga de ligação reportada entre uma vista média de 5 minutos e uma vista de microburst de 5 ms Implementação de BQM na rede de negociação A Figura 9 mostra uma implementação BQM típica numa rede de negociação. Figura 9 Implementação típica de BQM em uma rede de negociação O BQM pode ser usado para responder a esses tipos de perguntas: Algum de meus links principais de LAN Gigabit está saturado por mais de X milissegundos Isso está causando perda Quais links serão mais beneficiados com uma atualização para Etherchannel ou 10 Gigabit velocidades Que tráfego de aplicativos está causando a saturação de meus links de 1 Gigabit É qualquer um dos dados de mercado experimentando perda de ponta a ponta Quanto latência adicional faz a experiência de centro de dados de failover É este link dimensionado corretamente para lidar com microbursts São meus comerciantes Recebendo atualizações de baixa latência da camada de distribuição de dados de mercado Eles estão vendo quaisquer atrasos superiores a X milissegundos Ser capaz de responder a essas perguntas de forma simples e eficaz economiza tempo e dinheiro na execução da rede comercial. BQM é uma ferramenta essencial para ganhar visibilidade em dados de mercado e ambientes comerciais. Ele fornece medições de latência end-to-end granular em infra-estruturas complexas que experimentam movimento de dados de alto volume. Detectar microbursts efetivamente em níveis sub-milissegundos e receber a análise especializada em um evento específico é inestimável para os arquitetos do pregão. Recomendações de provisionamento de largura de banda inteligente, como dimensionamento e análise de simulação, proporcionam maior agilidade para responder a condições de mercado voláteis. À medida que a explosão da negociação algorítmica e o aumento das taxas de mensagens continuam, o BQM, combinado com sua ferramenta QoS, fornece a capacidade de implementar políticas QoS que podem proteger aplicativos comerciais críticos. Solução de Monitoramento de Latência da Cisco Financial Services A Cisco e a Trading Metrics colaboraram em soluções de monitoramento de latência para o fluxo de pedidos FIX e monitoramento de dados de mercado. A tecnologia AON da Cisco é a base para uma nova classe de produtos e soluções embutidas em rede que ajudam a mesclar redes inteligentes com infra-estrutura de aplicativos, com base em arquiteturas orientadas a serviços ou tradicionais. A Trading Metrics é um fornecedor líder de software analítico para infra-estrutura de rede e fins de monitoramento de latência de aplicativos (tradingmetrics). A Solução de Monitoramento de Latência de Serviços Financeiros (FSMS) da Cisco AON correlacionou dois tipos de eventos no ponto de observação: Eventos de rede correlacionados diretamente com manipulação de mensagens de aplicativo coincidentes Fluxo de ordens comerciais e eventos de atualização de mercado correspondentes Usando carimbos de tempo afirmados no ponto de captura no A análise em tempo real desses fluxos de dados correlacionados permite a identificação precisa de gargalos em toda a infra-estrutura enquanto um comércio está sendo executado ou os dados de mercado estão sendo distribuídos. Ao monitorar e medir a latência no início do ciclo, as empresas financeiras podem tomar melhores decisões sobre qual serviço de rede e qual intermediário, mercado ou contraparte devem selecionar para encaminhar ordens comerciais. Da mesma forma, esse conhecimento permite um acesso mais simplificado aos dados de mercado atualizados (cotações de ações, notícias econômicas, etc.), que é uma base importante para iniciar, retirar ou buscar oportunidades de mercado. Os componentes da solução são: Hardware AON em três fatores de forma: Módulo de rede AON para roteadores Cisco 2600280037003800 Lâmina AON para Cisco Catalyst 6500 série AON 8340 Appliance Trading Metrics O software MampA 2.0, que fornece o aplicativo de monitoramento e alerta, exibe gráficos de latência em Um painel e emite alertas quando ocorrem desacelerações (tradingmetricsTMbrochure. pdf). Figura 10 Monitoramento de latência FIX baseado em AON Cisco IP SLA O Cisco IP SLA é uma ferramenta de gerenciamento de rede incorporada no Cisco IOS, que permite que roteadores e switches gerem fluxos de tráfego sintéticos que podem ser medidos para latência, jitter, perda de pacotes e outros critérios (ciscogoipsla ). Dois conceitos-chave são a origem do tráfego gerado eo alvo. Ambos executam um quotresponder IP SLA, que tem a responsabilidade de timestamp o tráfego de controle antes de ser obtido e retornado pelo alvo (para uma medição de viagem de ida e volta). Vários tipos de tráfego podem ser obtidos dentro do SLA IP e são direcionados a métricas diferentes e segmentam diferentes serviços e aplicativos. A operação de jitter UDP é usada para medir o atraso de ida e volta e as variações de relatório. Como o tráfego é carimbado no tempo em ambos os dispositivos de envio e destino usando a capacidade de resposta, o atraso de ida e volta é caracterizado como o delta entre os dois carimbos de data / hora. Um novo recurso foi introduzido no IOS 12.3 (14) T, IP SLA Sub Millisecond Reporting, que permite que os carimbos de data / hora sejam exibidos com uma resolução em microssegundos, proporcionando assim um nível de granularidade não disponível anteriormente. Esse novo recurso tornou o SLA IP relevante para as redes de campus, onde a latência da rede é tipicamente na faixa de 300-800 microssegundos ea capacidade de detectar tendências e picos (tendências breves) com base em contadores de granularidade de microssegundos é uma exigência para os clientes envolvidos no tempo Ambientes de negociação eletrônicos sensíveis. Como resultado, o SLA IP agora está sendo considerado por um número significativo de organizações financeiras, pois todos eles enfrentam requisitos para: Reportar latência de linha de base para seus usuários Latência de linha de base de tendência ao longo do tempo Responder rapidamente a rajadas de tráfego que causam mudanças na latência relatada Sub - Milissegundo é necessário para estes clientes, uma vez que muitos campus e backbones estão actualmente a entregar em um segundo de latência em vários switch lúpulo. Os ambientes de negociação eletrônicos geralmente trabalham para eliminar ou minimizar todas as áreas de latência do dispositivo e da rede para entregar um cumprimento rápido de pedidos ao negócio. O relato de que os tempos de resposta da rede são exatamente iguais a um milissegundo já não é suficiente a granularidade das medições de latência relatadas em um segmento de rede ou coluna precisa estar mais próxima de 300 a 800 micro segundos com um grau de resolução de 100 igrave segundos. O IP SLA adicionou recentemente suporte para fluxos de teste de multicast IP, que podem medir latência de dados de mercado. Uma topologia de rede típica é mostrada na Figura 11 com os roteadores de sombra SLA IP, fontes e respondedores. Figura 11 Serviços de Computação de Implantação IP SLA Os serviços de computação cobrem uma ampla gama de tecnologias com o objetivo de eliminar a memória e os gargalos de CPU criados pelo processamento de pacotes de rede. As aplicações comerciais consomem grandes volumes de dados de mercado e os servidores têm de dedicar recursos ao processamento do tráfego da rede em vez do processamento de aplicativos. Processamento de transporte A alta velocidade, o processamento de pacotes de rede pode consumir uma quantidade significativa de ciclos de CPU do servidor e memória. Uma regra de ouro estabelecida afirma que 1 Gbps de largura de banda de rede requer 1 GHz de capacidade de processador (fonte de papel branco da Intel sobre aceleração IO inteltechnologyioacceleration306517.pdf). Em uma implementação de pilha de rede convencional, dados precisam ser copiados pela CPU entre buffers de rede e buffers de aplicativo. Essa sobrecarga é piorada pelo fato de que as velocidades de memória não acompanharam os aumentos nas velocidades da CPU. Por exemplo, processadores como o Intel Xeon estão se aproximando de 4 GHz, enquanto os chips de RAM pairam em torno de 400MHz (para a memória DDR 3200) (fonte Intel inteltechnologyioacceleration306517.pdf). Mudança de contexto Sempre que um pacote individual precisa ser processado, a CPU executa um switch de contexto do contexto do aplicativo para o contexto de tráfego da rede. Essa sobrecarga pode ser reduzida se a opção ocorrer apenas quando todo o buffer de aplicativo estiver completo. Figura 12 Fontes de Sobrecarga em Servidores de Data Center TCP Offload Engine (TOE) Descarrega os ciclos do processador de transporte para a NIC. Move as cópias do buffer de pilha do protocolo TCPIP da memória do sistema para a memória NIC. Remote Direct Memory Access (RDMA) Permite que um adaptador de rede transfira dados diretamente do aplicativo ao aplicativo sem envolver o sistema operacional. Elimina cópias intermediárias e de buffer de aplicativo (consumo de largura de banda de memória). Kernel bypass Acesso direto ao nível do usuário ao hardware. Reduz drasticamente os parâmetros de contexto do aplicativo. Figura 13 RDMA e Kernel Bypass InfiniBand é um link de comunicação serial bidirecional ponto a ponto (tecido comutado) que implementa RDMA, entre outros recursos. A Cisco oferece um switch InfiniBand, o Server Fabric Switch (SFS): ciscoapplicationpdfenusguestnetsolns500c643cdccont0900aecd804c35cb. pdf. Figura 14 Aplicações SFS Deployment Trading típicas se beneficiam da redução da latência e da variabilidade de latência, como demonstrado por um teste realizado com o Cisco SFS e Wombat Feed Handlers pelo Stac Research: Application Virtualization Service Desacoplando o aplicativo do SO subjacente e do hardware do servidor Permite que eles funcionem como serviços de rede. Um aplicativo pode ser executado em paralelo em vários servidores, ou vários aplicativos podem ser executados no mesmo servidor, como a melhor alocação de recursos dita. Esta dissociação permite um melhor balanceamento de carga e recuperação de desastres para estratégias de continuidade de negócios. O processo de re-alocação de recursos de computação para um aplicativo é dinâmico. Usando um sistema de virtualização de aplicativos como o Data Synapses GridServer, os aplicativos podem migrar, usando políticas pré-configuradas, para servidores subutilizados em um processo de suprimento-correspondência-demanda (wwwworkworldsupp2005ndc1022105virtual. htmlpage2). Há muitas vantagens comerciais para as empresas financeiras que adotam a virtualização de aplicativos: Tempo mais rápido para o mercado de novos produtos e serviços Integração mais rápida das empresas após as atividades de fusão e aquisição Maior disponibilidade de aplicativos Melhor distribuição de workload, que cria mais quothead roomquot para processamento de picos de volume Operacional Eficiência e controle Redução da complexidade de TI Atualmente, a virtualização de aplicativos não é usada na front-office de negociação. Um caso de uso é modelagem de risco, como simulações de Monte Carlo. Como a tecnologia evolui, é concebível que algumas plataformas de negociação irá adotá-lo. Serviço de virtualização de dados Para compartilhar efetivamente recursos entre aplicativos corporativos distribuídos, as empresas devem ser capazes de alavancar dados em várias fontes em tempo real, ao mesmo tempo em que garantem a integridade dos dados. Com soluções de fornecedores de software de virtualização de dados como o Gemstone ou o Tangosol (agora o Oracle), as empresas financeiras podem acessar fontes heterogêneas de dados como uma única imagem de sistema que permite a conectividade entre processos de negócios e acesso irrestrito a aplicativos para cache distribuído. O resultado líquido é que todos os usuários têm acesso instantâneo a esses recursos de dados em uma rede distribuída (gridtoday030210101061.html). Isso é chamado de grade de dados e é o primeiro passo no processo de criação do que o Gartner chama de Processamento de Transações Extremas (XTP) (gartnerDisplayDocumentrefgsearchampid500947). 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 GroupsChannels 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 networkapplication 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. This limitation is often cited as a reason to maintain a Layer 2 infrastructure between TICs located in different data centers. 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. QuantInsti Quantitative Learning QuantInsti (QI) is one of Asias pioneer Algorithmic Trading Research and Training Institute, focused on preparing financial market professionals for the contemporary field of Algorithmic and High Frequency Trading. Headquartered in Mumbai with a subsidiary in Singapore, QI was founded by iRageCapital and a team of Quantitative and High Frequency Traders and domain experts dedicated to providing practical knowledge to professionals interested in Algorithmic Trading. Executive Programme in Algorithmic Trading (EPAT TM ) EPAT TM is tailor-made algorithmic trading course for individuals working in, or intending to move into the buy or sell-side of business focusing on derivatives, quantitative trading, electronic market-making or trading related technology and risk management. The program is built around a fully examined core of three modules: Statistics 038 Econometrics Algorithmic 038 Quantitative Trading Financial Computing 038 Technology The course covers all aspects of the theory and practice of quantitative tools, products and methods. The course is a result of QuantInsti Faculty s several years of experience in trading in financial markets and domain expertise. Its comprehensive, interactive and collaborative learning environment makes it highly-preferred among the beginners as well as seasoned traders. QuantInstis association with the industry include exchanges, brokering firms, prop trading firms, technology developers, data providers, algorithmic trading desks, High frequency trading firms among others. The placement team at QuantInsti strives hard to fill the requirements under relevant profiles including Quants Developer Trader Analyst Programmer and many other profiles with the most suited and deserving professionals.

No comments:

Post a Comment