Arquitetura do sistema de negociação financeira


Arquitetura do Sistema Financeiro.


Abstrato.


O objetivo principal deste trabalho é dar um passo na construção de uma teoria da arquitetura do sistema financeiro. Começamos com premissas básicas sobre os tipos de agentes primitivos e a natureza das assimetrias informacionais na economia e, em seguida, fornecemos uma teoria que explica quais agentes se agrupam para formar bancos e quais agentes comercializam no mercado de capitais. Nossa teoria incorpora um modelo de equilíbrio do mercado financeiro com riqueza suficiente para permitir que os preços do mercado transmita informações relevantes para a decisão às empresas e permite extrair implicações mais amplas quanto à configuração dos sistemas financeiros. A escolha do mutuário entre o financiamento do banco e do mercado financeiro é examinada neste quadro, e é demonstrado que os mutuários de maiores qualidades observáveis ​​acessam diretamente o mercado financeiro. Além disso, um sistema financeiro em sua infância provavelmente será dominado pelo banco, e a inovação financeira causa um declínio na importância relativa dos bancos em empréstimos.


Baixe informações.


Se você tiver problemas ao fazer o download de um arquivo, verifique se você possui o aplicativo apropriado para vê-lo primeiro. Em caso de problemas adicionais, leia a página de ajuda IDEAS. Observe que esses arquivos não estão no site IDEAS. Seja paciente porque os arquivos podem ser grandes.


Como o acesso a este documento é restrito, você pode procurar uma versão diferente em "Pesquisa relacionada" (mais adiante) ou procurar uma versão diferente dela.


Informações bibliográficas.


Telefone: 44 - 20 - 7183 8801.


Fax: 44 - 20 - 7183 8820.


Pesquisa relacionada [Outra versão (s) disponível (s)]


Outras versões deste item:


Boot, Arnoud W A & Thakor, Anjan V, 1997. "Arquitetura do Sistema Financeiro", Review of Financial Studies, Society for Financial Studies, vol. 10 (3), páginas 693-733.


Referências.


Nenhuma referência listada em IDEAS.


Você pode ajudá-los a preencher este formulário.


As citações são extraídas pelo Projeto CitEc, assine seu feed RSS para este item.


Este item possui mais de 25 citações. Para evitar a destruição desta página, essas citações estão listadas em uma página separada.


Este item não está listado na Wikipédia, em uma lista de leitura ou entre os principais itens em IDEAS.


Estatisticas.


Correções.


Ao solicitar uma correção, mencione o identificador deste item: RePEc: cpr: ceprdp: 1197. Veja informações gerais sobre como corrigir o material no RePEc.


Para questões técnicas relativas a este item, ou para corrigir seus autores, títulos, resumo, informações bibliográficas ou de download, contate: ()


Se você é autor deste item e ainda não está registrado no RePEc, recomendamos que você o faça aqui. Isso permite vincular seu perfil a este item. Ele também permite que você aceite citações em potencial para este item sobre o qual não temos certeza.


Se as referências faltam completamente, você pode adicioná-las usando este formulário.


Se as referências completas listarem um item que está presente no RePEc, mas o sistema não ligou a ele, você pode ajudar com este formulário.


Se você souber de itens faltantes citando este, você pode nos ajudar a criar esses links, adicionando as referências relevantes da mesma maneira que acima, para cada item referente. Se você é um autor registrado deste item, você também pode querer verificar a guia "citações" em seu perfil, pois pode haver citações em espera de confirmação.


Observe que as correções podem levar algumas semanas para filtrar os vários serviços do RePEc.


Mais serviços.


Siga as séries, revistas, autores e Mais.


Novos trabalhos por e-mail.


Inscreva-se para novas adições ao RePEc.


Registro de autor.


Perfis públicos para pesquisadores de economia.


Vários rankings de pesquisa em Economia e Campos relacionados.


Quem era um aluno de quem, usando RePEc.


RePEc Biblio.


Artigos curados e amp; artigos sobre vários temas econômicos.


Carregue o seu papel para ser listado em RePEc e IDEAS.


EconAcademics.


Agregador de blogs para pesquisa econômica.


Plágio.


Casos de plágio em Economia.


Documentos de mercado de trabalho.


Série de papel de trabalho RePEc dedicada ao mercado de trabalho.


Fantasy League.


Imagine que você está no comando de um departamento de economia.


Serviços do StL Fed.


Dados, pesquisa, aplicativos e mais do St. Louis Fed.


Requisitos do sistema de negociação algorítmica.


Atualmente, estou levando uma aula sobre arquiteturas de software. Para esta classe, cada aluno escolhe um sistema, define seus requisitos arquitetônicos e projeta uma solução capaz de satisfazer esses requisitos. Escolhi um sistema de negociação algorítmica por causa do desafio tecnológico e porque adoro os mercados financeiros. Os sistemas de negociação algorítmica (ATs) usam algoritmos computacionais para tomar decisões comerciais, enviar ordens e gerenciar pedidos após a submissão. Nos últimos anos, as ATs ganharam popularidade e agora representam a maioria das negociações realizadas através de trocas internacionais. Distinção é feita entre negociação programada e negociação algorítmica. A negociação programada envolve a quebra de pedidos de grandes mercados em pacotes de ações menores. Neste artigo, o comércio programado é considerado um requisito de segurança de um ATs.


Introdução aos sistemas de negociação algorítmica.


Falando em geral, existem cinco tipos de participantes do mercado: investidores de varejo, comerciantes proprietários, criadores de mercado, instituições de compra e instituições de venda. Os ATs são mais utilizados por instituições proprietárias de buy-side, mas essa dinâmica está mudando. O comércio algorítmico como serviço (ATAAS) torna o comércio algorítmico acessível ao investidor de varejo (ver apêndice). Este artigo descreve os requisitos arquitetônicos para um ATs usado por uma instituição proprietária de compra exclusiva. Na maior parte do nível, um ATs tem três funções: tomar decisões comerciais, criar ordens de negociação e gerenciar essas ordens após a submissão. Abaixo disso, há uma série de requisitos funcionais mais detalhados, alguns dos quais podem ser satisfeitos pela arquitetura.


Introdução à arquitetura de software.


Um monte de debate ainda envolve a definição do que é uma arquitetura de software. No contexto deste artigo, a arquitetura do software é definida como a infra-estrutura dentro da qual os componentes do aplicativo que fornecem a funcionalidade do usuário podem ser especificados, implantados e executados. Um sistema de software deve satisfazer seus requisitos funcionais e não funcionais. Os requisitos funcionais especificam as funções dos componentes dos sistemas. Os requisitos não funcionais especificam medidas através das quais o desempenho do sistema é medido. Um sistema de software que satisfaça seus "requisitos funcionais", ainda não atende às expectativas dos usuários, e. um ATs que pode enviar negócios, mas não em tempo hábil, causaria perdas financeiras. A arquitetura do software basicamente fornece uma infra-estrutura que satisfaça os requisitos não funcionais e dentro do qual os componentes que satisfazem os requisitos funcionais podem ser implantados e executados. Os requisitos do sistema de negociação algorítmica podem, portanto, ser amplamente divididos em requisitos funcionais e não funcionais.


Requisitos funcionais.


Sob o requisito de nível superior de "fazer negociação", existem três requisitos de alto nível:


Obtenha dados de mercado - baixe, filtre e armazene dados estruturados e não estruturados. Os dados estruturados incluem dados de mercado em tempo real da Reuters ou Bloomberg transmitidos usando um protocolo, e. CONSERTAR. Dados não estruturados incluem notícias e dados de redes sociais. Definir estratégia de negociação - especifique novas regras e estratégias de negociação. A regra de negociação consiste em um indicador, uma desigualdade e um valor numérico, e. "Razão PE" & lt; 10. As regras de negociação são estruturadas em uma árvore de decisão para definir uma estratégia de negociação (ilustrada abaixo). Analise os títulos em relação à estratégia de negociação - para cada segurança, obtenha dados e filtre-o através da estratégia de negociação para determinar qual segurança para comprar. Adicionalmente: para cada posição aberta, determine qual segurança vender. Nota: este requisito pode variar.


Sob o requisito de nível superior de "criar pedidos de negociação", existem dois requisitos de alto nível:


Obtenha informações de comércio - para cada decisão, obtenha o símbolo de segurança, preço, quantidade, etc. Crie uma ordem comercial - para cada decisão, especifique um tipo de ordem e adicione informações comerciais. Existem seis tipos de pedidos: longo, curto, mercado, limite, parada e condicional.


Sob o requisito de nível superior de "gerenciar pedidos", existem três requisitos de alto nível:


Gerenciar ordens pendentes - para cada pedido, validar e confirmar esse pedido Ordem de rota / enviar - encaminhe cada pedido para uma troca, grupo escuro ou corretora Gerenciar ordens enviadas - acompanhar o status de cada pedido enviado, se a ordem for combinada, então crie uma posição aberta . Se a ordem não for correspondida, pare a ordem.


Este diagrama mostra como uma estratégia de negociação pode ser definida como uma árvore de decisão das regras de negociação.


Requisitos não Funcionais.


Existem muitos requisitos não funcionais que são comercializados entre os outros, e. O aumento do desempenho geralmente ocorre com um aumento no custo total de propriedade. Os requisitos do sistema de negociação algorítmico não funcional incluem,


Escalabilidade - é a capacidade de um sistema para lidar e executar sob uma carga de trabalho aumentada ou em expansão. Os ATs devem ser escaláveis ​​em relação ao número de feeds de dados em processos, número de trocas comerciais e títulos que podem negociar. Desempenho - é a quantidade de trabalho realizado por um sistema em comparação com o tempo e os recursos necessários para fazer esse trabalho. Um ATs deve ter tempos de resposta rápidos (de volta ao mercado) e alto processamento e transferência de rede. Modificabilidade - é a facilidade com que o sistema pode ser alterado. Um ATs deve ter estratégias de negociação e processamento de dados facilmente modificáveis. Confiabilidade - é a precisão e confiabilidade de um sistema para produzir saídas corretas para as entradas que recebe. Como erros e erros em um ATs podem resultar em enormes perdas e multas, a confiabilidade é crucial. Veja a debacle do capital do Cavaleiro para obter provas disso. Auditabilidade - é a facilidade com que o sistema pode ser auditado. Recentes casos de alto perfil de ATs que estão faltando colocaram a ATs em destaque para empresas de auditoria. Eles devem, portanto, ser auditáveis ​​tanto do ponto de vista financeiro, como da conformidade e da TI. Segurança - é a segurança de uma organização contra atividades criminosas, como terrorismo, roubo ou espionagem. Como as estratégias de negociação são proprietárias e representam uma propriedade intelectual valiosa, elas devem ser garantidas. Além disso, para proteger os ATs de caçados, as ordens devem ser ofuscadas usando estratégias de negociação programadas. Tolerância a falhas - é a capacidade de um sistema continuar a funcionar corretamente após uma falha ou falha. Isso é semelhante à confiabilidade, exceto que os ATs devem continuar sendo confiáveis ​​mesmo após uma falha para evitar perdas financeiras. Interoperabilidade - é a facilidade com que o sistema é capaz de operar com uma ampla gama de sistemas relacionados. Isso é importante para um ATs que pode ser necessário para interagir com sistemas de gerenciamento de pedidos, sistemas de gerenciamento de portfólio, sistemas de gerenciamento de riscos, sistemas de contabilidade e até sistemas bancários.


Visão geral do escopo arquitetônico.


O escopo arquitetônico é o conjunto de serviços suportados pela arquitetura que são consumidos por componentes para atender aos requisitos funcionais e não funcionais. Uma discriminação mais detalhada deste escopo arquitetônico está disponível no documento de requisitos detalhados. Em um nível alto, os seguintes serviços deveriam ser fornecidos pela arquitetura:


Um ambiente de processamento pré-processamento de dados modificável - que suporta vários fluxos de dados, filtros para dados irrelevantes e particionamento de dados temporários Um ambiente de processamento distribuído - que suporta várias unidades de processamento (clusters), monitoramento de desempenho em tempo real, uma estrutura de comunicação orientada a mensagens, agendamento de conjuntos de dados temporais, balanceamento de carga e replicação de dados Unidades de processamento individuais - que suportam filas na memória e processamento complexo de eventos (em dados temporais) Uma rede de área de armazenamento (SAN) - que suporta agregação de dados temporais, consultas contínuas e log (para trilhas de auditoria) Um ambiente de recuperação de dados (DR) - replica o SAN e o sistema de gerenciamento de pedidos Um ambiente de integração - que expõe uma API padrão para componentes e conecta componentes internos e externos uns aos outros. Um sistema de gerenciamento de pedidos - que aceita fluxos de entrada simultâneos , redundância passiva e balanceamento de carga, critérios ACID em pedidos, uma trilha de auditoria e é reposta cated Um ambiente de uso do sistema - que suporta múltiplos perfis de usuários e expõe um front-end totalmente gerenciado ao sistema de comércio algorítmico.


Requisitos de acesso e integração.


Os requisitos de acesso descrevem maneiras pelas quais os usuários podem acessar os componentes do sistema. Um sistema de comércio algorítmico deve expor três interfaces: uma interface para definir novas regras de negociação, estratégias de negociação e fontes de dados; uma interface de back-end para administradores de sistema para adicionar clusters e configurar a arquitetura; e uma interface de auditoria somente leitura para verificar controles de TI e direitos de acesso de usuários. Os pré-requisitos para integração entre componentes e sistemas externos são chamados de requisitos de integração. O sistema de negociação algorítmica deve apoiar integração baseada em arquivos, integração baseada em mensagens e integração de banco de dados. Como tal, os seguintes requisitos devem ser satisfeitos pela arquitetura:


Integração de banco de dados - suporte ODBC, JDBC, ADO e XQC Integração baseada em arquivos - suporte a arquivos CSV, XML e JSON Integração baseada em mensagens - suporte FIX, FAST e FIXatdl.


Restrições arquitetônicas.


Os pontos azuis mostram os locais físicos onde a latência da rede é minimizada e os pontos vermelhos mostram os locais físicos das grandes trocas financeiras. A fim de maximizar o desempenho do sistema de negociação algorítmica, deve-se alojar o sistema em locais que minimizem a latência da rede. Fonte: MIT open press: dspace. mit. edu/handle/1721.1/6285.


Restrições arquitetônicas são fatores que restringem o desempenho da arquitetura que está sendo construída. As duas restrições que vou mencionar aqui são restrições de rede física e restrições regulatórias. Restrições de rede física são colocadas em um sistema como resultado de redes de telecomunicações de baixo custo. Para mitigar essa restrição, o sistema deve ser construído onde a latência da rede é minimizada. Outra maneira de mitigar as restrições de rede é co-localizar o sistema de negociação algorítmica com a troca de mercado. Uma vez que foi dito, a decisão de co-localizar apresenta restrições de processamento e espaço adicionais.


As restrições regulatórias são introduzidas através de leis e regulamentos, que são principalmente países e câmbio específicos. Este é um fator cada vez mais importante na concepção e implementação de um sistema de negociação algorítmica porque a negociação algorítmica está se tornando mais regulada após o crash do Flash de 2010. Falando em geral, os ATs devem, pelo menos, cumprir as regras da SEC relativas à conformidade e integridade do sistema (SCI), as diretrizes EMEA para sistemas de negociação algorítmica, os padrões de negociação algorítmica ISO 9000 (AT9000) e as normas internacionais de relatório financeiro (IFRS) .


Conclusão.


As arquiteturas de sistemas de negociação algorítmica são complicadas pelos rigorosos requisitos não funcionais esperados do sistema e pela ampla gama de requisitos regulatórios e de conformidade que regem a negociação automatizada. Devido a essas complexidades, deve-se considerar cuidadosamente o design e a implementação da arquitetura do sistema. Ao projetar uma arquitetura de negociação algorítmica de fonte aberta, espero apontar os requisitos arquitetônicos que muitas vezes são ignorados no início do projeto de tais sistemas. Os requisitos identificados neste documento provavelmente não serão concluídos e inevitavelmente evoluirão com o passar do tempo. A segunda parcela deste artigo incluirá meu design para uma arquitetura de software que atenda aos requisitos acima mencionados. Para obter mais informações sobre negociação algorítmica, não hesite em contactar-me.


Para baixar uma cópia do meu relatório, clique aqui. Para obter uma lista completa de fontes, consulte o relatório.


Os provedores de serviços da ATAAS incluem, mas não estão limitados a:


Quantopian - os usuários definem estratégias de negociação quantitativas em Python e podem testá-las novamente. Os usuários também podem executar essas estratégias em mercados ativos. Quantopian recentemente recebeu um investimento de 6,7 milhões de dólares para ampliar seus serviços. EquaMetrics - usando os usuários do RIZM, criam visualmente novas estratégias de negociação algorítmica, testam essas estratégias e executam essas estratégias em mercados ativos. A EquaMetrics anunciou recentemente um novo financiamento para a RIZM avaliado em 4,5 milhões de USD. Corretoras - algumas corretoras permitem que os comerciantes criem bots de negociação que executem automaticamente suas estratégias de negociação.


História anterior.


Previsão econômica BRICs usando redes neurais.


Próxima História.


Arquitetura do sistema de comércio algorítmico.


Envie um comentário.


Cancelar resposta.


Siga a Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


Quantocracy é o melhor agregador de blog de finanças quantitativas com links para novas análises postadas todos os dias.


NMRQL é o fundo hedge quantitativo de que sou parte. Usamos a aprendizagem de máquinas para tentar vencer o mercado.


Arquitetura do sistema de comércio algorítmico.


Anteriormente, neste blog, escrevi sobre a arquitetura conceitual de um sistema de negociação algorítmico inteligente, bem como os requisitos funcionais e não funcionais de um sistema de negociação algorítmica de produção. Desde então, criei uma arquitetura de sistema que, acredito, poderia satisfazer esses requisitos arquitetônicos. Nesta publicação, descreverei a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42010 e padrão de descrição da arquitetura de engenharia de software. De acordo com este padrão, uma descrição de arquitetura deve:


Contém várias visualizações arquitetônicas padronizadas (por exemplo, em UML) e Mantenha a rastreabilidade entre decisões de design e requisitos arquitetônicos.


Definição de arquitetura de software.


Ainda não há consenso quanto ao que é uma arquitetura do sistema. No contexto deste artigo, é definido como a infra-estrutura dentro da qual os componentes do aplicativo que satisfazem os requisitos funcionais podem ser especificados, implantados e executados. Os requisitos funcionais são as funções esperadas do sistema e seus componentes. Os requisitos não funcionais são medidas através das quais a qualidade do sistema pode ser medida.


Um sistema que satisfaça plenamente seus requisitos funcionais ainda pode não atender às expectativas se os requisitos não funcionais forem deixados insatisfeitos. Para ilustrar este conceito, considere o seguinte cenário: um sistema de negociação algorítmico que você acabou de comprar / construir faz excelentes decisões de negociação, mas é completamente inoperacional com os sistemas de gestão e contabilidade de risco das organizações. Esse sistema atenderia às suas expectativas?


Arquitetura conceitual.


Uma visão conceitual descreve conceitos e mecanismos de alto nível que existem no sistema no mais alto nível de granularidade. Nesse nível, o sistema de negociação algorítmica segue uma arquitetura orientada a eventos (EDA) dividida em quatro camadas e dois aspectos arquitetônicos. Para cada camada e referência de aspecto arquiteturas e padrões são usados. Padrões arquitetônicos são estruturas comprovadas e genéricas para alcançar requisitos específicos. Os aspectos arquitetônicos são preocupações transversais que abrangem múltiplos componentes.


Arquitetura orientada a eventos - uma arquitetura que produz, detecta, consome e reage a eventos. Os eventos incluem movimentos do mercado em tempo real, eventos ou tendências complexas e eventos comerciais, e. enviando um pedido.


Este diagrama ilustra a arquitetura conceitual do sistema de negociação algorítmica.


Arquiteturas de referência.


Para usar uma analogia, uma arquitetura de referência é semelhante aos planos para uma parede de suporte de carga. Esta impressão azul pode ser reutilizada para projetos de construção múltipla independentemente do edifício que está sendo construído, pois satisfaz um conjunto de requisitos comuns. Da mesma forma, uma arquitetura de referência define um modelo contendo estruturas genéricas e mecanismos que podem ser usados ​​para construir uma arquitetura de software concreta que satisfaça requisitos específicos. A arquitetura para o sistema de negociação algorítmica usa uma arquitetura baseada em espaço (SBA) e um controlador de exibição de modelo (MVC) como referências. São também utilizadas boas práticas, como o armazenamento de dados operacionais (ODS), o padrão de transformação e carregamento de extratos (ETL) e um data warehouse (DW).


Controle de exibição de modelo - um padrão que separa a representação de informações da interação do usuário com ela. Arquitetura baseada em espaço - especifica uma infra-estrutura onde as unidades de processamento acopladas vagamente interagem entre si através de uma memória associativa compartilhada chamada espaço (mostrado abaixo).


Visão estrutural.


A visão estrutural de uma arquitetura mostra os componentes e subcomponentes do sistema de negociação algorítmica. Ele também mostra como esses componentes são implantados em infra-estrutura física. Os diagramas UML utilizados nesta visão incluem diagramas de componentes e diagramas de implantação. Abaixo está a galeria dos diagramas de implantação do sistema de negociação algorítmico geral e as unidades de processamento na arquitetura de referência SBA, bem como diagramas de componentes relacionados para cada uma das camadas.


Diagrama de componentes de processamento de comerciantes / eventos automatizados Fonte de dados e diagrama de componente de camada de pré-processamento Diagrama de componente de interface de usuário baseado em MVC.


Táticas arquitetônicas.


De acordo com o instituto de engenharia de software, uma tática arquitetônica é um meio de satisfazer um requisito de qualidade, manipulando algum aspecto de um modelo de atributo de qualidade através de decisões de design arquitetônico. Um exemplo simples usado na arquitetura do sistema de negociação algorítmica é 'manipular' um armazenamento de dados operacional (ODS) com um componente de consulta contínua. Este componente analisaria continuamente o ODS para identificar e extrair eventos complexos. As seguintes táticas são usadas na arquitetura:


O padrão do disruptor nas filas de eventos e pedidos Memória compartilhada para as filas de eventos e pedidos Linguagem de consulta contínua (CQL) na filtragem de dados ODS com o padrão de design do filtro em dados recebidos Algoritmos de evitação de congestionamentos em todas as conexões de entrada e saída Gerenciamento de filas ativas (AQM ) e notificação de congestionamento explícito Recursos de computação de mercadorias com capacidade de atualização (escalável) Redundância ativa para todos os pontos de falha únicos Indicação e estruturas de persistência otimizadas no ODS Programe backup de dados regulares e scripts de limpeza para ODS Histórico de transações em todos os bancos de dados Súmrios para todos Ordens para detectar falhas Anotar eventos com timestamps para ignorar eventos "obsoletos". Regras de validação de pedidos, por exemplo, quantidades de comércio máximo Componentes de comerciante automatizado usam um banco de dados em memória para análise Autenticação em dois estágios para interfaces de usuário conectando-se à ATs Criptografia em interfaces de usuário e conexões ao padrão de design ATs Observer para que o MVC gerencie visualizações.


A lista acima é apenas algumas decisões de design que identifiquei durante o projeto da arquitetura. Não é uma lista completa de táticas. À medida que o sistema está sendo desenvolvido, táticas adicionais devem ser empregadas em múltiplos níveis de granularidade para atender aos requisitos funcionais e não funcionais. Abaixo estão três diagramas que descrevem o padrão de design do disruptor, o padrão de design do filtro e o componente de consulta contínua.


Visão comportamental.


Essa visão de uma arquitetura mostra como os componentes e camadas devem interagir um com o outro. Isso é útil ao criar cenários para testar projetos de arquitetura e para entender o sistema de ponta a ponta. Essa visão consiste em diagramas de seqüência e diagramas de atividades. Diagramas de atividades que mostram o processo interno do sistema de negociação algorítmica e como os comerciantes devem interagir com o sistema de negociação algorítmica são mostrados abaixo.


Tecnologias e estruturas.


O passo final na concepção de uma arquitetura de software é identificar potenciais tecnologias e estruturas que poderiam ser utilizadas para realizar a arquitetura. Como princípio geral, é melhor aproveitar as tecnologias existentes, desde que satisfaçam adequadamente os requisitos funcionais e não funcionais. Uma estrutura é uma arquitetura de referência realizada, e. JBoss é uma estrutura que realiza a arquitetura de referência JEE. As seguintes tecnologias e frameworks são interessantes e devem ser consideradas na implementação de um sistema de negociação algorítmico:


CUDA - NVidia tem uma série de produtos que suportam modelagem de finanças computacionais de alto desempenho. Pode-se conseguir até 50x melhorias no desempenho ao executar simulações Monte Carlo na GPU em vez da CPU. Rio Apache - Rio é um kit de ferramentas usado para desenvolver sistemas distribuídos. Ele foi usado como uma estrutura para a construção de aplicativos com base no padrão SBA Apache Hadoop - no caso de registro invasivo ser um requisito, então o uso do Hadoop oferece uma solução interessante para o problema dos grandes dados. O Hadoop pode ser implantado em um ambiente em cluster que suporta tecnologias CUDA. AlgoTrader - uma plataforma de negociação algorítmica de código aberto. O AlgoTrader poderia ser implantado no lugar dos componentes do comerciante automatizado. FIX Engine - um aplicativo autônomo que aceita os protocolos do Financial Information Exchange (FIX), incluindo FIX, FAST e FIXatdl.


Embora não seja uma tecnologia ou uma estrutura, os componentes devem ser criados com uma interface de programação de aplicativos (API) para melhorar a interoperabilidade do sistema e seus componentes.


Conclusão.


A arquitetura proposta foi projetada para satisfazer requisitos muito genéricos identificados para sistemas de negociação algorítmica. Geralmente, os sistemas de negociação algorítmica são complicados por três fatores que variam de acordo com cada implementação:


Dependências em sistemas empresariais e de intercâmbio externos Requisitos não funcionais desafiadores e restrições arquitetônicas em evolução.


Por conseguinte, a arquitetura de software proposta deve ser adaptada caso a caso para satisfazer requisitos organizacionais e regulatórios específicos, bem como para superar restrições regionais. A arquitetura do sistema de negociação algorítmica deve ser vista como apenas um ponto de referência para indivíduos e organizações que desejam projetar seus próprios sistemas de negociação algorítmica.


Para uma cópia completa e fontes usadas, baixe uma cópia do meu relatório. Obrigado.


História anterior.


Requisitos do sistema de negociação algorítmica.


Próxima História.


Otimização de portfólio usando otimização de enxertia de partículas.


Excelente visão geral, e um bom começo na arquitetura. Sua conclusão foi adequada, e apontou por que os sistemas de software de negociação algorítmica requerem back-testing e ajustes constantes para mantê-los relevantes. Boa leitura!


1 de fevereiro de 2016.


Quando os dados de commodities ou renda fixa são imprecisos ou lentos em receber, os modelos podem ter dificuldade em calcular especialmente no espaço de um evento Black Swann.


Muito obrigado por este artigo. Estive pensando em AI em finanças desde o final da década de 90 e, finalmente, as tecnologias e as APIs estão comumente disponíveis. Seu artigo e blog são uma ótima ajuda para fazer esses primeiros passos para tornar realidade os sonhos dos anos anteriores. Muito obrigado e boa sorte em seus novos empreendimentos!


Mantenha-me atualizado no seu progresso. Estou muito interessado. Obrigado.


Envie um comentário.


Cancelar resposta.


Siga a Turing Finance.


Turing Finance Mailing List.


Amigos da Turing Finance.


Quantocracy é o melhor agregador de blog de finanças quantitativas com links para novas análises postadas todos os dias.


NMRQL é o fundo hedge quantitativo de que sou parte. Usamos a aprendizagem de máquinas para tentar vencer o mercado.


Tópicos práticos para TI Pros e outros.


As perguntas frequentes do protocolo FIX são publicadas.


Workshop de arquitetura do sistema de negociação de renda fixa em 26 de setembro.


Instrumentos de renda fixa Visão geral dos negociantes de renda fixa Jogadores de mercado de renda fixa Necessidades de empresas de corretor / negociantes (corretora) Requisitos / Características do sistema de negociação de renda fixa (do corretor / revendedor) Arquitetura da plataforma de negociação de renda fixa Vários componentes e funções Tecnologias populares usadas e produtos de fornecedores.


Publicações relacionadas.


Risk USA 2016 & # 8211; Desafios de dados de risco e # 038; Solução Big Data Platform.


My Book & # 8220; Gerenciando Contratos de Derivativos & # 8221; Liberado.


O que é Fatorado Nocional.


2 Comentários.


[& # 8230;] Arquitetura do sistema de negociação de renda fixa [& # 8230;]


Oi Khader, o seu blog na web é excelente. mantem . é tão.


útil. Nós iremos voltar aqui. Eu preciso de alguma informação. O que é SQL.


papel de análise uma pessoa que constrói um mestre de segurança para um.


empresa (por exemplo, renda fixa) corre ?? Preciso de uma tabela de banco de dados com registro.


nomes e nomes de campo nela e as instruções SQL. Por favor, despacha-te.


Deixe uma resposta Cancelar resposta.


Meu Livro "Gerenciando Contratos de Derivados" Lançado.


Arquitetura do piso comercial.


Idiomas disponíveis.


Opções de download.


Veja com o Adobe Reader em uma variedade de dispositivos.


Índice.


Arquitetura do piso comercial.


Visão geral executiva.


O aumento da concorrência, o maior volume de dados do mercado e as novas exigências regulatórias são algumas das forças motrizes que deram origem às 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 tecnologias mais recentes dos domínios de rede e de aplicativos. Tem que ser modular para fornecer um caminho gerenciável para evoluir cada componente com uma interrupção mínima no sistema geral. Portanto, a arquitetura proposta por este 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 aplicativos e redes.


O objetivo principal deste documento é fornecer diretrizes para a construção de uma plataforma de negociação de latência ultra baixa, ao mesmo tempo em que otimizamos o débito bruto e a taxa de mensagens tanto para os dados de mercado como para os pedidos de negociação FIX.


Para conseguir isso, estamos propondo as seguintes tecnologias de redução de latência:


• Conexão de alta velocidade interconectada ou InfiniBand ou 10 Gbps para o cluster de negociação.


• Autocarro de mensagens de alta velocidade.


• Aceleração de aplicativos via RDMA sem reconexão de aplicativo.


• Monitoramento de latência em tempo real e re-direção do tráfego comercial para o caminho com menor latência.


Tendências e desafios da indústria.


As arquiteturas de negociação de próxima geração precisam responder ao aumento das demandas de velocidade, volume e eficiência. Por exemplo, espera-se que o volume de dados de mercado de opções seja duplicado após a introdução das opções de negociação de penny em 2007. Existem também exigências regulatórias para a melhor execução, que exigem o manuseio de atualizações de preços a taxas que se aproximam de 1M msg / seg. para trocas. Eles também exigem visibilidade sobre o frescor dos dados e prova de que o cliente obteve a melhor execução possível.


No curto prazo, a velocidade de negociação e inovação são diferenciadores-chave. Um número crescente de negociações é tratada por aplicativos de negociação algorítmica colocados o mais próximo possível do local de execução comercial. Um desafio com estas "caixa preta" Os motores comerciais são que eles compõem o aumento de volume ao emitir ordens apenas para cancelá-los e enviá-los novamente. A causa desse comportamento é a falta de visibilidade em que local oferece melhor execução. O comerciante humano é agora um "engenheiro financeiro", & quot; um "quot" (analista quantitativo) com habilidades de programação, que pode ajustar modelos de negociação sobre a marcha. As empresas desenvolvem novos instrumentos financeiros, como derivados do tempo ou transações de classe de ativos cruzados, e precisam implementar os novos aplicativos de forma rápida e escalável.


A longo prazo, a diferenciação competitiva deve ser feita a partir da análise, não apenas do conhecimento. Os comerciantes de estrelas de amanhã assumem riscos, conseguem uma verdadeira visão do cliente e sempre vencem o mercado (fonte IBM: www-935.ibm/services/us/imc/pdf/ge510-6270-trader. pdf).


A resiliência empresarial tem sido uma das principais preocupações das empresas comerciais desde 11 de setembro de 2001. As soluções nesta área variam de centros de dados redundantes situados em diferentes regiões geográficas e conectados a vários locais de negociação para soluções de comerciantes virtuais que oferecem aos comerciantes de energia a maior parte da funcionalidade de um piso comercial 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 para Arquitetura Orientada a Serviços (SOA), serviços da Web e virtualização de recursos de TI. A SOA aproveita o aumento da velocidade da rede para permitir a ligação dinâmica e a virtualização de componentes de software. Isso permite a criação de novas aplicações sem perder o investimento em sistemas e infra-estrutura existentes. O conceito tem o potencial de revolucionar a forma como a integração é feita, permitindo reduções significativas na complexidade e custo dessa integração (gigaspaces / download / MerrilLynchGigaSpacesWP. pdf).


Outra tendência é a consolidação de servidores em fazendas de servidores de centros de dados, enquanto as lojas de comerciantes possuem apenas extensões KVM e clientes ultrafinos (por exemplo, soluções de lâminas SunRay e HP). As redes de área metropolitana de alta velocidade permitem que os dados de mercado sejam multicast entre diferentes locais, possibilitando a virtualização do piso comercial.


Arquitetura de alto nível.


A Figura 1 representa a arquitetura de alto nível de um ambiente comercial. A planta ticker e os mecanismos de negociação algorítmica estão localizados no cluster de negócios de alto desempenho no centro de dados da empresa ou na troca. Os comerciantes humanos estão localizados na área de aplicativos do usuário final.


Funcionalmente, existem dois componentes de aplicativos no ambiente comercial da empresa, editores e assinantes. O ônibus de mensagens fornece o caminho de comunicação entre editores e assinantes.


Existem dois tipos de tráfego específicos para um ambiente comercial:


• Dados de mercado - Realiza informações de preços para instrumentos financeiros, notícias e outras informações de valor agregado, como a análise. É unidirecional e muito sensível à latência, tipicamente entregue ao multicast UDP. É medido em atualizações / seg. e em Mbps. Os fluxos de dados do mercado de um ou vários feeds externos, provenientes de provedores 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, aplicativos especializados que normalizam e limpam os dados e enviam-no aos consumidores de dados, como motores de preços, aplicativos de negociação algorítmica ou comerciantes humanos. As empresas que vendem também enviam os dados de mercado para seus clientes, empresas de compra como fundos de investimento, hedge funds e outros gerentes de ativos. Algumas empresas compradoras podem optar por receber feeds diretos dos intercâmbios, reduzindo a latência.


Figura 1 Arquitetura de negociação para uma empresa Side Side / Sell Side.


Não existe um padrão industrial para formatos de dados de mercado. Cada troca tem seu formato proprietário. Os provedores de conteúdo financeiro, como Reuters e Bloomberg, agregam diferentes fontes de dados de mercado, normalizam e adicionam notícias ou análises. Exemplos de feeds consolidados são RDF (Reuters Data Feed), RWF (Reuters Wire Format) e Bloomberg Professional Services Data.


Para entregar dados de mercado de baixa latência, ambos os fornecedores lançaram 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, a Bloomberg desloca o feed de dados do 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 apoio para a 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 variar entre 150 milissegundos e 500 milissegundos. Esses feeds são mais complexos e mais caros e a empresa tem que construir e manter sua própria planta de ticker (financetech / featured / showArticle. jhtml? ArticleID = 60404306).


• Negociação de encomendas: este tipo de tráfego carrega os negócios reais. É bidirecional e muito sensível à latência. É medido em mensagens / seg. e Mbps. Os pedidos originam-se de uma empresa compradora ou comercial 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 eXchange-fixprotocol /). As aplicações que manipulam mensagens FIX são chamadas de motores FIX e eles se interagem com sistemas de gerenciamento de pedidos (OMS).


Uma otimização para FIX é denominada FAST (Fix Adapted for Streaming), que usa um esquema de compressão para reduzir o comprimento da mensagem e, de fato, reduzir a latência. FAST é direcionado mais para a entrega de dados de mercado e tem potencial para se tornar um padrã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).


O DMA é o processo automatizado de rotear uma ordem de valores mobiliários diretamente para um local de execução, evitando assim a intervenção de um terceiro (towergroup / research / content / glossary. jsp? Page = 1 e glossaryId = 383). DMA requer uma conexão direta com o local de execução.


O barramento de mensagens é um software de middleware de fornecedores como Tibco, 29West, Reuters RMDS, ou uma plataforma de código aberto como a 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 de tópicos", "quot; que é um subconjunto de dados de mercado definidos por critérios como símbolo de ticker, indústria ou uma certa cesta de instrumentos financeiros. Os assinantes se juntam a grupos de tópicos mapeados para um ou vários sub-tópicos para receber apenas as informações relevantes. No passado, todos os comerciantes receberam todos os dados do mercado. Nos atuais volumes de tráfego, isso seria sub-ótimo.


A rede desempenha um papel crítico no ambiente comercial. Os dados de mercado são levados ao balcão onde os comerciantes humanos estão localizados através de uma rede de alta velocidade Campus ou Metro Area. Alta disponibilidade e baixa latência, bem como alto rendimento, 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, dos motores FIX e dos sistemas de gerenciamento de pedidos. Um modelo de implantação alternativo possui os sistemas de negociação algorítmica localizados em uma troca ou um provedor de serviços com conectividade rápida para trocas múltiplas.


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:


• Centro de dados da empresa comercial (Figura 2) - Este é o modelo tradicional, onde uma plataforma de negociação de pleno direito é desenvolvida e mantida pela empresa com links de comunicação para todos os locais de negociação. A latência varia com a velocidade dos links e o número de lúpulos 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 comercial implementa sua plataforma de negociação automatizada o mais próximo possível dos locais de execução para minimizar a latência.


Figura 3 Modelo de implantação hospedado.


Arquitetura de negociação orientada para serviços.


Estamos propondo uma estrutura orientada a serviços para a construção da arquitetura de negociação da próxima geração. Esta abordagem fornece uma estrutura conceitual e um caminho de implementação baseado em modularização e minimização de interdependências.


Este quadro fornece às empresas uma metodologia para:


• Avalie seu estado atual em termos de serviços.


• Priorizar os serviços com base no seu valor para o negócio.


• Evolua a plataforma de negociação para o estado desejado usando uma abordagem modular.


A arquitetura de negociação de alto desempenho depende dos seguintes serviços, conforme definido pelo quadro de arquitetura de serviços representado na Figura 4.


Figura 4 Estrutura de Arquitetura de Serviços para Negociação de Alto Desempenho.


Tabela 1 Descrições e tecnologias de serviços.


Mensagens de latência ultra baixa.


Instrumento-aparelhos, agentes de software e módulos de roteador.


SO e virtualização de E / S, Remote Direct Memory Access (RDMA), TCP Offload Engines (TOE)


Middleware que paraleliza o processamento de aplicativos.


Middleware que acelera o acesso a dados para aplicativos, por exemplo, armazenamento em cache na memória.


Replicação multicast assistida por hardware através da rede; Optimizações multicast Layer 2 e Layer 3.


Virtualização de hardware de armazenamento (VSANs), replicação de dados, backup remoto e virtualização de arquivos.


Resiliência comercial e mobilidade.


Rede local e local de balanceamento e redes de campus de alta disponibilidade.


Serviços de aplicativos de área ampla.


Aceleração de aplicações através de uma conexão WAN para comerciantes que residem fora do campus.


Serviço de cliente fino.


Desacoplamento dos recursos de computação dos terminais enfrentados pelo usuário final.


Serviço de Mensagens de Latência Ultra-Baixa.


Esse serviço é fornecido pelo barramento de mensagens, que é um sistema de software que resolva o problema de conectar muitas aplicações. O sistema consiste em:


• Um conjunto de esquemas de mensagens pré-definidos.


• Um conjunto de mensagens de comando comuns.


• Uma infra-estrutura de aplicativos compartilhados para enviar as mensagens aos destinatários. A infra-estrutura compartilhada pode ser baseada em um corretor de mensagens ou em um modelo de publicação / assinatura.


Os principais requisitos para o barramento de mensagens de próxima geração são (fonte 29West):


• menor latência possível (por exemplo, menos de 100 microssegundos)


• 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 ônibus 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, tais 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 a interoperabilidade para aplicações escritas em diferentes plataformas e modularidade para que o middleware possa ser facilmente desenvolvido.


Em termos muito gerais, um servidor AMQP é análogo a um servidor de E-mail com cada troca atuando como um agente de transferência de mensagens e cada fila de mensagens como 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 então roteiam as mensagens para as caixas de correio. Os consumidores tomam mensagens de caixas de correio, o que cria um modelo poderoso e flexível que é simples (fonte: amqp / tikiwiki / tiki-index. php? Page = OpenApproach # Why_AMQP_).


Serviço de Monitoramento de Latência.


Os principais requisitos para este serviço são:


• Granularidade sub-milissegundo de medidas.


• Visibilidade em tempo real sem adicionar latência ao tráfego comercial.


• Capacidade de diferenciar a latência do processamento de aplicativos da latência de trânsito da rede.


• Capacidade de lidar com altas taxas de mensagens.


• Fornecer uma interface programática para aplicativos de negociação para receber dados de latência, permitindo que os mecanismos de negociação algorítmica se adaptem às condições de mudança.


• Correlação de eventos de rede com eventos de aplicativos para fins de soluçã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 agendada pela parte receptora.


Abordar o problema de latência é um problema complexo, que requer uma abordagem holística que identifique todas as fontes de latência e aplique diferentes tecnologias em diferentes camadas do sistema.


A Figura 5 mostra 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 possível solução e uma solução de monitoramento. Esta abordagem em camadas pode dar às empresas uma forma mais estruturada de atacar a questão da latência, pelo qual cada componente pode ser considerado 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 táticas de negociação. A capacidade de identificar a localização exata dos atrasos, seja na rede de ponta do cliente, no centro central de processamento ou no nível de aplicação da transação, determina a capacidade dos provedores de serviços de atender aos seus acordos de nível de serviço comercial (SLA). Para os formulários do buy-side e do sell-side, bem como para os comerciantes de dados de mercado, a rápida identificação e remoção de estrangulamentos se traduz diretamente em oportunidades de comércio e receita aprimoradas.


Figura 5 Arquitetura de gerenciamento de latência.


Ferramentas de monitoramento de baixa latência da Cisco.


As ferramentas tradicionais de monitoramento de rede operam com minutos ou segundos de granularidade. As plataformas de negociação de última geração, especialmente as que oferecem suporte à negociação algorítmica, requerem latências inferiores a 5 ms e níveis extremamente baixos de perda de pacotes. Em uma LAN Gigabit, uma microburst de 100 ms pode causar perda de 10.000 transtornos ou atraso excessivo.


A Cisco oferece aos seus clientes uma escolha de ferramentas para medir a latência em um ambiente comercial:


• Gerenciador de qualidade de banda (BQM) (OEM da Corvil)


• Solução de Monitoramento de Latência de Serviços Financeiros (FSMS) baseada em Cisco AON


Gerenciador de Qualidade de Banda Larga.


O Gerenciador de qualidade de banda (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. Embora a BQM não seja exclusivamente alvo de redes comerciais, sua visibilidade por microsecondes combinada com características de provisionamento de banda larga inteligentes o torna ideal para esses ambientes exigentes.


O Cisco BQM 4.0 implementa um amplo conjunto de tecnologias de análise de tráfego e de medição de tráfego patenteadas e pendentes de patente que proporcionam ao usuário uma visibilidade e uma compreensão sem precedentes de como otimizar a rede para obter o máximo desempenho de aplicativos.


O Cisco BQM agora é suportado na família de produtos do Cisco Application Deployment Engine (ADE). A família de produtos Cisco ADE é a plataforma de escolha para aplicativos de gerenciamento de rede da Cisco.


BQM Benefícios.


A micro visibilidade da Cisco BQM é a capacidade de detectar, medir e analisar eventos de transição de latência, jitter e perda induzindo níveis microscópios de granularidade por resolução de pacotes. Isso permite que o Cisco BQM detecte e determine o impacto dos eventos de trânsito na latência, jitter e perda da rede. Critical para ambientes de negociação é que o BQM pode suportar medições de latência, perda e jitter de um jeito para o tráfego TCP e UDP (multicast). Isso significa que ele é transparente, tanto para o tráfego comercial quanto para os feeds de dados de 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. BQM, em seguida, opera uma captura de pacote de rolagem de fundo. Sempre que ocorre uma violação de limite ou outro evento potencial de degradação de desempenho, ele desencadeia o Cisco BQM para armazenar a captura de pacotes no disco para análise posterior. Isso permite ao usuário examinar detalhadamente o tráfego de aplicativos que foi afetado pela degradação do desempenho ("as vítimas") e o tráfego que causou a degradação do desempenho (& quot; the culpits & quot;). Isso pode reduzir significativamente o tempo gasto no diagnóstico e na resolução de problemas de desempenho da rede.


O BQM também é capaz de fornecer recomendações detalhadas de aprovisionamento 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 da rede desejado.


Medidas BQM ilustradas.


Para entender a diferença entre algumas das técnicas de medição mais convencionais e a visibilidade fornecida pela BQM, podemos observar 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 Monitor de Qualidade de Rede Passiva (PNQM) da BQM e a latência medida pela injeção de pacotes de ping a cada 1 segundo no fluxo de tráfego.


Na Figura 6, vemos a latência relatada por pacotes de ping ICMP de 1 segundo para tráfego de rede real (é dividido por 2 para dar uma estimativa para o atraso de sentido único). Ele mostra o atraso confortavelmente abaixo de cerca de 5 ms por 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 pelo 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 está pairando em torno de 20 ms, com rajadas ocasionais muito maiores. A explicação é que, como o ping está enviando pacotes apenas a cada segundo, está perdendo a maior parte da latência do tráfego do aplicativo. Na verdade, os resultados do ping normalmente apenas indicam atraso de propagação de ida e volta em vez de latência de aplicação realista em toda a rede.


Figura 7 Latência relatada pelo PNQM para tráfego de rede real.


No segundo exemplo (Figura 8), vemos a diferença nos níveis de carga ou saturação de link relatados entre uma visão média de 5 minutos e uma visão de microburst de 5 ms (o BQM pode informar sobre microbursts para uma precisão de 10 a 100 nanosegundos). A linha verde mostra a utilização média em médias de 5 minutos para ser baixa, talvez até 5 Mbits / s. A trama azul escuro mostra a atividade de microburst de 5ms que atinge entre 75 Mbits / s e 100 Mbits / s, a velocidade da LAN efetivamente. 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 essas microbursas.


Figura 8 Diferença na carga de ligação relatada entre uma visão média de 5 minutos e uma visão de microburst de 5 ms.


Implementação do BQM na Rede de Negociação.


A Figura 9 mostra uma implantação BQM típica em uma rede comercial.


Figura 9 Implementação típica do BQM em uma rede comercial.


BQM pode então ser usado para responder a esses tipos de perguntas:


• Algum dos meus links de núcleo Gigabit LAN está saturado por mais de X milissegundos? Isso está causando perda? Quais links mais se beneficiarão de uma atualização para Etherchannel ou 10 Gigabit?


• O tráfego do aplicativo está causando a saturação dos meus links de 1 Gigabit?


• Algum dos dados do mercado está experimentando perda de ponta a ponta?


• Quanta latência adicional o centro de dados de failover tem? Este link está dimensionado corretamente para lidar com microbursts?


• Os meus comerciantes recebem baixas atualizações de latência da camada de distribuição de dados de mercado? Eles estão vendo atrasos maiores que X milésimos de segundo?


Ser capaz de responder a essas perguntas de forma simples e efetiva economiza tempo e dinheiro na execução da rede comercial.


O BQM é uma ferramenta essencial para obter visibilidade nos dados de mercado e nos ambientes de negociação. Ele fornece medições de latência granulométricas de ponta a ponta em infraestruturas complexas que experimentam movimentos de dados de alto volume. Detectar de forma eficaz microbursts em níveis de sub-milissegundos e receber análise especializada em um evento específico é inestimável para arquitetos de comércio. Recomendações de aprovisionamento de largura de banda inteligente, como dimensionamento e análise do que é necessário, proporcionam maior agilidade para responder a condições de mercado voláteis. À medida que a explosão do comércio algorítmico e o aumento das taxas de mensagens continuam, o BQM, combinado com sua ferramenta de QoS, fornece a capacidade de implementar políticas de QoS que podem proteger aplicativos comerciais importantes.


Solução de monitoramento de latência de serviços financeiros da Cisco.


A Cisco e a Trading Metrics colaboraram em soluções de monitoramento de latência para fluxo de pedidos FIX e monitoramento de dados de mercado. A tecnologia Cisco AON é a base para uma nova classe de produtos e soluções integrados na rede que ajudam a mesclar redes inteligentes com infra-estrutura de aplicativos, com base em arquiteturas orientadas para serviços ou tradicionais. A Trading Metrics é um fornecedor líder de software de análise para infra-estrutura de rede e fins de monitoramento de latência de aplicativos (trademetrics /).


O Cisco AON Financial Services Latency Monitoring Solution (FSMS) correlacionou dois tipos de eventos no ponto de observação:


• Os eventos de rede correlacionaram-se diretamente com a manipulação de mensagens de aplicativos coincidentes.


• Fluxo de pedidos comerciais e eventos de atualização de mercado correspondentes.


Usando selos de tempo afirmados no ponto de captura na rede, a análise em tempo real desses fluxos de dados correlacionados permite a identificação precisa de estrangulamentos em toda a infraestrutura enquanto um comércio está sendo executado ou os dados do 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 - selecionar para rotear 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 2600/2800/3700/3800.


- AON Blade para a série Cisco Catalyst 6500.


- AON 8340 Appliance.


• O software M & amp; A 2.0 da Metrics de Negociação, que fornece o aplicativo de monitoramento e alerta, exibe gráficos de latência em um painel de controle e emite alertas quando ocorrem desacelerações (trademetrics / TM_brochure. 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 roteadores e switches para gerar fluxos de tráfego sintéticos que podem ser medidos para latência, jitter, perda de pacotes e outros critérios (cisco / go / ipsla).


Dois conceitos-chave são a fonte do tráfego gerado e do alvo. Ambos executam um respondedor IP SLA, & quot; que tem a responsabilidade de anunciar o tráfego de controle antes que ele seja fornecido e retornado pelo alvo (para uma medida de ida e volta). Diversos tipos de tráfego podem ser obtidos dentro do IP SLA e visam métricas diferentes e direcionam diferentes serviços e aplicativos. A operação de jitter UDP é usada para medir o atraso de ida e volta e as variações do relatório. Como o tráfego é marcado com tempo nos dispositivos de envio e destino usando a capacidade de resposta, o atraso de ida e volta é caracterizado como o delta entre os dois timestamps.


Um novo recurso foi introduzido no IOS 12.3 (14) T, IP SLA Sub Millisecond Reporting, que permite que os marcadores de tempo sejam exibidos com uma resolução em microssegundos, proporcionando assim um nível de granularidade não disponível anteriormente. Este novo recurso tornou IP SLA relevante para redes de campus onde a latência da rede geralmente está na faixa de 300-800 microssegundos e a capacidade de detectar tendências e espinhas (tendências breves) com base em balcões de granularidade com microssegundos é um requisito para os clientes envolvidos no tempo Ambientes de negociação eletrônicos sensíveis.


Como resultado, o IP SLA agora está sendo considerado por um número significativo de organizações financeiras, pois todos eles enfrentam requisitos para:


• Informar a latência da linha de base para seus usuários.


• Tendência da latência da linha de base ao longo do tempo.


• Responda rapidamente a rajadas de tráfego que causam alterações na latência relatada.


O relatório de sub-milissegundos é necessário para esses clientes, uma vez que muitos campus e backbones estão atualmente entregando em um segundo de latência em diversos lúpulos alternativos. Os ambientes de negociação eletrônica geralmente funcionaram para eliminar ou minimizar todas as áreas de latência de dispositivos e redes para fornecer uma rápida realização de pedidos para o negócio. Informar que os tempos de resposta da rede são "apenas abaixo de um milissegundo" já não é suficiente; a granularidade das medições de latência relatadas em um segmento de rede ou backbone precisa ser mais próxima de 300-800 micro-segundos com um grau de resolução de 100 & igrave; segundos.


O IP SLA recentemente adicionou suporte para fluxos de teste de multicast IP, que podem medir a latência dos dados de mercado.


Uma topologia de rede típica é mostrada na Figura 11 com os roteadores de sombra IP SLA, fontes e respondedores.


Figura 11 Implantação IP SLA.


Serviços de computação.


Os serviços de computação abrangem uma ampla gama de tecnologias com o objetivo de eliminar a memória e os estrangulamentos da CPU criados pelo processamento de pacotes de rede. As aplicações de negociação consomem altos volumes de dados de mercado e os servidores têm que dedicar recursos ao processamento de tráfego de rede em vez de processamento de aplicativos.


• Processamento de transporte - Em altas velocidades, o processamento de pacotes de rede pode consumir uma quantidade significativa de ciclos de CPU e memória do servidor. Uma regra de padrão estabelecida indica que 1Gbps de largura de banda da rede requer 1 GHz de capacidade do processador (fonte do papel branco da Intel em aceleração de E / S intel / technology / ioacceleration / 306517.pdf).


• Cópia intermediária de buffer: em uma implementação de pilha de rede convencional, os dados precisam ser copiados pela CPU entre buffers de rede e buffers de aplicativos. Esta sobrecarga é agravada pelo fato de que as velocidades da 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 RAM passam por 400MHz (para a memória DDR 3200) (fonte Intel intel / technology / ioacceleration / 306517.pdf).


• Mudança de contexto - Toda vez que um pacote individual precisa ser processado, a CPU executa uma mudança de contexto do contexto do aplicativo para o contexto de tráfego da rede. Esta sobrecarga poderia ser reduzida se o interruptor ocorresse apenas quando o buffer de aplicação inteiro estiver completo.


Figura 12 Fontes de Sobrecarga em Servidores de Centro de Dados.


• TCP Offload Engine (TOE) - Descarrega os ciclos do processador de transporte para a NIC. Move as cópias do buffer de pilha do protocolo TCP / IP 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 para o aplicativo sem envolver o sistema operacional. Elimina cópias intermédias e de buffer de aplicativos (consumo de largura de banda de memória).


• bypass do kernel - acesso direto ao nível do usuário ao hardware. Diminui drasticamente os parâmetros do contexto do aplicativo.


Figura 13 RDMA e Kernel Bypass.


O InfiniBand é um link de comunicação serial bidirecional ponto-a-ponto (tecido comutado) que implementa o RDMA, entre outros recursos. Cisco offers an InfiniBand switch, the Server Fabric Switch (SFS): cisco/application/pdf/en/us/guest/netsol/ns500/c643/cdccont_0900aecd804c35cb. 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 Synapse's GridServer, applications can migrate, using pre-configured policies, to under-utilized servers in a supply-matches-demand process (networkworld/supp/2005/ndc1/022105virtual. html? page=2).


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 "head room" 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 (gridtoday/03/0210/101061.html).


This is called a data grid and is the first step in the process of creating what Gartner calls Extreme Transaction Processing (XTP) (gartner/DisplayDocument? ref=g_search&id=500947). 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. Today's data grids are localized in data centers connected by Metro Area Networks (MAN). This is mainly because the applications themselves have limits—they 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 servers—one 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 brokerage's 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 returns—there 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:


Another example is the Nasdaq Totalview service, broken up this way:


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. 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.


Details of Anycast RP can be found in:


The classic high availability design for Tibco in the brokerage network is documented in:


Bidirectional PIM.


PIM-Bidir is an optimization of PIM Sparse Mode for many-to-many applications. It has several key advantages over a PIM-SM deployment:


• Better support for intermittent sources.


• No data-triggered events.


One of the weaknesses of PIM-SM is that the network continually needs to react to active data flows. This can cause non-deterministic behavior that may be hard to troubleshoot. PIM-Bidir has the following major protocol differences over PIM-SM:


– No source registration.


Source traffic is automatically sent to the RP and then down to the interested receivers. There is no unicast encapsulation, PIM joins from the RP to the first hop router and then registration stop messages.


All PIM-Bidir traffic is forwarded on a *,G forwarding entry. The router does not have to monitor the traffic flow on a *,G and then send joins when the traffic passes a threshold.


– No need for an actual RP.


The RP does not have an actual protocol function in PIM-Bidir. The RP acts as a routing vector in which all the traffic converges. The RP can be configured as an address that is not assigned to any particular device. This is called a Phantom RP.


– No need for MSDP.


MSDP provides source information between RPs in a PIM-SM network. PIM-Bidir does not use the active source information for any forwarding decisions and therefore MSDP is not required.


Bidirectional PIM is ideally suited for the brokerage network in the data center of the exchange. In this environment there are many sources sending to a relatively few set of groups in a many-to-many traffic pattern.


The key components of the PIM-Bidir implementation are:


Further details about Phantom RP and basic PIM-Bidir design are documented in:


Source Specific Multicast.


PIM-SSM is an optimization of PIM Sparse Mode for one-to-many applications. In certain environments it can offer several distinct advantages over PIM-SM. Like PIM-Bidir, PIM-SSM does not rely on any data-triggered events. Furthermore, PIM-SSM does not require an RP at all—there is no such concept in PIM-SSM. The forwarding information in the network is completely controlled by the interest of the receivers.


Source Specific Multicast is ideally suited for market data delivery in the financial service provider. The FSP can receive the feeds from the exchanges and then route them to the end of their network.


Many FSPs are also implementing MPLS and Multicast VPNs in their core. PIM-SSM is the preferred method for transporting traffic in VRFs.


When PIM-SSM is deployed all the way to the end user, the receiver indicates his interest in a particular S, G with IGMPv3. Even though IGMPv3 was defined by RFC 2236 back in October, 2002, it still has not been implemented by all edge devices. This creates a challenge for deploying an end-to-end PIM-SSM service. A transitional solution has been developed by Cisco to enable an edge device that supports IGMPv2 to participate in an PIM-SSM service. This feature is called SSM Mapping and is documented in:


Storage Services.


The service provides storage capabilities into the market data and trading environments. Trading applications access backend storage to connect to different databases and other repositories consisting of portfolios, trade settlements, compliance data, management applications, Enterprise Service Bus (ESB), and other critical applications where reliability and security is critical to the success of the business. The main requirements for the service are:


Storage virtualization is an enabling technology that simplifies management of complex infrastructures, enables non-disruptive operations, and facilitates critical elements of a proactive information lifecycle management (ILM) strategy. EMC Invista running on the Cisco MDS 9000 enables heterogeneous storage pooling and dynamic storage provisioning, allowing allocation of any storage to any application. High availability is increased with seamless data migration. Appropriate class of storage is allocated to point-in-time copies (clones). Storage virtualization is also leveraged through the use of Virtual Storage Area Networks (VSANs), which enable the consolidation of multiple isolated SANs onto a single physical SAN infrastructure, while still partitioning them as completely separate logical entities. VSANs provide all the security and fabric services of traditional SANs, yet give organizations the flexibility to easily move resources from one VSAN to another. This results in increased disk and network utilization while driving down the cost of management. Integrated Inter VSAN Routing (IVR) enables sharing of common resources across VSANs.


Figure 18 High Performance Computing Storage.


Replication of data to a secondary and tertiary data center is crucial for business continuance. Replication offsite over Fiber Channel over IP (FCIP) coupled with write acceleration and tape acceleration provides improved performance over long distance. Continuous Data Replication (CDP) is another mechanism which is gaining popularity in the industry. It refers to backup of computer data by automatically saving a copy of every change made to that data, essentially capturing every version of the data that the user saves. It allows the user or administrator to restore data to any point in time. Solutions from EMC and Incipient utilize the SANTap protocol on the Storage Services Module (SSM) in the MDS platform to provide CDP functionality. The SSM uses the SANTap service to intercept and redirect a copy of a write between a given initiator and target. The appliance does not reside in the data path—it is completely passive. The CDP solutions typically leverage a history journal that tracks all changes and bookmarks that identify application-specific events. This ensures that data at any point in time is fully self-consistent and is recoverable instantly in the event of a site failure.


Backup procedure reliability and performance are extremely important when storing critical financial data to a SAN. The use of expensive media servers to move data from disk to tape devices can be cumbersome. Network-accelerated serverless backup (NASB) helps you back up increased amounts of data in shorter backup time frames by shifting the data movement from multiple backup servers to Cisco MDS 9000 Series multilayer switches. This technology decreases impact on application servers because the MDS offloads the application and backup servers. It also reduces the number of backup and media servers required, thus reducing CAPEX and OPEX. The flexibility of the backup environment increases because storage and tape drives can reside anywhere on the SAN.


Trading Resilience and Mobility.


The main requirements for this service are to provide the virtual trader:


• Fully scalable and redundant campus trading environment.


• Resilient server load balancing and high availability in analytic server farms.


• Global site load balancing that provide the capability to continue participating in the market venues of closest proximity.


A highly-available campus environment is capable of sustaining multiple failures (i. e., links, switches, modules, etc.), which provides non-disruptive access to trading systems for traders and market data feeds. Fine-tuned routing protocol timers, in conjunction with mechanisms such as NSF/SSO, provide subsecond recovery from any failure.


The high-speed interconnect between data centers can be DWDM/dark fiber, which provides business continuance in case of a site failure. Each site is 100km-200km apart, allowing synchronous data replication. Usually the distance for synchronous data replication is 100km, but with Read/Write Acceleration it can stretch to 200km. A tertiary data center can be greater than 200km away, which would replicate data in an asynchronous fashion.


Figure 19 Trading Resilience.


A robust server load balancing solution is required for order routing, algorithmic trading, risk analysis, and other services to offer continuous access to clients regardless of a server failure. Multiple servers encompass a "farm" and these hosts can added/removed without disruption since they reside behind a virtual IP (VIP) address which is announced in the network.


A global site load balancing solution provides remote traders the resiliency to access trading environments which are closer to their location. This minimizes latency for execution times since requests are always routed to the nearest venue.


Figure 20 Virtualization of Trading Environment.


A trading environment can be virtualized to provide segmentation and resiliency in complex architectures. Figure 20 illustrates a high-level topology depicting multiple market data feeds entering the environment, whereby each vendor is assigned its own Virtual Routing and Forwarding (VRF) instance. The market data is transferred to a high-speed InfiniBand low-latency compute fabric where feed handlers, order routing systems, and algorithmic trading systems reside. All storage is accessed via a SAN and is also virtualized with VSANs, allowing further security and segmentation. The normalized data from the compute fabric is transferred to the campus trading environment where the trading desks reside.


Wide Area Application Services.


This service provides application acceleration and optimization capabilities for traders who are located outside of the core trading floor facility/data center and working from a remote office. To consolidate servers and increase security in remote offices, file servers, NAS filers, storage arrays, and tape drives are moved to a corporate data center to increase security and regulatory compliance and facilitate centralized storage and archival management. As the traditional trading floor is becoming more virtual, wide area application services technology is being utilized to provide a "LAN-like" experience to remote traders when they access resources at the corporate site. Traders often utilize Microsoft Office applications, especially Excel in addition to Sharepoint and Exchange. Excel is used heavily for modeling and permutations where sometime only small portions of the file are changed. CIFS protocol is notoriously known to be "chatty," where several message normally traverse the WAN for a simple file operation and it is addressed by Wide Area Application Service (WAAS) technology. Bloomberg and Reuters applications are also very popular financial tools which access a centralized SAN or NAS filer to retrieve critical data which is fused together before represented to a trader's screen.


Figure 21 Wide Area Optimization.


A pair of Wide Area Application Engines (WAEs) that reside in the remote office and the data center provide local object caching to increase application performance. The remote office WAEs can be a module in the ISR router or a stand-alone appliance. The data center WAE devices are load balanced behind an Application Control Engine module installed in a pair of Catalyst 6500 series switches at the aggregation layer. The WAE appliance farm is represented by a virtual IP address. The local router in each site utilizes Web Cache Communication Protocol version 2 (WCCP v2) to redirect traffic to the WAE that intercepts the traffic and determines if there is a cache hit or miss. The content is served locally from the engine if it resides in cache; otherwise the request is sent across the WAN the initial time to retrieve the object. This methodology optimizes the trader experience by removing application latency and shielding the individual from any congestion in the WAN.


WAAS uses the following technologies to provide application acceleration:


• Data Redundancy Elimination (DRE) is an advanced form of network compression which allows the WAE to maintain a history of previously-seen TCP message traffic for the purposes of reducing redundancy found in network traffic. This combined with the Lempel-Ziv (LZ) compression algorithm reduces the number of redundant packets that traverse the WAN, which improves application transaction performance and conserves bandwidth.


• Transport Flow Optimization (TFO) employs a robust TCP proxy to safely optimize TCP at the WAE device by applying TCP-compliant optimizations to shield the clients and servers from poor TCP behavior because of WAN conditions. By running a TCP proxy between the devices and leveraging an optimized TCP stack between the devices, many of the problems that occur in the WAN are completely blocked from propagating back to trader desktops. The traders experience LAN-like TCP response times and behavior because the WAE is terminating TCP locally. TFO improves reliability and throughput through increases in TCP window scaling and sizing enhancements in addition to superior congestion management.


Thin Client Service.


This service provides a "thin" advanced trading desktop which delivers significant advantages to demanding trading floor environments requiring continuous growth in compute power. As financial institutions race to provide the best trade executions for their clients, traders are utilizing several simultaneous critical applications that facilitate complex transactions. It is not uncommon to find three or more workstations and monitors at a trader's desk which provide visibility into market liquidity, trading venues, news, analysis of complex portfolio simulations, and other financial tools. In addition, market dynamics continue to evolve with Direct Market Access (DMA), ECNs, alternative trading volumes, and upcoming regulation changes with Regulation National Market System (RegNMS) in the US and Markets in Financial Instruments Directive (MiFID) in Europe. At the same time, business seeks greater control, improved ROI, and additional flexibility, which creates greater demands on trading floor infrastructures.


Traders no longer require multiple workstations at their desk. Thin clients consist of keyboard, mouse, and multi-displays which provide a total trader desktop solution without compromising security. Hewlett Packard, Citrix, Desktone, Wyse, and other vendors provide thin client solutions to capitalize on the virtual desktop paradigm. Thin clients de-couple the user-facing hardware from the processing hardware, thus enabling IT to grow the processing power without changing anything on the end user side. The workstation computing power is stored in the data center on blade workstations, which provide greater scalability, increased data security, improved business continuance across multiple sites, and reduction in OPEX by removing the need to manage individual workstations on the trading floor. One blade workstation can be dedicated to a trader or shared among multiple traders depending on the requirements for computer power.


The "thin client" solution is optimized to work in a campus LAN environment, but can also extend the benefits to traders in remote locations. Latency is always a concern when there is a WAN interconnecting the blade workstation and thin client devices. The network connection needs to be sized accordingly so traffic is not dropped if saturation points exist in the WAN topology. WAN Quality of Service (QoS) should prioritize sensitive traffic. There are some guidelines which should be followed to allow for an optimized user experience. A typical highly-interactive desktop experience requires a client-to-blade round trip latency of <20ms for a 2Kb packet size. There may be a slight lag in display if network latency is between 20ms to 40ms. A typical trader desk with a four multi-display terminal requires 2-3Mbps bandwidth consumption with seamless communication with blade workstation(s) in the data center. Streaming video (800x600 at 24fps/full color) requires 9 Mbps bandwidth usage.


Figure 22 Thin Client Architecture.


Management of a large thin client environment is simplified since a centralized IT staff manages all of the blade workstations dispersed across multiple data centers. A trader is redirected to the most available environment in the enterprise in the event of a particular site failure. High availability is a key concern in critical financial environments and the Blade Workstation design provides rapid provisioning of another blade workstation in the data center. This resiliency provides greater uptime, increases in productivity, and OpEx reduction.


Advanced Encryption Standard.


Advanced Message Queueing Protocol.


Application Oriented Networking.


The Archipelago® Integrated Web book gives investors the unique opportunity to view the entire ArcaEx and ArcaEdge books in addition to books made available by other market participants.


ECN Order Book feed available via NASDAQ.


Chicago Board of Trade.


Class-Based Weighted Fair Queueing.


Continuous Data Replication.


Chicago Mercantile Exchange is engaged in trading of futures contracts and derivatives.


Central Processing Unit.


Distributed Defect Tracking System.


Acesso direto ao mercado.


Data Redundancy Elimination.


Dense Wavelength Division Multiplexing.


Rede de Comunicação Eletrônica.


Enterprise Service Bus.


Enterprise Solutions Engineering.


FIX Adapted for Streaming.


Fibre Channel over IP.


Financial Information Exchange.


Financial Services Latency Monitoring Solution.


Financial Service Provider.


Information Lifecycle Management.


Instinet Island Book.


Internetworking Operating System.


Keyboard Video Mouse.


Low Latency Queueing.


Metro Area Network.


Multilayer Director Switch.


Markets in Financial Instruments Directive.


Message Passing Interface is an industry standard specifying a library of functions to enable the passing of messages between nodes within a parallel computing environment.


Network Attached Storage.


Network Accelerated Serverless Backup.


Network Interface Card.


Nasdaq Quotation Dissemination Service.


Order Management System.


Open Systems Interconnection.


Protocol Independent Multicast.


PIM-Source Specific Multicast.


Qualidade de serviço.


Random Access Memory.


Reuters Data Feed.


Reuters Data Feed Direct.


Remote Direct Memory Access.


Regulation National Market System.


Remote Graphics Software.


Reuters Market Data System.


RTP Control Protocol.


Real Time Protocol.


Reuters Wire Format.


Storage Area Network.


Small Computer System Interface.


Sockets Direct Protocol—Given that many modern applications are written using the sockets API, SDP can intercept the sockets at the kernel level and map these socket calls to an InfiniBand transport service that uses RDMA operations to offload data movement from the CPU to the HCA hardware.


Server Fabric Switch.


Secure Financial Transaction Infrastructure network developed to provide firms with excellent communication paths to NYSE Group, AMEX, Chicago Stock Exchange, NASDAQ, and other exchanges. It is often used for order routing.


Como funcionam os sistemas comerciais.


A negociação automatizada algorítmica ou a negociação algorítmica foi no centro do mundo comercial há mais de uma década. The percentage of volumes attributed to algorithmic automated trading has seen a significant rise in the last decade. As a result, it has become a highly competitive market that is heavily dependent on technology. Conseqüentemente, a arquitetura básica de sistemas de negociação automatizados que executam estratégias algorítmicas sofreu grandes mudanças ao longo da última década e continua a fazê-lo. Para as empresas, especialmente aquelas que utilizam sistemas de negociação de alta freqüência, tornou-se uma necessidade de inovar em tecnologia para competir no mundo do comércio algorítmico, tornando assim a comercialização de algoritmos um foco de avanços nas tecnologias de computadores e redes.


Nesta publicação, desmistificaremos a arquitetura por trás dos sistemas de negociação automatizada para nossos leitores. Comparamos a nova arquitetura dos sistemas de negociação automatizados com a arquitetura comercial tradicional e compreendemos alguns dos principais componentes por trás desses sistemas.


Arquitetura Tradicional.


Qualquer sistema comercial, conceitualmente, não passa de um bloco computacional que interage com a troca em dois fluxos diferentes.


Recebe dados de mercado Envia solicitações de pedidos e recebe respostas da troca.


Os dados de mercado que são recebidos geralmente informam o sistema do último livro de pedidos. Pode conter algumas informações adicionais, como o volume negociado até o momento, o último preço e quantidade negociada para um script. No entanto, para tomar uma decisão sobre os dados, o comerciante pode precisar analisar valores antigos ou derivar determinados parâmetros do histórico. Para atender a isso, um sistema convencional teria um banco de dados histórico para armazenar os dados do mercado e as ferramentas para usar esse banco de dados. A análise também envolveria um estudo das tradições passadas pelo comerciante. Daí, outro banco de dados para armazenar as decisões comerciais também. Por último, mas não menos importante, uma interface GUI para o comerciante visualizar todas essas informações na tela.


Todo o sistema comercial pode agora ser dividido em.


A troca (s) - o mundo externo O servidor Mercado Data receptor Comercializar dados do mercado Armazenar ordens geradas pelo usuário Aplicação Pegue as entradas do usuário, incluindo as decisões de negociação Interface para visualizar as informações, incluindo os dados e ordens Um gerente de pedidos enviando ordens para o troca.


Nova arquitetura.


A arquitetura tradicional não pôde aumentar as necessidades e demandas do comércio automatizado com DMA. A latência entre a origem do evento para a geração da ordem foi além da dimensão do controle humano e entrou nos reinos de milissegundos e microssegundos. Assim, as ferramentas para lidar com dados do mercado e sua análise precisava se adaptar de acordo. O gerenciamento de pedidos também precisa ser mais robusto e capaz de lidar com mais pedidos por segundo. Since the time frame is so small compared to human reaction time, risk management also needs to handle orders in real time and in a completely automated way.


Por exemplo, mesmo que o tempo de reação para uma ordem seja de 1 milissegundo (o que é bastante comparado às latências que vemos hoje), o sistema ainda é capaz de fazer 1000 decisões comerciais em um único segundo. This means each of these 1000 trading decisions needs to go through the Risk management within the same second to reach the exchange. Este é apenas um problema de complexidade. Uma vez que a arquitetura agora envolve lógica automatizada, 100 comerciantes agora podem ser substituídos por um único sistema de negociação automatizado. Isso adiciona escala ao problema. Então, cada uma das unidades lógicas gera 1000 pedidos e 100 dessas unidades significam 100.000 pedidos a cada segundo. Isso significa que a tomada de decisão e a peça de envio de pedidos precisam ser muito mais rápidas do que o receptor de dados de mercado, de modo a combinar a taxa de dados.


Por isso, o nível de infra-estrutura que este módulo exige deve ser muito superior em comparação com o de um sistema tradicional (discutido na seção anterior). Daí o motor que executa a lógica da tomada de decisão, também conhecido como o mecanismo "Processamento de eventos complexos", ou CEP, mudou-se do aplicativo para o servidor. A camada de aplicação, agora, é pouco mais do que uma interface de usuário para visualizar e fornecer parâmetros para o CEP.


O problema da escala também leva a uma situação interessante. Digamos que 100 lógicas diferentes estão sendo executadas em um evento de dados de mercado único (como discutido no exemplo anterior). No entanto, pode haver peças comuns de cálculos complexos que precisam ser executados para a maioria das 100 unidades lógicas. For example, calculation of greeks for options. Se cada lógica funcionasse de forma independente, cada unidade faria o mesmo cálculo grega que iria desnecessariamente usar os recursos do processador. Para otimizar a redundância do cálculo, os cálculos redundantes complexos geralmente são mantidos em um mecanismo de cálculo separado que fornece os gregos como uma entrada para o CEP.


Embora a camada de aplicação seja principalmente uma visão, algumas das verificações de risco (que agora são operações com fome de recursos devido ao problema da escala), podem ser descarregadas para a camada de aplicação, especialmente aquelas que estão relacionadas com sanidade de entradas de usuários como o dedo gordo erros. O resto das verificações de risco são realizadas agora por um Sistema de Gerenciamento de Risco (RMS) separado no Gerenciador de Pedidos (OM), imediatamente antes de liberar um pedido. O problema da escala também significa que, quando anteriormente, havia 100 comerciantes diferentes gerenciando seus riscos, agora existe apenas um sistema RMS para gerenciar riscos em todas as unidades / estratégias lógicas. No entanto, algumas verificações de risco podem ser específicas para certas estratégias e alguns talvez precisem ser feitos em todas as estratégias. Daí o próprio RMS envolve, RMS de nível de estratégia (SLRMS) e RMS global (GRMS). Também pode envolver uma UI para visualizar o SLRMS e o GRMS.


Emergência de protocolos para sistemas de negociação automatizados.


Com inovações, as necessidades são necessárias. Uma vez que a nova arquitetura foi capaz de dimensionar para muitas estratégias por servidor, surgiu a necessidade de se conectar a vários destinos a partir de um único servidor. Assim, o gerenciador de pedidos hospedou vários adaptadores para enviar pedidos para vários destinos e receber dados de várias trocas. Cada adaptador atua como um intérprete entre o protocolo que é entendido pela troca e o protocolo de comunicação dentro do sistema. Intercâmbios múltiplos significam adaptadores múltiplos.


No entanto, para adicionar uma nova troca ao sistema, um novo adaptador deve ser projetado e conectado à arquitetura, uma vez que cada troca segue seu protocolo apenas otimizado para recursos fornecidos pela troca. Para evitar esse incômodo de adição de adaptador, os protocolos padrão foram projetados. O mais proeminente entre eles é o protocolo FIX (Financial Information Exchange) (veja nossa publicação na introdução ao protocolo FIX). Isso não só torna gerenciável conectar-se a destinos diferentes, mas também reduzir drasticamente o mercado para quando se conectar a um novo destino. Para leitura adicional: Conectando o FXCM ao FIX, um tutorial detalhado.


A presença de protocolos padrão facilita a integração com fornecedores de terceiros, também para análises ou feeds de dados de mercado. Como resultado, o mercado torna-se muito eficiente, pois a integração com um novo destino / fornecedor não é mais uma restrição.


Além disso, a simulação torna-se muito fácil, pois receber dados do mercado real e enviar ordens para um simulador é apenas uma questão de usar o protocolo FIX para se conectar a um simulador. O próprio simulador pode ser construído internamente ou adquirido de um fornecedor de terceiros. Os dados gravados de forma semelhante apenas podem ser reproduzidos com os adaptadores sendo agnósticos para saber se os dados estão sendo recebidos do mercado ao vivo ou de um conjunto de dados gravados.


Emergência de arquiteturas de baixa latência.


Com os blocos de construção de um sistema de negociação algorítmica no local, as estratégias otimizadas na capacidade de processar enormes quantidades de dados em tempo real e tomar decisões comerciais rápidas. Mas com o advento de protocolos de comunicação padrão como FIX, a barreira de entrada de tecnologia para configurar uma mesa de negociação algorítmica, tornou-se menor e, portanto, mais competitivo. À medida que os servidores obtiveram mais memória e freqüências de clock mais altas, o foco mudou para reduzir a latência para a tomada de decisões. Ao longo do tempo, reduzir a latência tornou-se uma necessidade por muitas razões, como:


A estratégia faz sentido apenas em um ambiente de baixa latência. Sobrevivência dos mais aptos - os concorrentes escolhem você se você não for rápido o suficiente.


O problema, no entanto, é que a latência é realmente um termo abrangente que engloba vários atrasos diferentes. Para quantificar todos eles em um termo genérico, geralmente não faz muito sentido. Embora seja muito fácil de entender, é bastante difícil quantificar. Por isso, torna-se cada vez mais importante como o problema da redução da latência é abordado.


Se olharmos para o ciclo de vida básico,


Um pacote de dados de mercado é publicado pela troca O pacote viaja pelo fio O pacote chega a um roteador do lado do servidor. O roteador encaminha o pacote pela rede do lado do servidor. O pacote chega na porta Ethernet do servidor. Dependendo se este é processamento UDP / TCP ocorre e o pacote despojado de seus cabeçalhos e trailers faz o caminho para a memória do adaptador. O adaptador então analisa o pacote e o converte em um formato interno para a plataforma de negociação algorítmica. Este pacote agora viaja através dos vários módulos do sistema - CEP, tick shop, etc. O CEP analisa e envia uma solicitação de pedido. através do reverso do ciclo como o pacote de dados do mercado.


Alta latência em qualquer uma dessas etapas garante uma latência alta durante todo o ciclo. Assim, a otimização de latência geralmente começa com o primeiro passo neste ciclo que está no nosso controle, ou seja, "o pacote viaja através do fio". A coisa mais fácil de fazer aqui seria encurtar a distância até o destino, tanto quanto possível. Colocações são instalações fornecidas por trocas para hospedar o servidor de negociação nas proximidades da troca. O diagrama a seguir ilustra os ganhos que podem ser feitos cortando a distância.


For any kind of a high frequency strategy involving a single destination, Colocation has become a defacto must. No entanto, as estratégias que envolvem múltiplos destinos precisam de um planejamento cuidadoso. Vários fatores, como o tempo gasto pelo destino para responder pedidos de pedidos e sua comparação com o tempo de ping entre os dois destinos, devem ser considerados antes de tomar essa decisão. A decisão também pode depender da natureza da estratégia.


A latência da rede geralmente é o primeiro passo na redução da latência geral de um sistema de comércio algorítmico. No entanto, existem muitos outros locais onde a arquitetura pode ser otimizada.


Latência de propagação.


A latência de propagação significa o tempo necessário para enviar os bits ao longo do fio, limitados pela velocidade da luz, é claro.


Foram introduzidas várias otimizações para reduzir a latência de propagação além de reduzir a distância física. Por exemplo, o tempo estimado de ida e volta para um cabo comum entre Chicago e Nova York é de 13,1 milissegundos. Spread networks, in October 2012, announced latency improvements which brought the estimated roundtrip time to 12.98 milliseconds. A comunicação por microondas foi adotada ainda mais por empresas como Tradeworx, trazendo o tempo estimado de ida e volta para 8,5 milissegundos. Observe que o mínimo teórico é de cerca de 7,5 milissegundos. As inovações contínuas estão empurrando os limites da ciência e alcançando rapidamente o limite teórico da velocidade da luz. Os últimos desenvolvimentos em comunicação a laser, adotados anteriormente em tecnologias de defesa, afugentaram ainda mais uma latência já diluída por nanosegundos em curtas distâncias.


Latência de processamento de rede.


Latência de processamento de rede significa latência introduzida por roteadores, switches, etc.


O próximo nível de otimização na arquitetura de um sistema de negociação algorítmico seria o número de lúpulos que um pacote levaria para viajar do ponto A ao ponto B. Um salto é definido como uma parte do caminho entre a fonte e o destino durante o qual um pacote não passa por um dispositivo físico como um roteador ou um switch. Por exemplo, um pacote pode percorrer a mesma distância através de dois caminhos diferentes. Mas pode ter dois saltos no primeiro caminho versus 3 saltos no segundo. Supondo que o atraso de propagação seja o mesmo, os roteadores e switches introduzem sua própria latência e geralmente como uma regra de polegar, mais o lúpulo é a latência adicionada.


A latência do processamento de rede também pode ser afetada pelo que chamamos de microbursas. Microbursts são definidos como um aumento súbito da taxa de transferência de dados que pode não afetar necessariamente a taxa média de transferência de dados. Uma vez que os sistemas de negociação algorítmica são baseados em regras, todos esses sistemas reagirão ao mesmo evento da mesma maneira. Como resultado, muitos sistemas participantes podem enviar ordens que levam a uma onda repentina de transferência de dados entre os participantes e o destino que leva a um microburst. O diagrama a seguir representa o que é um microburst.


The first figure shows a 1 second view of the data transfer rate. Podemos ver que a taxa média está bem abaixo da largura de banda disponível de 1Gbps. However if dive deeper and look at the seconds image (the 5 millisecond view), we see that the transfer rate has spiked above the available bandwidth several times each second. Como resultado, os buffers de pacotes na pilha de rede, tanto nos pontos de extremidade da rede quanto nos roteadores e switches, podem transbordar. Para evitar isso, normalmente uma largura de banda muito superior à taxa média observada é geralmente alocada para um sistema de comércio algorítmico.


Latência de serialização.


A latência de serialização significa o tempo necessário para puxar os bits para dentro e fora do fio.


Um tamanho de pacote de 1500 bytes transmitidos em uma linha T1 (1.544.000 bps) produziria um atraso de serialização de cerca de 8 milissegundos. No entanto, o mesmo pacote de 1500 bytes usando um modem de 56K (57344bps) levaria 200 milissegundos. Uma linha Ethernet 1G reduziria essa latência para cerca de 11 microssegundos.


Latência de interrupção.


A latência de interrupção significa uma latência introduzida por interrupções ao receber os pacotes em um servidor.


A latência de interrupção é definida como o tempo decorrido entre quando uma interrupção é gerada quando a fonte da interrupção é atendida. Quando é gerada uma interrupção? Interrupções são sinais para o processador emitido por hardware ou software, indicando que um evento precisa de atenção imediata. O processador, por sua vez, responde suspendendo sua atividade atual, salvando seu estado e manipulando a interrupção. Sempre que um pacote é recebido no NIC, uma interrupção é enviada para lidar com os bits que foram carregados no buffer de recebimento da NIC. O tempo necessário para responder a esta interrupção não afeta apenas o processamento da nova carga útil, mas também a latência dos processos existentes no processador.


Solarflare introduced open onload in 2011, which implements a technique known as kernel bypass, where the processing of the packet is not left to the operating system kernel but to the userspace itself. Todo o pacote é diretamente mapeado para o espaço do usuário pela NIC e é processado lá. Como resultado, as interrupções são completamente evitadas.


Como resultado, a taxa de processamento de cada pacote é acelerada. The following diagram clearly demonstrates the advantages of kernel bypass.


Latência da aplicação.


A latência da aplicação significa o tempo gasto pelo processo para processar.


Isso depende dos vários pacotes, do processamento alocado para a lógica do aplicativo, da complexidade do cálculo envolvido, da eficiência da programação, etc. O aumento do número de processadores no sistema, em geral, reduzirá a latência da aplicação. O mesmo ocorre com o aumento da frequência do relógio. Muitos sistemas de negociação algorítmica aproveitam a dedicação de núcleos de processadores para elementos essenciais da aplicação, como a lógica de estratégia, por exemplo. Isso evita a latência introduzida pela troca do processo entre os núcleos.


Similarly, if the programming of the strategy has been done keep in mind the cache sizes and locality of memory access, then there would be a lot of memory cache hits resulting further reduction of latency. Para facilitar isso, muitos sistemas usam linguagens de programação de nível muito baixo para otimizar o código para a arquitetura específica dos processadores. Algumas empresas chegaram até a extensão da queima de cálculos complexos em hardware usando matrizes de portas totalmente programáveis ​​(FPGA). Com a crescente complexidade vem o custo crescente e o diagrama a seguir ilustra isso.


Níveis de sofisticação.


O mundo do comércio algorítmico de alta freqüência entrou em uma era de competição intensa. Com cada participante adotando novos métodos de expulsão da concorrência, a tecnologia progrediu aos trancos e barrancos. As arquiteturas de negociação algorítmica modernas são bastante complexas em comparação com as suas partes anteriores. Consequentemente, os sistemas avançados são mais caros de construir tanto em termos de tempo e dinheiro.


Conclusão:


Esta foi uma publicação detalhada sobre a arquitetura do sistema de negociação algorítmica, com certeza nós damos um conhecimento muito profundo dos componentes envolvidos e também dos vários desafios que os desenvolvedores de arquitetura precisam lidar / superar para construir sistemas de negociação automatizados robustos.


Se você quiser aprender vários aspectos da negociação algorítmica, consulte o Programa Executivo em Negociação Algorítmica (EPAT ™). O curso abrange módulos de treinamento como Statistics & amp; Econometria, Computação Financeira e Tecnologia e Algorítmica e Negociação quantitativa. EPAT ™ equipa você com os conjuntos de habilidades necessárias para construir uma carreira promissora na negociação algorítmica. Inscreva-se agora!


Posts Relacionados:


2 thoughts on “ How Trading Systems Function ”


December 15, 2017.


Postagem muito boa. Eu simplesmente tropecei em seu blog e queria dizer que eu realmente gostei de navegar em suas postagens no blog. Afinal, vou me inscrever no seu feed e espero que você escreva novamente em breve!


December 15, 2017.


Estamos realmente satisfeitos por você gostar de nossas postagens. A apreciação é o que nos mantém em pé.


Certifique-se de continuar adicionando conteúdo fresco periodicamente. Compartilhe nossas postagens e ajude-nos a espalhar a palavra sobre como as pessoas podem aproveitar a partir de negociação algorítmica e quantitativa.

Comments

Popular posts from this blog

50 bônus de boas-vindas forex

A estratégia de negociação de arbitragem implica que

Ashish forex vrindavan