Thursday 15 June 2017

Fpga In Trading Systems


Li sobre implementações diferentes de sistemas HFT em FPGAs. A minha pergunta é, que parte dos sistemas HFT são implementados principalmente em FPGAs hoje em dia. Os FPGAs ainda são muito populares. É apenas 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, já que a maioria dos resultados são testados em diferentes conjuntos de entrada. Perguntou Mar 9 14 à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, Em 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 alimentação (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 processamento rápido de dados sem pagar os custos de propagação. Isto é 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 de 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 armazene os resultados e depois faça 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 na alternância entre diferentes tarefas. 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 diferentes idades e qualidade em indicadores comerciais usados ​​por Comerciantes e gerentes para decidir quais os ajustes que farão no sistema de negociação. Onde FPGAs são usados ​​em HFT depende muito da arquitetura de uma determinada loja. Eles são melhor utilizados executando tarefas simples, repetitivas e amplas e realizando-as rapidamente. As CPUs são uma faca suíç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 documento 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. Os FPGAs de hoje 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. De fato, 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 mais recentes CPUs. Junto com os blocos DSP, o outro fator principal 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 fornece um recurso de computação grande e massivamente concorrente que é capaz de dar um aumento de desempenho de 100 a 1000 vezes em comparação com GPUs ou CPUs. A principal ressalva é 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 poderosos processadores 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, com a Enyx da França também fazendo 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 do cliente 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 codificação HDL dispendiosa e intensiva em tempo para FPGAs. O particionamento ideal é que as FPGAs façam o que melhor fazem - as operações repetitivas reparadas - e os processadores de vários núcleos fazem o que melhor fazem: acelerar a produtividade e a velocidade de execução dos programadores. John Irza, Gerente de Desenvolvimento de Negócios, Coherent Logix, Inc. respondeu 6 de agosto às 01:42 Quase todas as lojas HFT usam a arquitetura FPGA. Esses dispositivos precisam ser substituídos com freqüência, pois 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ços diários com caneta e papel estão fazendo bilhões em Omaha, NB. Respondeu 28 de julho 16 às 10:31 Sua resposta 2017 Stack Exchange, Incin-FPGA8482 Sistemas de negociação reduzem a latência comercial Primeiro Publicado em 16 de setembro de 2010 Latência de resposta comercial reduzida para menos de dois microsecando combinando NASDAQ ITCH e OUCH em uma única FPGA David Buechner, Vice-Presidente Impulso: as ferramentas de impulso são usadas em grandes empresas financeiras e hedge funds, 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 a entrada de ordem OUCH de saída em execução em Ethernet de 10Gb, com menos de dois microsegundos de latência. O sistema deve ser mostrado no show e conferência de mercado financeiro de computação 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 descodificação de dados de mercado e entrada de pedidos de saída, com todas as funcionalidades executadas inteiramente na lógica de matriz de portas programáveis ​​de campo (FPGA) de alto desempenho. Espera-se que o sistema resultante atinja a latência de menos de 2 microsecondos, com as melhorias esperadas no throughput sendo feitas ao longo de 2010. Essas plataformas de referência baseadas em FPGA têm como objetivo operar em várias vezes a velocidade de servidores baseados em microprocessadores maiores. É tudo sobre a 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 em grandes 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 o processamento Ethernet 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 Deutsche Boerse apresenta conceito de bloqueio para bolsas de transferência de dinheiro sem risco Global Portfolio e ETF Trading Group lança mercado de referência no algoritmo de fechamento Tullett Prebon amp SGX para lançamento de índice de preços spot para Dubai, Kuwait e Índia Xignite expande equipe de liderança, abre planos de NY NYSE escritório NYSE Choque de velocidade para NYSE MKT TRADEcho lança MiFID II Smart Report Router Copy de direitos autorais Trader Ltd 2017 - Estratégias de Conformidade TechnologyFramework acelera o desenvolvimento de aplicativos de sistemas financeiros de baixa latência. Desde o advento do comércio eletrônico, uma corrida pela velocidade se seguiu para construir as plataformas de negociação mais rápidas e inteligentes. O tempo de resposta diminuiu de segundos, em 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 ExpressXG AdvancedIO fornece a infraestrutura 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 APIs - FPGAs de Perfecção Paralela (Matrizes de Portas Programáveis ​​de Campo) podem não ser uma nova tecnologia, mas como a corrida de trituração de dados na negociação automatizada de padrões continua a se intensificar, elas poderiam ser Uma idéia cujo tempo finalmente chegou AT conversa com Alistair MacArthur, engenheiro de pesquisa sênior da Celoxica, que discute a tecnologia atual de FPGA e descreve seu potencial para tarefas, como a análise de feeds de notícias algorítmicas. Qual é a idade dos FPGAs como conceito de tecnologia? Mais de vinte anos. O conceito original foi desenvolvido por dois dos fundadores da Xilinx - Ross Freeman e Bernie Vonderschmitt - em cerca de 1984. A idéia de Ross Freemans era que, ao invés de usar um processador genérico e software de escrita para executá-lo, poderia personalizar chips eletrônicos para executar especificações Tarefas, programando-as diretamente. Com efeito, os cálculos dos programas seriam implementados em hardware e não em software. O nome genérico para este tipo de chip é um Dispositivo Lógico Programável (PLD), sendo os FPGA um subconjunto desses. Então, o que um chip FPGA realmente consistirá é essencialmente uma forma complexa de memória de acesso aleatório estático (SRAM - um tipo de memória muito rápido comumente usado no cache de chips em processadores convencionais de computador). Embora os FPGAs modernos possam conter uma série de componentes adicionais, os três componentes principais são registradores, geradores de funções (também conhecidos como tabelas de pesquisa ou LUTS) e o relógio FPGA. Cada gerador de funções contém um conjunto de gateways lógicos1. Geralmente é apresentado de modo que tenha quatro entradas, uma saída e uma porta de configuração através das quais as portas lógicas estão configuradas. O conceito básico de operação é que cada gerador de função pode ser configurado para produzir uma saída específica para um determinado conjunto de entradas. Isso pode ser pensado como uma tabela de verdade. Por exemplo, um gerador de função de 4 entradas poderia realizar uma combinação binária de 2 bits. Os registros são essencialmente células de armazenamento individuais, cada uma capaz de armazenar um bit (ou um 0 ou um 1) de dados. No entanto, assim como os portões lógicos em um gerador de função podem ser configurados por um programador, os registros podem ser agregados de forma semelhante em seções maiores da memória, como 8, 32 ou 64 bits. O relógio FPGA controla o número de vezes por segundo que cada gerador de função e registro podem receber entrada e gerar saída. Os FPGAs de produção mais rápidos atualmente são executados entre 200 e 400MHz, portanto cada gerador de função e registro podem, portanto, teoricamente processar a entrada entre 200m e 400m vezes por segundo. Xilinx Virtex 5 FPGA Chip Family Muitos processadores de computador padrão têm relógios muito mais rápidos do que isso, então, onde seria a vantagem de desempenho na utilização de um FPGA. A diferença importante é que uma única CPU convencional só pode processar uma única instrução por ciclo de relógio. Em contrapartida, um FPGA pode ser configurado como múltiplos processadores virtuais capazes de funcionar em paralelo. Alguns grandes FPGAs podem conter milhões de geradores e registros de funções, de modo que a configuração de uma tarefa de processamento simples, como a correspondência de uma seqüência de texto curta, pode resultar em uma FPGA que produz dezenas de milhares de processadores virtuais. Uma configuração como esta, portanto, supera rapidamente uma desvantagem da velocidade do relógio múltiplo de dez ou quinze. O outro ponto a ter em mente é que os FPGAs podem ignorar uma grande quantidade de latência do sistema. Com um processador convencional, você pode estar recebendo o feed de notícias que você está processando através de um soquete TCP em um chip Ethernet, mas que deve passar por uma camada MAC, depois por um chip North Bridge, depois no barramento principal do processador e depois por uma interrupção Foi marcado, então todos os dados devem ser transferidos para o espaço do usuário. Todas essas coisas, obviamente, podem ser feitas muito rapidamente, mas há, no entanto, muitos passos a seguir que não se aplicam aos FPGAs. Por que não Esta é uma função de como FPGAs estão conectados a um sistema que tem muito a ver com isso, sim. Em um ambiente de produção que engloba a atividade de negociação alterada por algoritmos, os FPGAs são mais prováveis ​​em cartões PCI ou PCI-X, com os cartões equipados com FPGAs da Xilinx e Altera. Uma inovação mais recente foi colocar o FPGA em um módulo de co-processador que se conecta diretamente à placa-mãe do computador. (Esses módulos são produzidos por empresas como DRC Computer e só podem ser usados ​​em placas-mãe AMD multiprocessador que suportam a tecnologia HyperTransport). Se um FPGA estiver montado em uma placa PCI, o gargalo primário será a velocidade da conexão PCI. No entanto, o advento do padrão PCI-X - com taxas de transferência de até 4.26 GBsec (PCI-X 533) - está tornando muito menos um problema. Além disso, FPGAs que são montados em uma placa PCI também podem ser alimentados dados diretamente de um soquete Ethernet montado no backplane do cartão, ignorando completamente o barramento PCI. Os FPGA montados em co-processador possuem um canal de acesso ainda mais rápido - com a versão 3.0 da especificação do HyperTransport, possibilitando taxas de transferência de até 41.6 GBsec. Uma configuração bastante típica aqui seria usar uma placa-mãe AMD de processador duplo, com um processador de CPU convencional montado em um soquete e um coprocessador FPGA montado no outro. Uma vantagem adicional desta abordagem é que o co-processador FPGA tem acesso direto à memória principal do sistema. Portanto, ao testar algoritmos baseados em notícias, grandes bases de dados de notícias e quaisquer termos de pesquisa podem ser carregados diretamente na memória principal e acessados ​​extremamente rapidamente a partir dele pelo co-processador FPGA. DRC Processor Socket FPGA O que isso significa em termos práticos Bem, como vimos com desenvolvimentos como o anúncio da Dow Jones Newswires de suas Notícias e Arquivos para Aplicações Algoritmicas, o processamento de texto está ganhando importância em negociações algorítmicas. Embora não possamos chegar até o ponto em que os modelos troquem os fios de notícias sozinhos, há, no entanto, muito trabalho atualmente em andamento na incorporação de fluxo de notícias em modelos algorítmicos. O paralelismo de FPGAs é perfeitamente adequado à análise de texto de alta velocidade necessária para essa abordagem, onde você pode estar rastreando vários feeds de notícias para uma grande quantidade de combinações de palavras-chave relacionadas a talvez milhares de títulos. Lidar com esta escala de tarefas de computação usando processadores de computadores convencionais seria relativamente ineficiente e quase certamente exigiria vários processadores se fosse realizado de forma oportuna. Embora a disponibilidade de processadores dual core, obviamente, ajude, ainda seria um investimento considerável em hardware para atingir um nível similar de execução paralela - e uma conta de eletricidade maior. A tecnologia de cluster ou grade pode ser usada para acessar a capacidade ociosa, mas isso levanta questões de sobrecarga de banda larga e sincronização de comunicações. Além disso, um servidor central adicional seria necessário para carregar o equilíbrio e distribuir os trabalhos nos outros processadores. Em última análise, se avaliando múltiplas expressões regulares2 (como no processamento de notícias para negociação algorítmica), o uso de processadores convencionais é semelhante ao uso de um travessão bastante ineficiente para quebrar uma porca. . Um FPGA pode ser configurado como múltiplos processadores virtuais capazes de funcionar em paralelo. Como as tecnologias se comparam à medida que a complexidade das expressões que estão sendo avaliadas aumenta Por exemplo, a busca de um feed de notícias para várias expressões regulares resulta em um sucesso de desempenho significativo para FPGAs ou CPUs de propósito geral. Existe uma diferença muito significativa. À medida que o número de expressões regulares avaliadas aumenta, o desempenho convencional da CPU deteriora-se sensivelmente em relação ao de um FPGA. Embora os números precisos, obviamente, dependem das circunstâncias individuais, é uma aproximação razoável para dizer que no momento em que você está avaliando apenas cinquenta expressões regulares, uma CPU convencional terá um tempo de execução superior a 100 vezes o de um FPGA comparável. Altera Stratix II GX FPGA Chip Então, por que as FPGAs alcançaram tão pouca penetração nos mercados financeiros até à data. Somente recentemente, as FPGAs se tornaram uma alternativa eficiente e acessível à potência processada do processador. Com o advento do PCI-X e do HyperTransport, o gargalo de comunicações foi superado e com as ferramentas de programação de software baseadas em C para FPGAs amadurecendo, os desenvolvedores podem programar hardware em um ambiente C familiar. Além disso, acho que as pessoas tendem a ficar com a tecnologia de computação convencional por vários motivos: uma das principais razões é o conforto - as pessoas preferem, naturalmente, permanecer com a tecnologia que já conhecem. É percebido como menos arriscado tanto para a organização quanto para eles pessoalmente em termos de carreira. Isso se aplica a papéis de negócios e tecnologia, então um gerente de linha de negócios tentando evangelizar as FPGAs provavelmente irá enfrentar a resistência de um departamento de TI que pode não entender a tecnologia e, de certo modo, se sentir ameaçado por ela. (Essa é uma razão pela qual os FPGAs ainda tendem a ser vistos como uma tecnologia disruptiva.) O outro problema para muitas pessoas que podem estar preparadas para usar FPGAs é que muitas das empresas que prestam serviços no espaço são relativamente novas ou pequenas. Eles são, portanto, vistos como um risco maior como fornecedores - especialmente quando comparados aos nomes industriais estabelecidos há muito tempo vendendo tecnologia convencional. Existe algum participante significativo no mercado usando FPGAs Sim - alguns participantes estão envolvidos conosco para alavancar as capacidades de processamento paralelo de FPGAs para processos iterativos que podem se beneficiar do paralelismo. Por exemplo, estamos lidando com uma série de grandes bancos de investimento que estão usando FPGAs para simulações Monte Carlo como parte de seus processos de gerenciamento de risco. Os ganhos de desempenho que são possíveis ao usar FPGAs para este tipo de problema podem ser substanciais. Por exemplo, acabamos de concluir uma implementação de protótipo de um modelo de precificação de opções para um banco de investimento que funciona 400 vezes mais rápido em um FPGA do que em processadores convencionais - além de consumir menos energia significativamente menor. Como um FPGA realizaria uma pesquisa de texto como parte de um modelo algorítmico Como mencionei anteriormente, cada par de entradas para um gerador de função FPGA é capaz de comparar dois bits. Os códigos ASCII para letras do alfabeto consistem em oito bits - por exemplo, a letra maiúscula A é representada em binário como 01000001. Portanto, como um exemplo extremamente simples, se você quisesse verificar um fluxo de notícias para a presença da letra A você Precisaria usar quatro geradores de função (oito pares de entradas) conectados a um outro gerador de função única. Você também precisaria de dezesseis registros de um bit para armazenar em buffer (armazenar curto prazo) os dados recebidos dos feeds de notícias e o valor de pesquisa A desejado que você havia inserido. (Oito bits para o código ASCII para cada letra recebida do feed de notícias e oito para o código ASCII para a cadeia de pesquisa A). A Figura 1 é uma ilustração esquemática disso, com os registros mostrados em rosa, os geradores de função de primeira fase em azul e o gerador de função de segunda fase em verde. As setas e linhas pretas representam o caminho de entrada para a seqüência de pesquisa A e os números em caixas à esquerda dos registros representam (de cima para baixo) o código ASCII binário para A (01000001). O código binário ASCII para cada bit de cada caractere no feed de notícias seria aplicado na mesma ordem correspondente às linhas vermelhas dos arrows. Se, como ilustrado na Figura 1, ambas as entradas vermelhas para um gerador de função combinam as entradas pretas correspondentes (os bits da string de busca), o gerador emitirá 1 (a conexão de saída é a linha azul no RHS do gerador) . Esta saída é alimentada para o gerador de função da segunda fase juntamente com a saída de todos os outros geradores de primeira fase. Se as quatro entradas para o segundo gerador de fase forem 1, então também emitirá 1 (linha verde no RHS) indicando que a letra A foi encontrada no fluxo de texto. Este é, obviamente, um exemplo muito trivial, mas o conceito básico pode ser ampliado para acomodar pesquisas muito mais complexas envolvendo várias palavras que devem estar a uma certa distância entre si. Se essa condição fosse atendida, a informação poderia então ser passada para o modelo algorítmico para desencadear uma determinada ação, como a suspensão da negociação ou o redimensionamento das fatias de posição. O paralelismo dos FPGAs é perfeitamente adequado à análise de texto de alta velocidade necessária em situações em que você está rastreando vários feeds de notícias para uma grande quantidade de combinações de palavras-chave relacionadas a talvez milhares de títulos. Você já descreveu alguns dos motivos do lento processo de FPGA nos mercados financeiros, mas isso ainda parece muito bom para ser verdade. Há um obstáculo de custo significativo para FPGAs O hardware, especialmente quando visto em termos de seu custo de processamento por dólar, não é particularmente caro. No nível de entrada, as placas FPGA externas conectadas a USB começam em cerca de 1000, enquanto uma placa FPGA baseada em PCI-X superior pode custar 10 mil. Obviamente, em ambos os casos, você ainda precisaria ter em conta o custo de um computador relativamente pouco especificado para o qual a placa FPGA seria conectada. No entanto, quando você considera que o nome da marca razoavelmente especificado quatro servidores Opteron do processador começam em torno de 9000, os custos relativos ainda favorecem o FPGA. Mesmo um FPGA de alcance médio, em torno de 5000, exibirá desempenho substancialmente maior no tipo de processamento de texto que discutimos do que um servidor convencional de quatro processadores. A alternativa de coprocessador também é competitiva - por exemplo, os módulos de DRC Computers começam em cerca de 4500, mas isso provavelmente cairá ao longo do tempo (à medida que os volumes aumentam) para mais perto de 3000. Placa PCI FPEL PCI da Celoxica O ambiente de design do software pode ser um obstáculo de custo. Os kits de ferramentas de programação para FPGA geralmente começam na faixa de 40 a 50.000. Embora isso soa muito, eles geralmente são comprados por empresas de eletrônicos, como fabricantes de telefones celulares, que podem amortizar esse custo em potencialmente centenas de milhares de unidades. Da mesma forma, para um corretor que desenvolve vários algoritmos para os próprios clientes ou seus clientes, isso pode não ser uma barreira importante, mas para entidades como fundos de hedge menores seria. A vantagem de hoje é que as ferramentas de design baseadas em C reduziram o tempo de design de hardware e essas eficiências equivalem diretamente a man-meses economizados de esforço e economia de custos de projeto. Até à data, ninguém parece estar desenvolvendo ferramentas de FPGA de prateleira de baixo custo para pesquisa de string de texto e outras tarefas relacionadas ao desenvolvimento e negociação de algoritmos. A maioria dos esforços neste espaço ainda está focada na aceleração de software financeiro relacionado a modelos de risco ou opção, embora isso deve mudar à medida que as oportunidades oferecidas pela FPGAs no comércio automatizado são mais amplamente apreciadas. Itens Populares Deutsche Boerse apresenta conceito de bloqueio para bolsas de transferência de dinheiro sem risco Global Portfolio e ETF Trading Group lança mercado de referência no algoritmo de fechamento Tullett Prebon amp SGX para lançamento de índice de preços spot para Dubai, Kuwait e Índia Xignite expande equipe de liderança, abre planos de NY NYSE escritório NYSE Choque de velocidade para NYSE MKT TRADEcho lança MiFID II Smart Report Router Copyright copy Automated Trader Ltd 2017 - Estratégias de Tecnologia de Conformidade

No comments:

Post a Comment