Projeto de sistema de negociação de alta frequência
Veja como você configura sua própria operação de negociação de alta frequência.
Na semana passada, tivemos o privilégio de conversar com Mike Felix e o "doutor" Lawrence Hansen, da Lime Brokerage, corretora de agência sediada em Nova York especializada em negociações de alta frequência e baixa latência. O principal takeaway :. Aqueles que acham que as velocidades são inaceitáveis, melhor se acostumar com isso, porque eles estão aqui para ficar e só vai ficar mais rápido a partir daqui. Perguntamos a eles como seria possível configurar sua própria operação de negociação de alta frequência em um nível amador / varejo. Depois de definir exatamente qual é a definição de negociação de alta frequência, analisamos os passos necessários para que isso aconteça.
Começar apresentação de slides "
1. Primeiro venha com um plano de negociação. O que você quer fazer?
Existem várias estratégias quando se trata de negociação de alta frequência. Alguns deles incluem, mas obviamente não se limitam ao seguinte:
Captura de bônus de liquidez (obtenção de dinheiro para fornecer liquidez na troca) Arbitragem de latência: Exponha os atrasos nos pedidos que passam por uma troca Criação automática de mercado: Usando algoritmos de baixa latência (programas realmente rápidos), você pode comprar todas as ações disponíveis em um mercado. uma fração de segundo e fazer um mercado / fornecer liquidez em um determinado título. Rastreamento automático de índice (benchmarking): Um algoritmo básico correlacionará automaticamente uma posição a um índice, como o S & P 500.
2. Levante o capital em conformidade.
Acredite ou não, você não precisa de milhões de dólares para fazer negociações de alta frequência. Alguns clientes começam com, digamos, US $ 20.000 e trabalham a partir daí. Outros têm milhões disponíveis e, em seguida, os grandes participantes - os bancos, fundos de hedge e investidores institucionais - têm centenas de milhões prontamente disponíveis à sua disposição.
3. Em seguida, encontre uma câmara de compensação que o aprove como contraparte.
Esta é uma parte integrante da sua operação. Sem uma parte de compensação adequada, que pode ser um jogador pequeno para alguém como o Barclays (na foto), seu modus operandi não funcionará corretamente. Você precisa ter 100% de certeza de que seus negócios serão liquidados no final do dia do mercado.
4. Determine quem será seu principal corretor ou "mini prime", que agrega jogadores menores juntos.
Você deve estar familiarizado com o termo principal corretor, o banco de investimento ou agente de serviços que faz todas as coisas que você não precisa lidar. Liquidar negócios, fornecer alavancagem e emprestar valores mobiliários são parte integrante da negociação e, é claro, da negociação de alta frequência. Se você é um jogador pequeno demais para ir para os grandes cães como o Goldman Sachs, o Fortis e o JP Morgan, há corretores "mini prime" que são como um consórcio de jogadores menores.
5. Inicie o seu back office e as operações de contabilidade.
A menos que você queira que a SEC chegue depois que você e FINRA enviarem multas por semana, é melhor que você tenha uma operação de backoffice bem definida. O back office cuida das tarefas administrativas associadas à negociação e garante que todas as negociações sejam liquidadas. Se a sua operação não for eficiente, espere muitas dores de cabeça ao tentar resolver uma discrepância em uma negociação de 4 milhões de blocos de ações.
6. Colocar seus servidores perto das trocas através de um centro de dados. Configure servidores para especificação.
Bem. Essa é a grande parte aqui. Co-location - obtendo seus servidores o mais próximo possível da troca.
As bolsas têm data centers, assim como firmas como a Lime Brokerage. Pense sobre isso: suas ordens dependem da velocidade da luz e da latência entre dois computadores (o tempo que leva um pedido para ir do Computador A para o Computador B). Há uma diferença enorme entre milissegundos (1/1000 de segundo) e microssegundos (1 / 1.000.000 de segundo), então cada bit conta. Você precisará pagar uma taxa para colocar seu servidor no data center e precisará certificar-se de que ele tenha o poder de suportar sua operação.
7. Pregue a estratégia de negociação e implemente-a.
Quando seu servidor estiver no data center, é hora de revisar:
Você estabeleceu uma estratégia de negociação clara, como discutido no primeiro slide? O seu servidor está funcionando corretamente? Você testou os tempos de ping e a latência? Você estabeleceu um escritório totalmente funcional completo com os requisitos mencionados acima (limpeza, back office, etc.)? Se você estiver usando algos, seus algoritmos funcionam corretamente? Você não quer que eles fiquem malucos. Você tem capital adequado para começar sua operação?
8. Configure os algoritmos, se aplicável. Nem todos os HFT são de comércio algorítmico.
Lembre-se: HFT NÃO SIGNIFICA NEGOCIAÇÃO ALGORITÍMICA!
É tudo sobre a velocidade. Mas se você estiver usando algoritmos, certifique-se de configurá-los adequadamente, pois, se uma coisa pequena estiver errada, você poderá perder todo o seu dinheiro em questão de segundos. Ou talvez seus pedidos não sejam executados corretamente. Seja qual for o motivo, leve o seu departamento de informática / TI / nerd sobre isso e faça com que mostrem que você está pronto para rodar.
9. Certifique-se de ter um cliente front-end com uma interface decente para que você possa acessar e configurar seus servidores e estratégias de negociação de longe.
É impraticável ir ao data center toda vez que você quiser fazer alguma coisa ou reconfigurar seu servidor. Um cliente front-end decente para fazer mudanças é essencial para se ater ao seu plano. Alguns serviços vêm com uma GUI (interface gráfica do usuário) que você pode usar, mas outros podem exigir um conhecimento mais complexo de coisas como o UNIX.
10. Teste sua configuração e certifique-se de que tudo esteja funcionando corretamente - no seu lado e no final de qualquer fornecedor de software / hardware.
ESTÁ BEM. Você já fez tudo. Você configurou o negócio, instalou os servidores, configurou os algos, pagou a equipe, comeu a hora do almoço para uma verificação final antes de decolar. Afinal, você precisa ter certeza de que sua estratégia funcionará corretamente quando você "ligar as máquinas".
Alguns serviços oferecem a capacidade de testar uma configuração usando dinheiro engraçado, semelhante ao sistema de negociação PaperMoney da thinkorswim. Certifique-se de fazer isso antes de começar a usar o capital da sua empresa.
11. Entre nos mercados e comece a negociar!
Flickr do Steve Preço.
Ligue tudo e chute de volta. Deixe os comerciantes ou os algos fazer o trabalho para você e parabenize-se por um trabalho bem feito. Você finalmente começou sua própria trading de alta frequência.
Compreender exatamente o que é a negociação de alta frequência.
É muito importante que você entenda que a negociação de alta frequência não é negociação de caixa preta ou negociação algorítmica. Ele pode implementar essas duas coisas em uma estratégia de HFT, mas, novamente, elas não são estratégias específicas de HFT. Negociação de alta frequência é tudo sobre uma coisa: velocidade. Você precisa de co-location (colocando o seu servidor o mais próximo possível da troca) para fazê-lo funcionar e quanto mais milli / micro / nano-seconds você eliminar, melhor. Baixa latência (o tempo que leva para o seu pedido chegar à troca) é fundamental, especialmente quando se trata de execução.
O pessoal da Lime Brokerage sabe uma ou duas coisas sobre velocidade, já que eles vêm fazendo essas coisas há anos, muito antes de a buzzphrase conhecida como "trading de alta frequência" existir. Para eles, a velocidade é a única coisa que é fundamental e deve permanecer fundamental.
Design de sistema de negociação de alta frequência
Eu li sobre diferentes implementações de sistemas HFT em FPGAs.
Minha pergunta é: que parte dos sistemas de HFT são implementados principalmente em FPGAs atualmente? Os FPGAs ainda são muito populares? Somente o manipulador de feeds é implementado nos FPGAs? Porque alguns desses sistemas descritos acima possuem apenas um manipulador de feed implementado no FPGA, porque a estratégia muda muito ou é muito difícil de implementar em FPGAs. Outros afirmam que eles também implementaram estratégias de negociação em FPGAs ou usando NICs de alto desempenho em vez de FPGAs para construir sistemas HFT. Eu li sobre diferentes abordagens, mas acho difícil comparar como a maioria dos resultados são testados em diferentes conjuntos de entrada.
Aqui está uma maneira de pensar sobre isso: imagine que você pode fazer algo em um ASIC (ou seja, diretamente no hardware). No entanto, o processo de fabricação é caro e você obtém um design que não pode ser alterado posteriormente. Os ASICs fazem sentido para tarefas predefinidas, como mineração de Bitcoin, algoritmos de processamento de dados conhecidos, etc.
Por outro lado, temos CPUs comuns (assim como CPUs e GPUs do coprocessador) que são de propósito geral, mas processam um pequeno conjunto de instruções (em termos de instruções simultâneas) 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 assim mais eficientes em operações simultâneas do que os CPUs, desde que você seja capaz de utilizar o dado para distribuir sua lógica.
Alguns usos de FPGAs são:
Transcodificação de vídeo (por exemplo, decodificaçã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 Regex) Simulação de sistema discreta (por exemplo, simulando o resultado de um jogo de cartas) em pesquisa aeroespacial ou científica.
O problema com FPGAs para usos quant é que ele não é tão bom para cálculos de ponto flutuante, particularmente porque CPUs comuns já estão otimizadas para isso com coisas como SIMD. No entanto, para qualquer estrutura de dados de ponto fixo ou de tamanho fixo, o design do FPGA permite que você configure o dispositivo para fazer muito processamento ao mesmo tempo.
Algumas coisas feitas na negociação estão usando FPGA para manipuladores de feeds (análise direta do fluxo de rede), bem como a construção de certas partes da estrutura de negociação (por exemplo, order books) em hardware para poder lidar com a estrutura de dados que muda rapidamente sem carregando a CPU.
Os FPGAs visam principalmente tratar da preocupação de processar dados rapidamente sem pagar os custos de propagação. Isso está particularmente em contraste com dispositivos como o GPGPU (ou qualquer placa que mora em PCI, como o Xeon Phi), que paga penalidades por desempenho para obter dados de / para o dispositivo. Dito isso, as opções de DMA também estão melhorando a esse respeito.
Os FPGAs são na verdade nada mais do que os mesmos blocos lógicos repetidos de novo e de novo em todo o silício, com switches configuráveis para conectar os blocos lógicos juntos. Isso torna o FPGA muito bom - e rápido - 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 trabalhando em paralelo ao mesmo tempo, em apenas um FPGA.
As CPUs, por outro lado, são baseadas na ALU, que carrega instruções, carrega dados, opera nos dados, talvez armazene os resultados e, em seguida, faz tudo de novo. As CPUs, então, são muito boas - e rápidas - em lidar com problemas que estão continuamente mudando - tanto em tamanho quanto em escopo e em alternar entre diferentes tarefas. A CPU ou núcleo de hoje terá de dezenas a centenas de ULAs com pipelines paralelos para dados e instruções, o que os torna muito rápidos em problemas complexos que podem ser trabalhados em paralelo.
Esses projetos tornam o FPGA mais rápido em problemas mais simples que podem ser atacados com uma vasta arquitetura paralela - como condensar vários feeds de dados em menos de micro segundos, wire-to-wire ou disparar uma compra, venda ou cancelamento pré-calculado em um preço que corresponda a um padrão específico. As CPUs são mais rápidas em problemas mais complexos que exigem menos paralelismo, como calcular a cesta de compras, vendas e cancelamentos necessários para manter uma carteira ajustada ao risco ou integrar uma série de fontes de preços e notícias de idade e qualidade variáveis nos indicadores de negociação usados. comerciantes e administração decidir quais ajustes eles farão no sistema de negociação.
Onde FPGAs são usados em HFT depende muito da arquitetura de determinada loja. Eles são mais usados para realizar tarefas simples, repetitivas e amplas e executá-las rapidamente. As CPUs são um canivete suíço que pode fazer quase qualquer coisa, especialmente quando os requisitos estão mudando e as dimensões do problema não são totalmente compreendidas no início.
Tecnologia & amp; Finança quantitativa.
Sistema de negociação Software Developer | Negociação de alta frequência | Sistemas de baixa latência | Modelos de fabricação de mercado | C / C ++
Como faço para projetar sistemas de negociação de alta frequência e sua arquitetura. Parte I.
Neste artigo, gostaria de falar sobre como implementar um sistema de baixa latência, módulos necessários e sua arquitetura de sistema, e focar no lado do desenvolvimento de software.
Existem outras partes que precisam ser cobertas para ter um sistema completo, e elas podem ser coisas como comunicações de rede, switches / roteadores, servidores especializados, FPGAs, ajustes de operação do sistema, como o kernel-bypass, etc. disse, neste artigo vou estar mais focado no design de software e sua arquitetura.
Esta é uma abordagem básica, sobre o que considero melhores práticas para este tipo de sistemas de negociação. Dependendo de fatores diferentes, mercados, conformidades, isso pode variar, mas alguns princípios básicos permanecerão os mesmos para qualquer sistema de negociação.
É claro, que o principal fator aqui é ser capaz de lidar com grande quantidade de informações recebidas, tempo de resposta a eventos externos, tempo de resposta interno e recursos para fornecer o maior throughput e a menor latência.
Quando eu projeto sistemas de baixa latência, sempre encontro os seguintes desafios:
O sistema deve ser capaz de lidar com várias estratégias, certificando-se de que o sistema não terá desempenho inferior à medida que adicionamos mais estratégias. Encomendar a reconstrução de livros de diferentes locais. Se tomarmos como exemplo o mercado forex, existem milhares de locais e ECNs diferentes, todos eles usando diferentes padrões de API e conectividade. O sistema deve ser capaz de lidar com essas diferentes fontes e agregá-las em uma estrutura de dados interna e bem definida.
O manipulador de feeds é um dos componentes mais importantes de qualquer sistema de negociação algorítmica. Sem dados de mercado precisos, qualquer estratégia de alta frequência ou algorítmica não poderá tomar decisões corretas. Assim, a ideia deste módulo é capturar dados de mercado de diferentes locais, para permitir nossas estratégias, gerar decisões corretas e manter uma representação do livro de pedidos de limite de locais.
Uma grande quantidade de atualizações de mercado pode ser recebida por segundo para cada local do mercado, e sua representação interna de cada livro de pedidos de limite deve ser alterada de acordo.
Esse processo deve ser assim:
O link entre os locais e seu sistema é geralmente feito usando o protocolo FIX, então eu tenho que colocar um mecanismo FIX, para se comunicar com eles (receber e enviar mensagens) e fornecer a infra-estrutura básica que faz a interface e gerencia a conectividade nos locais Protocolo FIX.
Receber mensagem estará recebendo atualizações de mercado, e enviando, estará enviando ordens geradas pelas minhas estratégias.
Existem duas opções para implementar um mecanismo FIX: personalizado ou uma opção comercial. Para implementar um mecanismo FIX personalizado, você precisará colocar muitas horas-homem e pode certificar-se de otimizar a comunicação para um ambiente de baixa latência. Empresas como grandes bancos e instituições preferirão seu próprio mecanismo FIX, para que possam ter a propriedade do código inteiro.
Eu prefiro ir com a opção comercial, uma vez que existem muitas opções boas por aí, e você só precisa conectar sua biblioteca, e você estará pronto para ir.
Observe que, além da latência de rede e de comunicação, haverá também uma latência de decodificação / análise, portanto, também preciso cuidar disso. A análise é uma manipulação de string, portanto, muito cara em termos de ciclos de CPU e gerenciamento de memória.
Há locais que também começaram a fornecer conectividade por meio de protocolos mais novos e melhores, já que o FIX está se tornando lento demais para os algoritmos atuais. RÁPIDO, ITCH / OUTCH são protocolos binários e eu sempre tento usá-los desde que eles estejam disponíveis. Eles usarão um mecanismo diferente para se comunicar, mas o conceito permanece o mesmo.
Uma vez que o sistema tenha sua conectividade entre os locais, eu precisarei atualizar todos os eventos relatados por eles: ordenar atualizações / acréscimos ou exclusões (negociações, se necessário).
Para cada evento recebido, irei ao meu livro de pedidos interno e farei as alterações necessárias.
Normalmente, todos os locais enviam essas atualizações usando um identificador exclusivo (EntryID) e o tipo de atualização (atualização é uma inserção, atualização ou exclusão) para que você possa replicar com precisão o seu pedido de limite.
Aqui mostro como funciona a reconstrução do livro de encomendas com limite:
Uma coisa importante a ter em mente aqui é o tipo de estrutura de dados que queremos usar para armazenar os dados do livro de ofertas. Lembre-se de que podemos obter vários milhões de atualizações por segundo, portanto, nossa estrutura de dados deve ser rápida o suficiente para encontrar uma entrada ou excluí-la.
De recomendações anteriores, afirmei que a melhor estrutura de dados é usar matrizes simples: uma para os lances e outra para as solicitações. Eles fornecem o melhor desempenho.
Além disso, pré-aloque o máximo de memória possível.
A alocação dinâmica é cara, não deve ser usada em caminhos críticos como a atualização de uma estrutura de dados do livro de ordens com limite e você acabará tendo uma grande quantidade de sobrecarga por alocação.
Mas como estamos construindo um sistema de baixa latência, precisamos pré-alocar nossas estruturas de dados. E mostrarei a diferença entre pré-alocação e alocação dinâmica e seu impacto no desempenho.
Na fase de inicialização do sistema, pré-aloque essas matrizes: bidsArray e askArrays, e digamos que vamos armazenar uma profundidade de 10 níveis do livro, portanto, precisaremos pré-alocar a matriz de bid / ask de 10 elementos. E vamos mover / substituir elementos, NÃO removendo e criando, pois o processo de alocação consumirá muito tempo.
O código a seguir mostra como a alocação dinâmica funciona:
Como você pode ver, adicionamos ou excluímos e, em seguida, classifico toda a matriz, para que possamos manter uma estrutura ordenada.
Na próxima seção, mostrarei como pré-alocar e reutilizar.
Você define o array com 10 elementos e você reutilizará todos esses elementos. Você pode perceber que, em vez de excluir o elemento, estou limpando seus valores e, uma vez solicitados, os enviei no início da matriz.
Depois de executar um teste de desempenho entre eles, contando os ciclos de CPU realizados em cada caso em uma amostra de 100.000 iterações, obtenho os seguintes resultados.
Uau, uma diferença de 60%. Não é uma surpresa para mim, alocação / desalocação é cara. E este foi um exemplo muito básico / simples.
Você pode verificar este exemplo de código no meu repositório gist. github / silahian.
Para ser continuado & # 8230;
Palavras-chave: #hft #quants #forex #fx #risco $ EURUSD $ EURGBP $ EURJPY.
BOLETINS INFORMATIVOS.
POLITICO LIVE.
COLUNAS E DESENHOS ANIMADOS
Animação de Bewilder.
O mistério da negociação de alta frequência.
Como você pode colocar um limite de velocidade em algo que você não pode acompanhar?
28/09/2016 04:55 AM EDT.
Algo misterioso sacudiu um dos mercados financeiros mais estáveis do mundo por 12 minutos angustiantes em 15 de outubro de 2014.
Durante essa breve janela, o rendimento da nota do Tesouro de 10 anos - uma segurança de referência crítica para financiar o governo federal - caiu drasticamente e depois subiu, e ninguém sabia por quê. Foi, disse o CEO do JPMorgan Chase, Jamie Dimon, “um evento que deveria acontecer apenas uma vez a cada 3 bilhões de anos. "
Como outras surpresas do mercado, incluindo um “crash flash” de maio de 2010 em ações e futuros, isso desencadeou uma investigação. Agências do governo passaram meses dissecando milhões de dados do mercado do Tesouro para descobrir exatamente o que aconteceu naquele dia. A conclusão deles foi perturbadora: eles ainda não tinham ideia do que causara isso.
O que eles conseguiram documentar, no entanto, foi o surgimento de um novo grande ator nas notas do Tesouro: um grupo de investidores que usa sistemas de negociação ultrarrápidos para ganhar dinheiro ao lançar rapidamente a dívida do governo. As agências descobriram que as firmas, negociando privativamente seu próprio capital, em vez do dinheiro de investidores externos, representavam a maior parte das negociações nesse mercado crucial.
O comércio algorítmico de alta velocidade há muito tempo era uma grande preocupação nos mercados de ações, onde firmas sofisticadas, mas obscuras, com conexões rápidas com as bolsas estavam forçando os reguladores a lidar com problemas potenciais, incluindo a volatilidade do mercado. O que a investigação da T-note descobriu é que esses traders também fizeram incursões profundas no principal mercado de financiamento governamental do mundo, um refúgio seguro para os investidores e uma ferramenta vital para a implementação da política monetária dos EUA.
Os resultados ressaltam o quão difícil pode ser manter os mercados estáveis e justos, à medida que os jogadores mais rápidos e mais opacos aparecem. As empresas de trading algorítmicas mais agressivas foram vistas com suspeita por anos por causa de preocupações de que seus negócios são essencialmente predatórios, explorando pequenas lacunas técnicas no mercado em detrimento de outros investidores. Michael Lewis, o autor de "Moneyball" e "The Big Short", abordou este mundo sombrio em seu livro de 2014 "Flash Boys", o que demonizou esses operadores de alta frequência como predadores que ganhavam dinheiro à custa de firmas mais tradicionais, pagando para acessar os mercados mais rapidamente do que outros investidores.
Os comerciantes trabalham no pregão da Bolsa de Valores de Nova York em 15 de outubro de 2014, em Nova York. Durante 12 longos minutos naquele dia, o rendimento da nota do Tesouro de 10 anos caiu em valor e, de repente, se recuperou. | Spencer Platt / Getty.
Embora o HFT possa soar como uma questão dentro do beisebol no mundo das finanças, o debate borbulhou ao ponto de ter surgido na disputa presidencial. Talvez a reforma financeira mais significativa na plataforma de Hillary Clinton seja um novo imposto voltado para níveis excessivos de certos tipos de ordens de mercado de ações, uma medida que sua campanha argumenta que ajudará a combater as negociações de alta frequência “prejudiciais”. A plataforma democrata de 2016 faz um sinal para os outros no partido que querem um imposto de transação de Wall Street mais amplo, para "conter a especulação excessiva e as negociações de alta frequência, que ameaçaram os mercados financeiros".
Clinton também articulou uma revisão do mercado de ações muito mais abrangente para garantir "acesso igual a mercados e informações", que os insiders também vêem como uma referência às vantagens que os operadores de alta frequência tentam cultivar. (Os planos de Donald Trump são bem menos específicos).
Mas, como as críticas se concentram no mundo difícil de monitorar da negociação automatizada, as questões permanecem - o que é uma negociação prejudicial e quem está fazendo isso? Os próprios comerciantes defendem seu trabalho como não apenas legal, mas também ajudam a manter os mercados líquidos. E mesmo se decidirmos que o comércio é prejudicial, existe alguma maneira de recuperar o cavalo no celeiro?
Parte do desafio é que a negociação automatizada está em toda parte agora: a tecnologia por trás dessa nova linha de traders é parte da estrutura fundamental dos mercados, usada por uma grande variedade de empresas e investidores. Os comerciantes que mais preocupam os reguladores são aqueles que tentam desafiar a complexidade do próprio mercado para obter vantagem competitiva. Seu sucesso foi enraizado em ganhar as conexões concebíveis mais rápidas para vários mercados e fazer o melhor trabalho de análise de grandes quantidades de dados comerciais.
A corrida armamentista rendeu numerosas empresas com estratégias diferentes, mas os observadores agora as colocam em algumas categorias separadas.
Um tipo de empresa compra e vende vários produtos em uma base contínua, fornecendo liquidez e fechando rapidamente suas posições para limitar seu próprio risco. Defensores desses "market makers eletrônicos" argumentam que podem ajudar a fornecer liquidez nos mercados em que operam. Uma delas, a Virtu Financial, no ano passado tornou-se a primeira empresa de trading de alta frequência a se tornar pública. Este ano, o JPMorgan Chase concordou com uma parceria na qual a Virtu ajudará a maior Tesouraria do país.
Esses grandes atores estão se tornando mais tradicionais e mais aceitos, até mesmo por alguns dos mais ferrenhos críticos da negociação de alta frequência. “Anos atrás, pensávamos que o comércio de alta frequência era um balde e colocamos em um só balde. Nós realmente não sabíamos muito sobre isso ”, disse o crítico de negociação de alta frequência Joseph Saluzzi, co-fundador da corretora Themis Trading. “Foi muito vago e ninguém falou sobre isso. "
Depois, há os comerciantes que você ouve quando a Comissão de Valores Mobiliários (Securities and Exchange Commission) abre um processo contra eles. Tome Athena Capital Research. O "gestor de investimento quantitativo global" financiado pelo setor privado foi o alvo do primeiro caso de manipulação do mercado de alta frequência da SEC, resultando em um acordo de US $ 1 milhão em 2014. A agência alegou que a empresa usou um algoritmo com o codinome “Gravy”. para empurrar artificialmente os preços de mercado em seu favor, fazendo grandes quantidades de negócios perto do fechamento de um dia de negociação. A SEC disse que a empresa relativamente pequena "dominou o mercado" nos últimos segundos de um dia de negociações para dezenas de milhares de ações usando "computadores de alta potência, algoritmos complexos e negociações rápidas". "
Um comerciante senta e monitora suas telas de computador enquanto negocia nos mercados financeiros dos escritórios da Futex Co. em abril de 2015. A Futex empregou anteriormente Navinder Singh Sarao, que as autoridades dos EUA alegam ter ajudado a causar o crash de 2010. | Imagens da Getty.
"Esses são os caras que precisam ser controlados", disse Saluzzi. “Essas são aquelas sobre as quais as pessoas não sabem muito. Eles são predatórios por natureza. "
Athena não admitiu nem negou o caso.
COMO VOCÊ reinicia? Até agora, Washington lidou com a questão com cautela. A presidente da SEC, Mary Jo White, falou em “a necessidade de evitar interferências indevidas em práticas que beneficiem os investidores ea eficiência do mercado”. Ela também descreveu maneiras pelas quais os investidores “estão se saindo melhor no mercado algorítmico de hoje do que nos antigos mercados manuais” em parte, para reduzir os custos de execução comercial. Andrei Kirilenko, ex-economista-chefe da Commodity Futures Trading Commission, disse em uma entrevista que os reguladores precisam entender melhor “quem está por aí, por que eles estão por aí, sabemos o que eles fazem, se eles fazem algo errado podemos obter seus registros? "
Dan Berkovitz, ex-conselheiro geral da CFTC, disse que os reguladores se afastaram da questão de saber se a tecnologia é inerentemente boa ou ruim. Agora, o foco é mais garantir uma estrutura de mercado justa.
"A corrida pela velocidade - quem está realmente se beneficiando, e se isso beneficia alguém, isso significa que alguém está magoado com isso?", Disse Berkovitz, agora sócio da WilmerHale. “Se as pessoas são mais rápidas e melhores e ganham dinheiro com isso, de onde vem esse dinheiro? Alguém está se machucando com isso? … Não acho que os reguladores tenham a capacidade de realmente entender a coragem dessas coisas. E então eles estão preocupados que vai sair do controle. ”
Em vez de tentar reverter o relógio da tecnologia, as agências que supervisionam os mercados dos EUA passaram a exigir que os operadores algorítmicos e as pessoas que criam seus sistemas de negociação se registrassem nos reguladores.
"Alguns dos maiores traders de nossos mercados não estão atualmente sujeitos à nossa supervisão, e precisamos ter uma maneira de garantir que eles estejam seguindo controles razoáveis de risco", disse o presidente da CFTC, Timothy Massad, em um discurso de 27 de setembro. “E, de fato, alguns desses traders apoiaram uma exigência de registro.”
A CFTC, que supervisiona o mercado de futuros, elaborou uma proposta controversa que iria além, estendendo seus requisitos de manutenção de registros para o código-fonte subjacente aos sistemas de negociação automatizados. A regra, que ainda não foi finalizada, exigiria que operadores algorítmicos mantivessem repositórios que rastreassem mudanças em seus códigos, que poderiam então ser disponibilizados aos investigadores caso algo desse errado nos mercados.
Críticos da indústria estão lutando contra esse aspecto da regra, argumentando que dar ao governo acesso à sua propriedade intelectual sensível - o molho secreto de seus algoritmos - é um risco muito grande. Em uma entrevista, o comissário da CFTC, J. Christopher Giancarlo, o único republicano no painel que aprova regras na agência, disse que se tratava de uma "ação retrógrada" que teria um "efeito sufocante no comércio de inovação tecnológica nos Estados Unidos". , por sua vez, promete a linguagem final que “respeita e protege a confidencialidade” enquanto ainda dá à agência uma olhada no código quando está investigando problemas. “Nosso desejo nunca foi exigir que o código fonte nos seja rotineiramente entregue”, diz ele.
Em outra abordagem, a SEC está elaborando uma “negociação anti - perturbadora”. regra como medida preventiva contra formas potencialmente perigosas de negociação de alto volume e alta frequência. A SEC não anunciou quais estratégias de negociação vai tentar banir - a partir de agora, a regra está sendo sinalizada, mas não foi formalmente proposta -, mas o chefe da agência apontou para o relatório de mercado do Tesouro como sendo "instrutivo" em identificando atividades agressivas que poderiam funcionar contra os investidores.
Embora todas essas soluções sejam do ponto de vista regulatório, é possível que os operadores de alta frequência acabem encurralados pelo setor privado.
O herói, se houvesse um, dos “Flash Boys” de Lewis era uma nova empresa chamada IEX: um local de negociação de ações cujos fundadores queriam fornecer aos investidores um local protegido para negociar sem ser “escalpelado”. por comerciantes predatórios que tiveram acesso mais rápido aos dados das trocas. Sua inovação foi uma “lombada” - uma bobina de cabo de fibra óptica projetada para desacelerar o acesso ao mercado em 350 microssegundos.
Em setembro de 2015, a IEX pediu à SEC que permitisse que ela se tornasse uma bolsa de valores completa, como a NYSE e a NASDAQ; Depois de meses de intenso lobby em ambos os lados da proposta, a SEC assinou sua candidatura em junho - marcando um marco importante na resposta da agência às negociações de alta frequência. É uma evidência de que os reguladores estão dispostos a deixar o setor privado resolver algumas das grandes preocupações surgindo com a tecnologia de negociação.
"Eles estão à margem assistindo o setor privado experimentar o design de mercado", disse Kirilenko sobre os reguladores, prevendo que não muito mais do que isso aconteceria em breve. "Eles ficarão à margem até o próximo flash crash."
Design de sistema de negociação de alta frequência
Todo o tempo que você ouve sobre negociação de alta frequência (HFT) e quão rápido os algoritmos são. Mas eu estou querendo saber - o que é rápido nos dias de hoje?
Eu não estou pensando sobre a latência causada pela distância física entre uma troca e o servidor executando um aplicativo de negociação, mas a latência introduzida pelo próprio programa.
Para ser mais específico: Qual é o tempo decorrido entre os eventos que chegam na conexão em um aplicativo para esse aplicativo e que geram um pedido / preço no fio? Ou seja hora do tick-to-trade.
Estamos falando de sub-milissegundo? Ou sub-microssegundo?
Como as pessoas alcançam essas latências? Codificação em montagem? FPGAs? Código C ++ de boa qualidade?
Recentemente foi publicado um artigo interessante sobre o ACM, fornecendo muitos detalhes sobre a tecnologia HFT de hoje, que é uma excelente leitura:
Você recebeu respostas muito boas. Há um problema, porém - a maioria dos algotrading é secreta. Você simplesmente não sabe o quão rápido é. Isto vai nos dois sentidos - alguns podem não dizer o quão rápido eles trabalham, porque eles não querem. Outros podem, digamos exagerar, por muitas razões (atrair investidores ou clientes, por exemplo).
Rumores sobre picossegundos, por exemplo, são bastante escandalosos. 10 nanossegundos e 0,1 nanossegundos são exatamente a mesma coisa, porque o tempo que leva para que a ordem chegue ao servidor de negociação é muito mais do que isso.
E, mais importante, embora não seja o que você pediu, se você tentar negociar algoritmicamente, não tente ser mais rápido, tente ser mais inteligente. Eu já vi algoritmos muito bons que podem aguentar segundos inteiros de latência e ganhar muito dinheiro.
Sou o CTO de uma pequena empresa que fabrica e vende sistemas HFT baseados em FPGA. Construindo nossos sistemas no topo do Solarine Application Onload Engine (AOE) temos consistentemente entregando latência de um evento de mercado "interessante" na rede (10 Gb / S de dados de mercado UDP do ICE ou CME) para o primeiro byte do mensagem de pedido resultante que atinge o fio na faixa de 750 a 800 nanossegundos (sim, sub-microssegundo). Prevemos que nossos sistemas de próxima versão estarão na faixa de nanosegundos de 704 a 710. Algumas pessoas reclamaram um pouco menos, mas isso é em um ambiente de laboratório e não na verdade sentado em um COLO em Chicago e limpando os pedidos.
Os comentários sobre física e "velocidade da luz" são válidos, mas não relevantes. Todo mundo que é sério sobre a HFT tem seus servidores em um COLO na sala ao lado do servidor da bolsa.
Para entrar neste domínio sub-microssegundo você não pode fazer muito na CPU hospedeira exceto comandos de implementação da estratégia de alimentação para o FPGA, mesmo com tecnologias como bypass do kernel você tem 1.5 microssegundos de sobrecarga inevitável. então neste domínio tudo está jogando com FPGAs.
Uma das outras respostas é muito honesta ao dizer que neste mercado altamente sigiloso poucas pessoas falam sobre as ferramentas que usam ou seu desempenho. Cada um de nossos clientes exige que não digamos a ninguém que eles usam nossas ferramentas nem divulgam nada sobre como eles os utilizam. Isso não só dificulta o marketing, mas também impede o bom fluxo de conhecimento técnico entre os pares.
Devido a esta necessidade de entrar em sistemas exóticos para a parte "perversa e rápida" do mercado, você descobrirá que os Quants (as pessoas que criam os algoritmos que fazemos rapidamente) estão dividindo seus algos em eventos-para - camadas de tempo de resposta. No topo da pilha de tecnologia estão os sistemas de sub-microssegundos (como o nosso). A próxima camada são os sistemas C ++ personalizados que fazem uso pesado do bypass do kernel e estão no intervalo de 3-5 microssegundos. A próxima camada são as pessoas que não podem se dar ao luxo de estar em um fio de 10Gb / S apenas um roteador hop da "troca", eles podem ainda estar no COLO, mas por causa de um jogo desagradável que chamamos de "roleta de porta" eles estão no dezenas a centenas de microssegundos. Uma vez que você entra em milissegundos, quase não é mais HFT.
Todo o tempo que você ouve sobre negociação de alta frequência (HFT) e quão rápido os algoritmos são. Mas eu estou querendo saber - o que é rápido nos dias de hoje?
Eu não estou pensando sobre a latência causada pela distância física entre uma troca e o servidor executando um aplicativo de negociação, mas a latência introduzida pelo próprio programa.
Para ser mais específico: Qual é o tempo decorrido entre os eventos que chegam na conexão em um aplicativo para esse aplicativo e que geram um pedido / preço no fio? Ou seja hora do tick-to-trade.
Estamos falando de sub-milissegundo? Ou sub-microssegundo?
Como as pessoas alcançam essas latências? Codificação em montagem? FPGAs? Código C ++ de boa qualidade?
Recentemente foi publicado um artigo interessante sobre o ACM, fornecendo muitos detalhes sobre a tecnologia HFT de hoje, que é uma excelente leitura:
Você recebeu respostas muito boas. Há um problema, porém - a maioria dos algotrading é secreta. Você simplesmente não sabe o quão rápido é. Isto vai nos dois sentidos - alguns podem não dizer o quão rápido eles trabalham, porque eles não querem. Outros podem, digamos exagerar, por muitas razões (atrair investidores ou clientes, por exemplo).
Rumores sobre picossegundos, por exemplo, são bastante escandalosos. 10 nanossegundos e 0,1 nanossegundos são exatamente a mesma coisa, porque o tempo que leva para que a ordem chegue ao servidor de negociação é muito mais do que isso.
E, mais importante, embora não seja o que você pediu, se você tentar negociar algoritmicamente, não tente ser mais rápido, tente ser mais inteligente. Eu já vi algoritmos muito bons que podem aguentar segundos inteiros de latência e ganhar muito dinheiro.
Sou o CTO de uma pequena empresa que fabrica e vende sistemas HFT baseados em FPGA. Construindo nossos sistemas no topo do Solarine Application Onload Engine (AOE) temos consistentemente entregando latência de um evento de mercado "interessante" na rede (10 Gb / S de dados de mercado UDP do ICE ou CME) para o primeiro byte do mensagem de pedido resultante que atinge o fio na faixa de 750 a 800 nanossegundos (sim, sub-microssegundo). Prevemos que nossos sistemas de próxima versão estarão na faixa de nanosegundos de 704 a 710. Algumas pessoas reclamaram um pouco menos, mas isso é em um ambiente de laboratório e não na verdade sentado em um COLO em Chicago e limpando os pedidos.
Os comentários sobre física e "velocidade da luz" são válidos, mas não relevantes. Todo mundo que é sério sobre a HFT tem seus servidores em um COLO na sala ao lado do servidor da bolsa.
Para entrar neste domínio sub-microssegundo você não pode fazer muito na CPU hospedeira exceto comandos de implementação da estratégia de alimentação para o FPGA, mesmo com tecnologias como bypass do kernel você tem 1.5 microssegundos de sobrecarga inevitável. então neste domínio tudo está jogando com FPGAs.
Uma das outras respostas é muito honesta ao dizer que neste mercado altamente sigiloso poucas pessoas falam sobre as ferramentas que usam ou seu desempenho. Cada um de nossos clientes exige que não digamos a ninguém que eles usam nossas ferramentas nem divulgam nada sobre como eles os utilizam. Isso não só dificulta o marketing, mas também impede o bom fluxo de conhecimento técnico entre os pares.
Devido a esta necessidade de entrar em sistemas exóticos para a parte "perversa e rápida" do mercado, você descobrirá que os Quants (as pessoas que criam os algoritmos que fazemos rapidamente) estão dividindo seus algos em eventos-para - camadas de tempo de resposta. No topo da pilha de tecnologia estão os sistemas de sub-microssegundos (como o nosso). A próxima camada são os sistemas C ++ personalizados que fazem uso pesado do bypass do kernel e estão no intervalo de 3-5 microssegundos. A próxima camada são as pessoas que não podem se dar ao luxo de estar em um fio de 10Gb / S apenas um roteador hop da "troca", eles podem ainda estar no COLO, mas por causa de um jogo desagradável que chamamos de "roleta de porta" eles estão no dezenas a centenas de microssegundos. Uma vez que você entra em milissegundos, quase não é mais HFT.
Комментарии
Отправить комментарий