Fpga trading systems


Os sistemas de negociação em FPGA8482 reduzem a latência do comércio Publicado em 16 de setembro de 2010 Latência de resposta comercial reduzida a menos de dois microsecando combinando NASDAQ ITCH e OUCH em uma única FPGA David Buechner, vice-presidente, Impulso: ferramentas de impulso são usadas em grandes empresas financeiras e hedge Fundos onde eles equiparam matemáticos e desenvolvedores de algoritmos para melhorar drasticamente a latência. Os Sistemas de Negociação em FPGAtrade (infpga) anunciaram um projeto de referência comercial automatizado acelerado por hardware que executa o manuseio de alimentação NASDAQ ITCH e entrada de ordem OUCH de saída em 10Gb Ethernet, com menos de dois microsegundos de latência. O sistema deve ser mostrado no show e conferência de mercados financeiros de alto desempenho 2010, stand 424, em Nova York em 20 de setembro de 2010. O sistema FPGA visa permitir que os comerciantes obtenham latências de resposta que são uma fração do que Pode ser alcançado usando sistemas baseados em CPU. Os visitantes do show poderão ver o hardware real usado para decodificação de dados de mercado e entrada de pedidos de saída, com todas as funcionalidades executadas inteiramente na lógica Field Programmable Gate Array (FPGA) de alto desempenho. Espera-se que o sistema resultante atinja a latência de 2 microssegundos, com as melhorias esperadas no processo de produção ao longo de 2010. Essas plataformas de referência baseadas em FPGA visam operar em várias vezes a velocidade de servidores baseados em microprocessadores maiores. É tudo sobre latência comercial, disse Cameron Elliott, designer-chefe do sistema FPGA. A negociação baseada em FPGA pode responder aos dados do mercado uma ordem de grandeza mais rápida do que os servidores baseados em Linux e 2-5 vezes mais rápido do que os sistemas híbridos CPUFPGA. Grande parte do ganho vem da simplificação do caminho do hardware, consolidando o processamento em um chip de hardware e eliminando caminhos de alta latência. O que torna isso mais emocionante para os comerciantes é que eles podem implementar sua lógica de gatilho comercial em linguagem C usando Impulse C, ao invés de ter que aprender linguagens de descrição de hardware, como Verilog ou VHDL, ou ter que passar seus modelos para engenheiros de hardware para tradução . As ferramentas de Impulso estão em uso nas principais empresas financeiras e hedge funds, onde eles equiparam matemáticos e desenvolvedores de algoritmos para melhorar drasticamente a latência. O sistema de negociação e o aplicativo de referência no FPGAs permitem que os desenvolvedores de software usem a aceleração de hardware para processamento Ethernet de 10Gb, disse David Buechner, vice-presidente de Impulso. Isso oferece uma tecnologia disruptiva para empresas comerciais que querem ser as primeiras na fila com seus negócios. Itens Populares TP ICAP nomeia Iain Plunkett como relatório de bloqueio de questões do COO FINRA, busca comentário. A Deutsche Boerse apresenta o conceito de bloqueio para transferência de dinheiro sem risco Preqin: os retornos dos fundos de hedge atingem o máximo de três anos em 2017 Nomes CFTC J. Christopher Giancarlo Presidente em exercício Citi para pagar USD 25 milhões para spoofing nos mercados de futuros do Tesouro dos EUA Copyright copy Automated Trader Ltd 2017 - Estratégias de Tecnologia de Conformidade Eu li sobre diferentes implementações de sistemas HFT em FPGAs. A minha pergunta é, que parte dos sistemas HFT são implementados principalmente em FPGAs atualmente. FPGAs ainda são muito populares. Somente o manipulador de feed implementado nos FPGAs. Como alguns desses sistemas descritos acima possuem apenas um manipulador de feed implementado no FPGA, porque a estratégia muda Demais, ou é muito difícil de implementar em FPGAs. Outros afirmam que também implementaram estratégias de negociação em FPGAs ou usando NIC de alto desempenho em vez de FPGAs para construir sistemas HFT. Eu li sobre abordagens diferentes, mas acho difícil de comparar, pois a maioria dos resultados são testados em diferentes conjuntos de entrada. Perguntou 9 de março às 21:06 Heres uma maneira de pensar sobre isso: imagine que você pode fazer algo em um ASIC (ou seja, diretamente em hardware). No entanto, o processo de fabricação é em si caro, e você obtém um design que você não pode mudar depois. Os ASIC fazem sentido para tarefas predefinidas, como a mineração Bitcoin, algoritmos de processamento de dados bem conhecidos, etc. Por outro lado, temos CPUs comuns (assim como CPUs e GPUs de coprocessador) que são de propósito geral, mas processam um pequeno (em termos De instruções simultâneas) conjunto de instruções a uma velocidade muito alta. FPGAs são o meio termo. Eles são emuladores de hardware e, como tal, podem ser considerados 10x mais lentos do que o hardware real, mas ainda são mais performantes para operações simultâneas do que as CPUs, desde que você possa utilizar o dado para espalhar sua lógica de acordo. Alguns usos de FPGAs são: transcodificação de vídeo (por exemplo, descodificação de vídeo HD em TVs), bem como várias placas de aquisição de dados Análise de estrutura de dados fixa (análise de Regex) Simulação de sistema discreto (por exemplo, simulando o resultado de um jogo de cartas) Muito embutido corretamente Aplicativos como, por exemplo, Na pesquisa aeroespacial ou científica O problema com FPGAs para usos quant é que não é tão bom para cálculos de ponto flutuante, especialmente porque as CPUs comuns já estão otimizadas para isso com coisas como o SIMD. No entanto, para qualquer estrutura de dados de ponto fixo ou de tamanho fixo, o design FPGA permite que você configure o dispositivo para fazer muito processamento ao mesmo tempo. Algumas coisas feitas na negociação estão usando o FPGA para manipuladores de feed (analisando diretamente do fluxo de rede), bem como construindo certas partes da estrutura de negociação (por exemplo, livros de pedidos) em hardware para poder lidar com a estrutura de dados em rápida mudança sem Carregando a CPU. As FPGAs visam principalmente abordar a preocupação de processar dados rapidamente, sem pagar os custos de propagação. Isto está particularmente em contraste com dispositivos como o GPGPU (ou qualquer placa de residência PCI, como o Xeon Phi) que pagam penalidades de desempenho para obter dados do dispositivo. Dito isto, as opções DMA estão melhorando a este respeito, também. FPGAs são realmente nada mais do que os mesmos blocos de lógica repetidos repetidamente em todo o silício, com switches configuráveis ​​para conectar os blocos de lógica juntos. Isso torna os FPGAs muito bons - e rápidos - em lidar com problemas repetitivos que podem ser descritos em um circuito de hardware que não muda durante a operação. E você pode ter literalmente milhares ou dezenas de milhares desses circuitos, todos funcionando em paralelo ao mesmo tempo, em apenas um FPGA. As CPUs, por outro lado, são baseadas em torno da ALU, que carrega instruções, carrega dados, opera nos dados, talvez armazena os resultados, e depois faz tudo de novo. As CPUs são muito boas - e rápidas - em lidar com problemas que estão mudando continuamente - tanto em tamanho como em escopo e em alternar entre tarefas diferentes. A CPU ou o núcleo de hoje terá dezenas a centenas de ALUs com tubulações paralelas para dados e instruções, o que os torna muito rápidos em problemas complexos que podem ser trabalhados em paralelo. Esses projetos tornam os FPGAs mais rápidos em problemas mais simples que podem ser atacados com uma vasta arquitetura paralela - como a condensação de múltiplos feeds de dados em menos de micro-segundo, de fio a fio, ou desencadear uma compra, venda ou cancelamento pré-calculados Em um preço que corresponde a um padrão específico. As CPUs são mais rápidas em problemas mais complexos que exigem menor paralelismo, como o cálculo da cesta de compras, venda e cancelamentos necessários para manter um portfólio ajustado ou integrando uma série de fontes de preços e notícias de idade e qualidade variáveis ​​em indicadores comerciais usados ​​por Comerciantes e gerentes para decidir quais os ajustes que farão para o sistema de negociação. Onde FPGAs são usados ​​em HFT depende muito da arquitetura de determinada loja. Eles são melhor utilizados executando tarefas simples, repetitivas e amplas e realizando-as rapidamente. As CPUs são uma faca suiça que pode fazer mais nada, especialmente onde os requisitos estão mudando e as dimensões do problema não são totalmente compreendidas desde o início. Respondeu 11 de março às 17:10 Sua pergunta realmente não faz muito sentido. É como perguntar o quanto da fiação na infra-estrutura comercial usa fibra ótica e quanto dela usa cobre. A melhor resposta que podemos dar a você é que uma FPGA não é uma bala mágica. Esta é uma interpretação incorreta do livro branco Ciscos. Existe uma superposição muito pequena entre os casos de uso do tecido de troca e os de um FPGA. Que parte dos sistemas HFT são principalmente implementados em FPGAs atualmente Atualmente, os FPGAs são freqüentemente usados ​​em nossas impressoras e set-top boxes. Respondeu 9 de março às 21:55 Eu quero destacar o bloco de processamento de sinal digital (DSP) com ALUs. Atualmente, os FPGAs têm centenas de blocos DSP programáveis, o maior que tem milhares. Agora, de repente, você tem milhares de pequenos processadores à sua disposição, todos capazes de realizar cálculos em paralelo. Isso é muito superior ao paralelismo fornecido pelo Xeon Phi ou GPUs. Na verdade, se você estiver fazendo modelagem de preços de opções ou modelagem de risco estocástico no FPGA, você pode obter mais de 100 vezes o aumento no desempenho em comparação com as GPUs mais recentes e ainda mais em comparação com as últimas CPUs. Junto com os blocos DSP, o outro fator importante neste ganho de desempenho é o cache de memória. O FPGA possui RAM RAM distribuída que é extremamente rápida, permitindo que a largura de banda de 100 TB seja alcançada no nível do datapath. O uso de FPGAs de hoje para estratégias de algoritmo oferece um recurso de computação grande e massivamente concorrente capaz de dar um aumento de desempenho de 100 a 1000 vezes em comparação com GPUs ou CPUs. A advertência principal é que você teria que se tornar proficiente na escrita em Verilog ou VHDL :) Sanjay Shah CTO Nanospeed respondeu 5 de agosto às 18:05 Uma variedade de processadores poderosos e de vários núcleos estão começando a entrar no hardware Espaço de aceleração que anteriormente era completamente propriedade de FPGAs. Empresas como a Tilera, a Adapteva e a Coherent Logix fornecem todos esses processadores aqui nos EUA, e a Enyx da França também faz incursões. A verdadeira medida de eficácia desses processadores massivamente paralelos reside na maturidade de suas ferramentas de software. É aí que o potencial usuário deve concentrar sua atenção. Ninguém quer programar ou depurar dezenas ou centenas de núcleos usando técnicas manuais. Claro, é evidente que a largura de banda IO é tão importante. Na minha experiência pessoal neste espaço, eu vejo a adoção pelos clientes dos processadores Coherent Logix como co-processadores ou aceleradores de hardware para aceleração de linguagem em C. Ao aproveitar o ciclo de design rápido de um ambiente baseado em C, alguns programadores podem ajustar o código para o conteúdo de seus corações e não se preocupar com a codificação HDL dispendiosa e intensiva em tempo para FPGAs. O particionamento ideal é que os FPGAs façam o que melhor fazem - repararam operações repetitivas - e os processadores de vários núcleos fazem o que melhor fazem: acelerar a produtividade e a velocidade de execução dos desenvolvedores. John Irza, Gerente de Desenvolvimento de Negócios, Coherent Logix, Inc. respondeu em 6 de agosto às 0:42 Quase todas as lojas HFT usam a arquitetura FPGA. Esses dispositivos precisam ser substituídos com freqüência, já que são rapidamente superados pelas últimas melhorias em velocidade, pipelines, paralelismo, etc. A menos que você esteja pronto para investir 2 milhões por ano, descubra outra estratégia. Muitas pessoas estão fazendo movimentos de preço diários com caneta e papel estão fazendo bilhões em Omaha, NB. Respondeu Jul 28 16 às 10:31 Sua resposta 2017 Stack Exchange, IncFramework acelera o desenvolvimento de aplicativos de sistemas financeiros de baixa latência. Desde o advento do comércio eletrônico, uma corrida de velocidade se seguiu para construir as plataformas de negociação mais rápidas e inteligentes. O tempo de resposta diminuiu de segundos, para milissegundos, para microssegundos. A unidade para o tempo de resposta de microssegundo e sub-microssegundo simplesmente não é possível com o software tradicional ou arquiteturas de hardware simples, um fato que impulsiona a adoção de tecnologia de matriz de portas programável em campo (FPGA) em sistemas de latência ultralateral. Para reduzir o risco envolvido no desenvolvimento de código de linguagem de descrição de hardware (HDL) nativamente em uma placa Ethernet FPGA, ao mesmo tempo que reduz o tempo de desenvolvimento, a AdvancedIO foi pioneira no uso de frameworks FPGA para comunicações de 10 Gigabit Ethernet (10GE). O conjunto de ferramentas de estrutura de desenvolvimento AdvancedIO expressXG fornece a infra-estrutura necessária para garantir a rápida implantação de serviços financeiros e permite uma portabilidade perfeita para a última geração de cartões FPGA. - Rafeh Hulays, PhD, Vice-Presidente, Desenvolvimento de Negócios, AdvancedIO Systems Inc. Informações Adicionais

Comments