Uma vez em uma empresa HFT ...

Minha história pessoal de negociação, todas as partidas são aleatórias.
imagem
Comecei minha carreira na HFT na filial australiana de uma das maiores empresas comerciais dos EUA como programador de C ++. No primeiro dia, fui recebido por um escritório com enormes janelas com vista para o porto de Sydney, um dos quais foi escrito com uma caneta de feltro "<2ms". Essa foi a principal tarefa para uma dúzia de desenvolvedores, mas até agora, não para mim. Então ...


Choque inicial


Um dos sujeitos propôs a ideia de negociar opções na Bolsa de Valores da Austrália (ASX), ou melhor, spreads de opções e suas combinações com hedge obrigatório. Ele precisava de algo que pudesse lidar com várias regras de negociação confusas e ser integrado à nossa plataforma de negociação, chamada Orc. Estes foram os primeiros anos da década de 2000 e eu escrevi minha solução para ela no VB6 no Windows 2000. Ao fazer isso, usei C ++, Boost e o analisador Spirit multithread para integrar-se ao Orc. O último calculou árvores binomiais ou trinomiais para avaliar as opções dos EUA no ASX sob demanda. Para o meu código de preços, usei o código de outra pessoa no VBA, linha por linha, reescrito em C ++.


No entanto, o Orc nem sempre calculava o preço sob demanda, geralmente usava cache. Se os parâmetros originais permanecerem os mesmos, o Orc simplesmente retornará o preço da memória, em vez de recontá-lo novamente. Essa plataforma era lenta demais para competir com sua própria plataforma Timber Hill (agora Interactive Brokers) ou com o Ord Liquidator do IMD, que era o sistema de caixas mais rápido da época. Ela parecia pobre demais para competir com os outros no desempenho, independentemente dos truques que eu fiz com ela. No entanto, com um grande cache de preços de opções multidimensionais (os valores ausentes foram obtidos por meio de interpolação simples), constantemente atualizados em vários fluxos por código escrito em C ++, inesperadamente conseguimos fazer as transações que não estavam disponíveis antes.


Quando a curva de taxa de juros ou volatilidade mudou no Orc Trader, meu cache de preços começou a se encher novamente. Obviamente, essa decisão não foi original. Li pela primeira vez sobre o cache de preços de opções em um artigo antigo alguns anos antes. Como em um microprocessador moderno com execução extraordinária, você pode adivinhar os seguintes cálculos, que ainda precisam ser feitos no futuro. Os preços de mercado são discretos. Lembre-se, os cálculos mais rápidos são aqueles que não precisam ser feitos. A próxima foi a ideia de que quebrar um atraso zero é difícil, mas não impossível. Eu tirei essa estranha conclusão sobre a previsão do futuro a partir do fato de que a mensagem mais rápida é aquela que não precisa ser enviada. Na minha opinião, isso é ainda mais importante.


Na minha opinião, a melhor arquitetura é a falta de arquitetura rígida. Isso pode parecer um pouco ridículo, mas é pura verdade no caso da HFT. Código não estruturado se transforma instantaneamente em legado, se você não prestar atenção à arquitetura do sistema. Como, de fato, a otimização prematura é a base de tudo, é mais lucrativo não desmerecer mitos bem conhecidos do computador e permitir que seus concorrentes tropeçam neles.


Meu hack para a plataforma Orc Trader não era uma solução ideal, mas agradou algumas pessoas com acordos que antes eram impossíveis. Eles até pareciam felizes ao ver esses acordos em seus relatórios com seus próprios olhos. No entanto, no geral, foi apenas um pequeno sucesso. Posteriormente, transformou-se em centenas de regras manuais para pesquisar negócios, pagando apenas os custos do operador com a negociação. Mas pelo menos eu me diverti.


Focando em "<2ms"


Vamos relembrar a condição “<2ms” registrada no painel da janela. Escrevi um artigo sugerindo uma maneira mais rápida e complexa de obter ainda menos atrasos. Uma equipe de três programadores, incluindo eu, deveria implementá-lo. A primeira opção caiu na bolsa de valores coreana. Não havia necessidade de armazenamento em cache de preços neste projeto, pois o modelo europeu de preços de opções não é muito mais complicado do que a simples interpolação, mesmo em várias dimensões.


No momento, processadores com frequência de 2-3 GHz começaram a aparecer. Nossa métrica de desempenho estava um pouco errada - medimos principalmente atrasos em nosso código do que aqueles que estão dentro do sistema operacional (que são realmente muito maiores). gasto no processamento do pacote de 50 a 100 microssegundos. O principal a lembrar aqui é que, quando um processador pode executar mais de um bilhão de operações por segundo, mais de um milhão de instruções entra nesses dois milissegundos. Honestamente, esse é um código muito, muito ruim se esse milhão de instruções tiver um preço simples. Se a decisão de um acordo exigir um milhão de etapas, saia imediatamente. Cada nano segundo é importante aqui.


Aconteceu que eu estava ligado a uma equipe não muito bem coordenada e, como novo funcionário, tive que ter cuidado. Havia apenas três de nós no departamento de desenvolvimento. Um dos membros da equipe (que na verdade era um excelente programador) estava aparentemente cansado e começou a passar o tempo todo trabalhando em jogos e fóruns sobre aceleradores de vídeo. "Mr. GPU" costumava escrever as principais bibliotecas da empresa para multithreading, e elas não eram ruins, apesar de sofrerem com problemas de design. Toda a sincronização foi feita através de mutexes e qualquer operação exigia bloqueios. No final, voltei a usar a biblioteca C ++ Boost. O "Sr. GPU", aparentemente, não gostou do projeto e parecia envolvido em algum tipo de greve. Ele estava indubitavelmente irritado com a necessidade de trabalhar na minha ideia. O outro cara era menos capaz, mas ainda minimamente competente. Geralmente ele comia muito e entrava constantemente na sala de reuniões para assistir outro filme em DVD lá.


Mas tivemos que lidar de alguma forma para superar esses dois milissegundos. Como se viu, eu precisava escrever mais código do que o esperado - tive que ficar acordado até tarde várias vezes. "Mr. GPU" fez o trabalho de integração, enquanto "Alienated Dude" não fez nada. Como resultado, nosso novo sistema mostrou atrasos de pouco menos de cinco microssegundos. Pareceu-me que foi um enorme sucesso. No entanto, esse número não levou em consideração as latências da rede. Definitivamente, eles agora são muito mais importantes do que um mês atrás.


Um dos outros funcionários me parabenizou. Aprendi com ele que a maioria das pessoas de TI (incluindo ele) considerava isso uma tarefa impossível. Aparentemente, eles esperavam que eu falhasse. As mudanças que trouxe não foram muito entusiasmadas, mas recebi um pequeno bônus sem um aumento significativo no salário.


Eu costumava imaginar permanecer nesse emprego por vinte anos, principalmente depois da bolha das pontocom. Mas agora é claramente hora de seguir em frente.


Procure um novo emprego


Entrei em contato com várias empresas de HFT e compartilhei meus pensamentos sobre o que pode ser feito. Uma boa empresa comercial holandesa me ouviu com muito cuidado, mas não ofereceu nada. Anos depois, descobri que a equipe deles começou a implementar algo parecido com o que conversamos na entrevista na semana seguinte. Ouvi dizer que a abordagem foi bem-sucedida. Eles o chamavam de “método base implícito”, no qual tudo se resumia à previsão do preço teórico de um ativo futuro ou subjacente. Gosto do nome deles para o meu método, mesmo que pareça um culto à carga. Bem, é assim que as empresas financeiras costumam fazer negócios. Apesar do engano da parte deles, fiquei lisonjeado.


Então conversei com uma empresa australiana com uma equipe de cerca de uma dúzia de desenvolvedores focados em negociar na bolsa ASX. A plataforma deles era mais lenta que o Orc Trader, gastando muitos milissegundos em cálculos. Eu pedi uma reunião com o chefe da empresa, que era muito mais bem-sucedido e muito mais jovem que eu. Ele era um dos caras com salários muito altos, cuja renda seria declarada de acordo com as leis australianas.


Os negócios deles não pareciam "completamente limpos" e ele me avisou que nem sempre o dinheiro ganho por eles era legalmente devolvido à empresa controladora. As negociações com essa empresa eram uma perda de tempo - eu não quero ser um chapéu preto. Encontrar lacunas nas regras é um jogo divertido, desde que seja ético. No entanto, não devemos cruzar essas linhas vermelhas. Não há prazer em vencer trapaceando, mas o mais importante é que sua reputação é importante. subestimar as perdas de escândalos e eu e quer risco.


Eu também gostei de um dos bancos de investimento, com o representante com quem conversei. Era uma filial de um grande escritório em Wall Street. Eu já consegui trabalhar vários anos nesse tipo de ambiente. O limite de entrada parecia bastante baixo - eles não queriam ganhar dinheiro, apenas queriam criar um volume de negócios na bolsa de valores sem custos, para que seu departamento financeiro pudesse cantar serenatas para essa agência. Pareceu-me uma boa opção, e eu tinha certeza de que eles não se importariam em criar uma rotatividade, além de receber lucros adicionais. Os lucros geralmente raramente causam reclamações.


A coisa boa da minha empresa anterior era que eles podiam demitir até funcionários que ganhavam dinheiro. Alguém violou as regras fazendo várias transações que não foram autorizadas. Eles trouxeram o dinheiro da empresa e fiquei impressionado que eles foram demitidos de qualquer maneira por violarem as regras. Uma posição de gerência correta é extremamente rara, especialmente em finanças.


Então, inesperadamente, surgiu outra oportunidade.


Uma vez almocei com um cara que conhecia em ciência da computação na Universidade da Tasmânia, que agora trabalhava para a ITG. Ele me convidou para falar com a ITG, pois eles estavam envolvidos em negociações privadas. Isso era novidade para mim - eu pensei que eles eram apenas corretores. Encontrei-me com o gerente geral da região da Ásia-Pacífico e ele falou detalhadamente sobre a plataforma de arbitragem, que trabalha com ações nomeadas em USD e CAD. Então eu me encontrei com o CEO dos Estados Unidos, Ray Killian, quando ele estava em uma viagem à Austrália. A reunião correu bem e parecia não haver mais barreiras ao desenvolvimento de transações de alta frequência no ITG. O CEO da região da Ásia-Pacífico e seu presidente, que também era membro do conselho da ITG, listado na NYSE, trouxeram um plano de negócios improvisado e cálculos de risco aos EUA para uma reunião do conselho.


O que aconteceu depois, eu não sei - me disseram três versões completamente diferentes nos próximos anos. Segundo uma versão, o conselho aprovou o plano de negócios, mas Killian ganhou tudo de volta. De acordo com outra versão, alguns conselheiros não aprovaram o projeto. De acordo com a terceira versão, o plano de negócios não chegou aos membros do conselho. Não sei quais versões estavam erradas (talvez todas de uma vez), mas não importava. Os caras do ITG decidiram ficar sem o empregador e investir fundos pessoais. Este não era o trabalho que eu estava procurando, mas se o negócio fosse bem, eu poderia ganhar cerca de um quarto das ações da nova empresa por meio de opções recebidas ao longo de vários anos na aquisição. Foi como uma vitória.


O nascimento de uma empresa HFT


Assim, tendo recebido um investimento de US $ 1,5 milhão na Austrália, chegou a hora de começar a trabalhar sozinho novamente com um laptop no escritório. Configurei vários servidores e estações de trabalho, instalei o SuSE Linux de 64 bits e contratei três programadores - e o relógio que media o período pago pelos investidores começou a funcionar. Acabou que eu não sou um administrador de sistema Linux muito bom. Logo, eu estava cansado de fazer tarefas administrativas ruins e as designei para um freelancer. Agora havia quatro pessoas e meia. Porém, como o SuSE Linux de 64 bits, especialmente nos processadores AMD com seu barramento Hypertransport, não estava pronto para cargas no horário nobre, retornamos ao assembly RedHat / CentOS de 32 bits. Foi uma decisão sábia do "Sr. Sysadmin", um pouco a frente.


Quatro meses depois, olhamos adiante. Tivemos que escolher entre rodar em nosso ASX ou ir para a Coréia. Três bolsas coreanas, KSE, KOSDAQ e KOFFEX, foram fundidas em uma única bolsa coreana, KRX. Escolhemos a Coréia, embora os ambientes comerciais e técnicos fossem mais complexos e arriscados. No entanto, havia também mais oportunidades lá, além de matemática mais simples nos modelos de precificação e um pequeno número de ferramentas prometeu uma base de código mais leve.


Então, uma coisa engraçada aconteceu. Ao criar um novo sistema, você geralmente tenta fazer algumas convenções de nomenclatura para facilitar sua vida. Decidi usar códigos ISO ou parte deles para padronização. No entanto, devido à fusão das bolsas coreanas, ainda não foi atribuído um código ISO para a nova bolsa. Entrei em contato com o grupo responsável pela ISO, que acabou sendo o único cara com uma mesa de excel em algum lugar da Europa. Ele decidiu que o novo código para a troca combinada seria XKOX. Cliquei e escrevi para ele que essa combinação não soa muito harmoniosa em inglês. Talvez a melhor ideia seja usar códigos óbvios de KRX ou XKRX? Nós rimos e, assim, o XKRX se tornou o novo código ISO. Então agora posso dizer que fui eu quem criou o código ISO para a troca coreana unificada.


Naqueles tempos antigos na Coréia, os comerciantes, mesmo os de alta frequência, não podiam obter acesso direto à bolsa. Você tinha que passar pelo gateway do broker e usar sua API específica para se conectar. Não havia colocação nenhuma. Entre os clientes, houve uma grande diferença nos atrasos não controlados pela corretora, simplesmente devido às diferentes tecnologias de localização e interação. Futuros e opções negociados na bolsa KOFFEX. O próprio KOFFEX estava localizado em Busan, uma cidade portuária a uma distância de pouco mais de trezentos quilômetros de Seul. Os contratos de derivativos para o índice KOSPI 200 tinham um valor nominal pequeno, mas um tamanho de lote grande. Por esse motivo, eles eram os derivativos mais engenhosos do mundo, com uma diferença de dez vezes do resto. O contrato de euro / dólar na CME era o número dois e as opções no KOSPI 200 eram o número um. Isso acabou sendo demais para a KOFFEX; portanto, as principais operações nesses instrumentos foram realizadas em seu nome na bolsa KSE em Seul. Portanto, tudo o que precisávamos da troca estava localizado em um ponto de Seul, embora ele próprio tenha sido fundado em Busan.


Nesse ponto, eu já sabia que a pilha de rede introduz os atrasos mais significativos que consegui gerenciar em nossa nova implementação. Encontrei um conversor de protocolo Ethernet para InfiniBand de hardware que introduziu um atraso de 3 microssegundos. Foi projetado como um módulo conectado ao switch TopSpin InfiniBand. O barramento Hypertransport (HTX) da AMD, uma alternativa ao PCI Express, era mais moderno, fornecendo menos latência interna. Comprei várias placas de rede e placas-mãe Pathscale HTX Infinipath com suporte HTX (elas só existiam em versões alfa, por exemplo, uma delas tinha o número de série 0x0000045!) pilha de rede extremamente rápida, com a qual fiquei muito satisfeito. Ele parecia, é claro, um pouco estranho e desajeitado, mas ele era um dos mais competitivos do mundo. Por vários anos, as placas de rede comuns não puderam ser comparadas à minha configuração.


Escolhendo um corretor


Depois disso, fomos a Seul para encontrar um corretor e um local no data center. Fui com um dos investidores, um homem chamado Bubble, que se tornou nosso funcionário. No início, estava dividido entre a ITG e a HFT, mas depois estava completamente à nossa disposição, já que o CEO, o presidente da APR e outros funcionários da ITG eram nossos investidores. Foi ele quem foi instruído a reservar um hotel em Seul. Aconteceu que ele escolheu um motel pago a cada hora, seduzido por uma descrição artística muito pitoresca que escondia a imagem verdadeira - quartos sujos e sujos com ar condicionado escamoso, um computador infectado por vírus. Não é um bom começo. Vários corretores nos chamaram e expressaram surpresa em nossa área. Estranho, mas engraçado. A viagem foi bastante produtiva, fizemos um acordo incrivelmente incrível.


Bom negócio


O escritório da Muppetz Securities nos ofereceu um serviço de DMA. A grande empresa que eu deixei não tinha acesso direto. Antes disso, eu estava de olho no sistema da HP / Compaq / Tandem em um emprego antigo, pois essa era uma maneira de entrar na rede interna de um corretor específico, a fim de me aproximar da troca. Custou cerca de US $ 500.000 para uma caixa pequena criada como parte do programa interno de desenvolvimento de aplicativos dedicado da HP. É sedutor, mas não para uma empresa que vive seus últimos dias. O serviço de DMA oferecido a nós agora foi implementado com base no protocolo X.25, que era inovador para mim na época. Esse acordo com corretor era bastante caro, mas como o acesso direto real era inédito, eu assinei um contrato alguns dias depois.


“ ” RTS, , . . RTS , , . , Orc. Orc, . , RTS API 10% .


, InfiniBand. – X.25. , . Muppetz Securities , , .


, Muppetz , . X.25 . - HFT-, , ? , .


, "" . , HFT- , . , . , Muppetz , . ., . , Muppetz , , – !


, . , , KRX. , , , , . . CRT-. , , . . , , ? , “”.


Muppetz X.25 , KRX, . - , , , .


X.25


X.25 . T1 E1 ( ) Koscom, KRX. 64 (kbps) . , - , . , ( ) .


X.25 . , , . - , X.25. , , , – BBS, FIDO, Z-modem, Y-modem, . , , . . . , . , , . Sangoma, .


. . . , , . HFT , . , , . , , . T1. , , . X.25, , Sangoma. – .


X.25. Postgresql ( ), C++, .. , , -. , . , , . , .


()


. . . – 85% ! , ( ), . .


.


, “” . , , . , , . , , . , . . , ( , " "), 72 . , . , . , , , . , . … ! – . , , .


(IV) . IV, ( ) . . , IV , . , . R, . IV . - , . , , . , , ( .) , .


. . , . , , . . , .


, . . . . “” . - , , . , . .


Zero


Ao negociar na bolsa, acredita-se que você tenha sorte se recebeu parte do spread a seu favor. Naquela época, na Coréia, as opções de caixas eletrônicos e mais baratas tinham um tamanho de escala de 0,01 pontos de preço. Estes 0,01 custam cerca de um dólar de um contrato. Ao negociar um robô de alta frequência imediatamente com uma série de opções, se você tiver sorte, sai da transação com uma média de dez ou vinte centavos. Um dos meus objetivos neste trabalho era superar os números de rotatividade que vi anteriormente. Lembro que, em último lugar, o recorde foi de 1,13 milhão de contratos por dia. Se você pudesse trocar um milhão de opções e levar 10 ou 20 centavos por cada, ficaria muito feliz. Em teoria, não há diferença entre prática e teoria. Perceber isso acabou sendo bastante difícil para mim.


Lembrei-me da conversa de um dos comerciantes, o Sr. B., com alguém na cozinha de uma empresa antiga (aliás, ele acabou dirigindo a empresa.) O Sr. B. foi perguntado se ele comprou um bom sinal de negociação e obteve lucro, por que Ele não fecha imediatamente a posição? Ele respondeu que, se tudo fosse tão simples, ele ganharia muito mais dinheiro do que agora. Tivemos uma excelente latência, com uma boa localização e canal X.25 direto. A tecnologia funcionou, o modelo de preços deu os preços certos. Talvez pudéssemos fazer o impossível?


Conversei com os acionistas e disse que precisava de mais 25.000 AUD para sobreviver ao mês e tentar algo novo. O principal investidor emitiu um empréstimo de 25.000 AUD. O Sr. F., um dos funcionários originais, codificou o que chamamos de estratégia Zero. Tudo era simples - para não ter uma posição direcionada, espere que uma opção apareça no copo, cujo preço difere da nossa avaliação pelo menos com um tique. Então bata nele. Espera Em seguida, dobre-o e obtenha um lucro de carrapato. Isso poderia funcionar?


Nós vamos viver!


Nossa receita mensal de negociação começou a ser medida em seis dígitos saudáveis. A estratégia de Zero funcionou. Aumentamos o capital de negociação para que você possa comprar 500 ou 1000 opções de caixa eletrônico e, em seguida, dar a volta e devolvê-las. Não há criação de mercado inteligente aqui. Nós éramos apenas um agressor.


Ser um comprador no mercado pode ser mais problemático do que ser um fabricante. Como formador de mercado, você deve ficar fora do caminho do mercado quando for contra você, mas deve ser estóico o suficiente para não se tornar muito pateta e não perder um lugar valioso na fila. Como regra, seu limite de preço, após superar o que você precisa para fugir do copo para evitar perdas, é menor do que o do agressor que tira proveito da vantagem comercial. Parece um jogo estranho no qual o agressor realmente tem uma desvantagem de atraso, porque ele está pronto para se mover somente depois que o criador já fez a sua jogada, todas as outras coisas sendo iguais. Ou parece um sprint de 100 metros, onde o fabricante tem uma vantagem de 50 metros e você precisa persegui-lo de alguma forma. Essa analogia descreve basicamente a estratégia de Zero. Uma conexão direta através do X.25 com fios passando pela janela e localização no campus foi suficiente para superar a ingenuidade de nossa estratégia naqueles primeiros dias. A sorte sorriu para nós.


Era um tipo de entretenimento ver como o dinheiro, por assim dizer, aparece por conta própria em uma conta bancária após obter lucro. Foi um pouco surreal. Negociamos opções de índice na Coréia e o dólar australiano aparece em uma conta bancária em Sydney.


Pouco dinheiro foi gasto em um cluster doméstico em nosso escritório recém-alugado na Hunter Street, 200 metros quadrados, muitos pequenos computadores mini-ITX em um rack barato de uma loja de ferragens, placas de RAM, fontes de alimentação ATX e um comutador de rede. A simulação de volatilidade implícita, testes históricos e estratégia em si melhoraram com o advento de várias centenas de núcleos adicionais.


O próximo passo em nossas negociações foi a transição da estratégia Zero para uma estratégia de negociação completa com hedge. Em vez de tentar proteger uma posição através de futuros, passamos a fazer hedge com outras opções. Não queríamos transferir posições durante a noite, mas ficamos felizes em mantê-las durante o dia. A estratégia Zero manteve uma exposição total de vários segundos ao longo do dia. A nova estratégia nos fez manter nossa posição o dia todo. Essa ideia funcionou muito bem. Cerca de dois terços do mercado KRX eram opções de baixo delta com preços estáticos. Não era incomum ver mais de um milhão de lotes oferecidos ou pedir opções minúsculas. No entanto, compre essas opções baratas e será muito difícil redefini-las antes do fechamento do mercado. Portanto, simplesmente nos concentramos em opções com spreads mais estreitos e com grandes deltas, com ticks de tamanho 0,01 e preços abaixo de 3,00. Eles representavam cerca de um terço do tamanho médio do mercado. Por fim, crescemos para uma participação de mercado típica de 6 a 7% e, às vezes, mais de 10%. É incrível que tenhamos negociado cerca de um terço do volume do mercado em que nos concentramos. Um pedaço de bolo tão normal. A superação do recorde de rotatividade passado ocorreu.


Classificando os fios


A idéia do primeiro hack significativo veio depois de olhar para o par trançado que foi colocado pela janela. Os modems para as linhas T1 e E1 transmitiram esse sinal através de conexões desajeitadas, levando a uma caixa ainda maior, que foi então conectada através de enormes conectores às placas seriais. Nasceu um pouco de pesquisa e um plano óbvio. Comprei várias novas placas Sangoma nas quais conectei os canais NetOptics T1 / E1 com um par trançado e instalei esse conjunto na Coréia. Quando perguntado o que era, eu respondi que era para monitorar a condição da linha e medir os atrasos. Esta declaração estava tecnicamente correta, mas incompleta.


Os novos cartões Sangoma suportam o modo misto, no qual os cartões simplesmente aceitam todos os bits do canal. Comecei a analisá-los e percebi como eram as correntes. Os canais virtuais X.25 foram agrupados em canais de dados de mercado. Eles tendiam a ir um após o outro. Havia outros grupos de canais para opções de compra, venda e futuros. Eu mesmo tive que desmontar a camada HDLC, mas logo decodifiquei pacotes correspondentes aos canais KRX. Esse desvio do modem e do dispositivo de rede economizou cerca de um milissegundo.


Este não era um território desconhecido. A troca Eurex já forneceu uma API privada - e foi hackeada e a engenharia reversa do protocolo de troca. Depois disso, o documento oficial sobre o regulamento técnico de participação na bolsa foi ajustado para que se tornasse uma violação das regras. Então essa prática foi interrompida, mas na Coréia não havia essa regra. Da mesma forma, quando a ASX abriu seu primeiro pequeno ponto de colocação em Bondi, observei que várias empresas clientes tinham servidores 1U da Dell, sem nenhum modem. A engenharia reversa do protocolo Nasdaq não era tão incomum quanto eu esperava - existem muitos hackers inteligentes.


Cortar e descartar


Na Coréia, as coisas melhoraram. Agora que eu tinha o fluxo de bits um por um (bom, ou pelo menos byte a byte), pude ver que os pacotes perdem muito tempo nos fios. Milissegundos Um método comum no monitoramento de rede é fatia, quando você simplesmente corta a primeira parte do pacote. Eu implementei isso com meu código de desvio da camada HDLC e agora estávamos muito à frente porque os campos de compra e venda que precisávamos estavam localizados no início do pacote de cotações. Economize 100 bytes em 128 Kbps e você estará à frente em 6,1 ms. À medida que as especificações e a aceleração do canal KRX cresceram, nossa vantagem diminuiu, mas permaneceu aceitável de qualquer maneira. Agora, enviamos nossos pedidos mesmo antes do pacote de dados de entrada com preços ser totalmente aceito.


Às vezes, a troca trocava de canal virtual, e ficávamos com um cabo lento até descriptografar os novos números. O restante da infraestrutura também estava melhorando lentamente. Agora tínhamos cabos passando não pela janela, mas pelos canais de cabo do interruptor principal do edifício. Também penduramos um pequeno ar condicionado sobre a janela, o que era muito necessário, porque a temperatura no rack estava aumentando constantemente. Nossa sala de trabalho não era um data center real. Então, nosso banco vendeu seus negócios com derivativos e depois de um tempo o novo proprietário decidiu que éramos clientes muito pequenos e nos ordenou que deixássemos nosso escritório. Mais tarde, descobri que ele tinha seu grupo de IA em Tóquio, que realmente queria nosso espaço para si.


Mais uma tentativa


Eu tive que lutar para encontrar um novo lar para nós. Nós nos concentramos em encontrar vários pontos ao mesmo tempo para que o negócio fosse um pouco mais sustentável. O protocolo X.25 ainda não era bem conhecido, mas não era mais incomum. Alguém chamado Dr. S. veio em nosso auxílio e colocou nosso equipamento no data center do outro lado da estrada. Esse intermediário era um pouco mais inteligente e entendeu que, se virmos todo o fluxo de dados físicos, poderemos ver os pedidos de outros clientes. Ele estava certo - tecnicamente, poderíamos, mas até agora não o fizemos. Tivemos que configurar uma infraestrutura separada para nossa própria configuração de fluxos de dados de mercado. Esse corretor fez um ótimo trabalho e ficamos gratos a ele por uma migração tranquila. A experiência com Muppetz foi uma exceção. Os corretores na Coréia são boas pessoas.


Implantamos a mesma infraestrutura em um novo local e continuamos a pesquisa. Percebemos que a velocidade dos dados de mercado em sites diferentes era muito diferente. Não conseguimos sinal de GPS para sincronizar o relógio local pela rede, mas a Coréia usou o padrão CDMA para comunicações móveis. O fabricante local Endrun Technologies vendeu uma bela caixinha de plástico, com a qual conseguimos um sinal estável no tempo exato. Este dispositivo recebeu um sinal de GPS dentro do CDMA e transmitiu dados NMEA por uma porta serial mais (por outro cabo) pulsos em intervalos ultra-precisos. A especificação CDMA promete instabilidade para sinais de tempo precisos de não mais que 10 microssegundos, na verdade, temos cerca de um microssegundo em Seul. Para comparação, um operador canadense de CDMA mostrou precisão de cerca de 5 ou 6 microssegundos.


Acabamos alocando no data center subterrâneo KRX. Entrar não foi fácil devido à segurança estrita. Tendo percorrido um longo caminho subterrâneo, notei que um sinal de celular estava sendo captado dentro do data center. Coloquei nosso receptor CDMA no rack e ele funcionou - recebemos o tempo exato desde o sinal celular interrompido até que algo dentro dele se queimasse. Suspeitando que uma antena mais eficiente precise ser instalada, antes da próxima viagem a Seul, comprei uma antena branca flexível de um metro de comprimento e soldei o conector SMA a ela. Quando fui até o bunker subterrâneo do data center KRX e coloquei uma grande antena branca em nosso rack, os caras da Koscom olharam para mim com muita desconfiança. Eu não sei o que eles pensavam de lá, mas várias outras pessoas ao longo dos anos mencionaram que viram minha antena branca no topo do rack no KRX.


Agora, tínhamos o tempo exato em todos os pontos de presença e precisávamos estabelecer uma troca de dados entre eles. Descobrimos que, a alguns quarteirões do campus, recebemos um atraso de 300 microssegundos entre nossos pontos por meio de uma conexão Ethernet de dez megabits do provedor da cidade. Esse foi um indicador muito bom e coordenamos todos os nossos dados e pedidos de mercado nessas linhas da Internet. Na Coréia, a Internet é maravilhosa e foi o suficiente para nós. Milissegundos dos benefícios da obtenção de dados de mercado para todos os pontos de presença melhoraram imediatamente a negociação. Enquanto nossos melhores pedidos vieram do campus de câmbio, os dados mais rápidos do mercado vieram de um ponto a alguns quarteirões de distância. Isso acabou sendo inesperado e esse local permaneceu o melhor local para obter dados de mercado por vários anos.


Um pouco mais tarde, em um novo ponto da extensão do edifício de troca KRX, configuramos a obtenção de dados de mercado e os atrasos foram enormes. Foi a primeira vez que me deparei com o Citadel na Coréia. Pude determinar isso pelos carimbos de data e hora nos pacotes de rede - eles podem lhe contar tudo se você puder ouvi-los. Pedimos para desconectar este canal, a Koscom interrompeu a transmissão e desconectou fisicamente a linha. Depois de um mês ou dois, pagamos pela reconexão, eles ligaram na mesma linha, sem mudar nada, e agora era um dos melhores. Esses eram os caprichos da vida na Coréia. Suspeito que algum novo tipo de balanceador round-robin em algum lugar no meio tenha sido capaz de melhorar a situação. Para outras esquisitices observadas lá, não consegui encontrar nenhuma razão óbvia.


Os canais virtuais para o envio de pedidos no X.25 eram de 64 kbit / s cada - este é extremamente lento. Pensei que poderíamos usar o mesmo hack com cartões Sangoma e comecei a escrever um código que enviaria um pacote com o pedido antes mesmo que ele fosse completamente formado na memória, o que nos salvaria em milissegundos. Após o envio do pedido, poderíamos transformar o pacote em inválido, se de repente a situação do mercado tivesse tempo para mudar e o pedido enviado não fosse mais necessário. No entanto, nossa pequena equipe já estava muito ocupada e essa tarefa não era uma prioridade, porque nosso desempenho comercial já era bastante bom. Aprendemos mais sobre modelagem de volatilidade implícita e estratégias refinadas.


Somente mudanças são permanentes


As trocas nunca param e o KRX não foi exceção. Eles começaram a abandonar o protocolo X.25 e mudaram para Ethernet e TCP / IP. A bolsa planejava usar o TCP para enviar pedidos e o UDP para dados de mercado. O desempenho comercial do nosso hack X.25 estava começando a desaparecer. Ficamos muito gordos com nosso mecanismo de negociação e estratégia. O desempenho do nosso mecanismo de negociação não melhorou muito em relação aos trezentos microssegundos iniciais, ele aumentou. Em algum momento, os caras repetiram meu hackathon de 72 horas e transformaram o motor em algo mais tradicional, simples e rápido. Curiosamente, agora não estamos preocupados demais com cem microssegundos aqui ou ali, porque perseguimos objetivos estratégicos e táticos. Comparado aos outros, na verdade tivemos um atraso negativo devido ao adaptador de rede trabalhar no modo promíscuo, ignorando o modem e nosso próprio analisador HDLC. Nossos pedidos ainda foram antes que os dados do mercado chegassem aos demais participantes do mercado.


Queríamos tentar pré-enviar pedidos no X.25, mas não tínhamos pessoas livres para passar alguns meses em programação, especialmente considerando que o uso do X.25 estava chegando ao fim. Todo o código X.25 seria inútil alguns meses após a conclusão deste projeto. No entanto, a ideia teve que ser testada e conversei com o cara que escreveu a maior parte do software em Sangoma. Ele foi o principal desenvolvedor e fez o trabalho principal de escrever um driver de dispositivo. Talvez ele possa recomendar alguém? Ele disse que faria isso sozinho como um projeto paralelo em casa. Alguns problemas surgiram porque o código desses drivers era muito confuso com a abundância de instruções de transição para G em C, mas mesmo que este não seja um estilo muito bom, os drivers funcionavam de maneira estável. Esse código não deveria ter durado mais de alguns meses, portanto parecia um risco aceitável. Os testes demoraram um pouco mais do que o esperado e o pré-envio funcionou, mas o desempenho foi terrível. O código era tão diabólico que o caminho "rápido" funcionava mais lentamente que o caminho normal. No entanto, não tivemos tempo de reescrever todo o código dessa ideia novamente.


As alterações no suporte ao TCP no KRX acabaram sendo um mapeamento simples dos canais virtuais X.25 para as sessões TCP. Você pode ter várias sessões TCP abertas simultaneamente (que eles chamam de PID) para enviar pedidos. O formato de transferência de dados de mercado foi portado inalterado para funcionar sobre o UDP. Não me lembro se eles adicionaram criptografia à versão TCP imediatamente no lançamento ou um pouco mais tarde, mas agora, ao enviar um pedido, todo o pacote de dados imediatamente após o cabeçalho TCP deve ser criptografado usando a cifra ARIA, e isso era um requisito . ARIA é o código nacional coreano. É muito semelhante ao AES com um layout S-Box ligeiramente diferente. Esta é uma boa cifra.


Vimos que a nova arquitetura baseada em TCP estava prestes a abalar o mercado e potencialmente destruir a maioria dos negócios de grandes corretores. O bom e velho X.25 era lento, mas a alternância de canais significava que havia muitos caminhos paralelos para o envio de pedidos que podiam ser compartilhados entre si. No novo mundo do TCP, havia um número limitado de sessões, duas ou quatro, e todos os clientes tinham que enviar seus pedidos por essas conexões, apesar da aparente presença de muitos PIDs. Como resultado dessa serialização, as solicitações do cliente foram enfileiradas pelo broker. A condição de corrida surgiu agora não apenas na bolsa, mas também dentro de cada corretor. Os grandes corretores poderiam perder sua participação de mercado, já que as linhas de comunicação existentes podiam suportar apenas um número limitado de clientes HFT. Além disso, a velocidade de envio de pedidos aumentou, o tamanho dos pacotes de dados de mercado também aumentou e a taxa de recebimento de dados de mercado não aumentou proporcionalmente para acompanhar o ritmo. , - . , , .


, Koscom . 622 Mbps, , . – T1 E1. – -. T1, Cisco. T1 , , .


TCP KRX , . , Samsung Securities, , . - , . , . , , , ( .) . , , , , . – – . , .


promiscuous- , , . TCP/IP X.25 , , . . – KRX. , , - , . , , , , , . , . , .


FPGA


-. . , . – “ ” . UNSW NICTA. Linux, Itanium. - , , , . , – Sangoma, . FPGA- XILINX, Spartan 3. flash- FPGA , . , Sangoma promiscuous-. Sangoma . , Sangoma , . .


, FPGA . - FPGA Ethernet InfiniBand TopSpin. , FPGA- Celoxica 2004 , . HFT-, Celoxica UDP. , . Celoxica UDP Ethernet, . , . CTO -, , Celoxica , . Celoxica . VHDL, Handel-C , , , . - FPGA, , Impulse-C. , VHDL, .


SANGOMA . , , , , . , , . Telco, E1. , E1 . FPGA-, , , 622 /, Koscom.


, PCIe- . SFP- FPGA- XILINX . T1/E1, , . - , NetOptics . FPGA- FPGA-, . NetOptics . , , . , .


, . , , , . STS-3/STM-1 155 Mbps OC3 . , . ( .) , 64 /, , , . , “” KRX, FPGA- , .



KRX. TCP, , – . TCP- , . . -, , ? N heartbeat, PID . , . , IP-, Ethernet- .


– . . ID , . ( ), – , heartbeats-. , ARIA.


, 1Gbps FIX 4.2 ( BATS 10G), - , FPGA. 25 200 . Ethernet- , .


ARIA


, , C- 8- 32- . , . - , , , .


ARIA, . , SIMD-, . , .


, , TCP. , . , . Koscom “ , ”, , .


ARIA , .



. . Unix . , . , , . , .


, . . , . , " " - , . , , , , ? , , , . , , , . .


. TCP , , , ?
, , , . .


ARIA (CBC). , . , .


imagem


, , ( .) , . , KRX . . Koscom, , , - , . , , . - ( ) - CBC XOR . , , . , .


, . TCP-, . 90 , , , . , , , (.. ) , . .



A melhoria mais significativa que já fizemos na estratégia não veio desses truques de baixo nível. Usamos a floresta aleatória (RF) para atuar como uma camada de aprendizado de máquina para prever o preço teórico futuro. Inicialmente, confiei essa tarefa a um de meus doutores na empresa (tínhamos seis deles.) Ele parecia ser um gênio da matemática e doutora em física, usando algum tipo de modelo cosmológico singular, e também era meu grande amigo, a quem contratei vários anos atrás e ensinou-lhe C ++. Posteriormente, lecionou C ++ na Universidade de Queensland. Também contratei um de seus alunos de pós-graduação, a quem ele ensinou C ++ (é engraçado que a empresa tenha várias gerações de aprendizes dessa língua.) Eu o comissionei para desenvolver uma camada de aprendizado de máquina usando RF para a estratégia. Ele voltou depois de alguns meses e me mostrou todas as coisas que ele tentou e que não funcionaram, e então me explicou por que isso nunca funcionaria e por que era tudo uma perda de tempo.


Eu já me deparei com esse método na pós-graduação, então decidi que era melhor fazer tudo sozinho novamente. Peguei o pacote OpenDT v5.2, que funcionava através do MPI em nosso cluster a partir de placas mini-ITX. Agora, ela cresceu para mais de mil núcleos, com placas-mãe aparafusadas às prateleiras do rack a partir de painéis de aglomerado e fontes de alimentação localizadas em prateleiras de metal com orifícios na parte superior. Duas semanas de OpenDT trabalhando neste cluster me ajudaram a criar uma solução decente. Eu poderia repetir esse resultado usando o código original do autor do método Random Forest, Leo Briman. Joguei minhas conquistas por cima do muro para o Sr. L. (o cara que enviou mil pedidos por segundo para a bolsa, que quase nos matou na época) para lançá-la em produção. Ele era um programador decente (embora um cara introvertido) e tudo estava pronto em duas semanas. Vimos um aumento imediato no lucro em cerca de um terço - foi um bom mês.


Outras melhorias e ajustes na camada ML deram um grande retorno. Nós nos tornamos muito dependentes disso. Criar uma floresta aleatória com uma resposta rápida foi um trabalho árduo, pois acessar uma enorme quantidade de memória em ordem aleatória é uma maldição de baixa latência. Em projetos posteriores, fiz um pouco melhor. Depois de mais ou menos um ano, ficou claro que, se desligarmos o ML, não ganharemos dinheiro. No entanto, nunca realmente exploramos a questão de saber se isso se devia à nossa estratégia ou se um atraso baixo não era mais suficiente para vencer. Eu suspeito o segundo. Vi jogadores inteligentes como a Jump instalando dezenas de servidores na Coréia, e eles obviamente não os usaram em modo inativo. Uma quantidade suficiente de ML estava no ar.


Uma maneira madura de pensar sobre o ML é que ele é simplesmente um método para reduzir a latência. Ele ganha tempo negociando com incertezas. Você reage mais cedo, mas pode estar errado. No entanto, mesmo os melhores robôs de arbitragem não recebem necessariamente execução em todas as suas ordens. É mais correto pensar em ML como uma maneira de obter pontos de referência adicionais no espaço de atrasos e incertezas.


Canárias


Outro truque que eu provavelmente deveria mencionar é bem conhecido - a tecnologia canary. A CME foi criticada por muitos comerciantes há algum tempo, porque o Wall Street Journal publicou um estudo mostrando que alguns comerciantes recebiam seus pedidos antes da chegada dos dados do mercado que levariam a colocá-los, e esse ganho de velocidade lhes deu uma vantagem sobre participantes comuns. Este é um argumento incorreto, porque as velocidades de dois processos diferentes nunca podem ser as mesmas. Esse é mais um motivo para a introdução de um código de processamento adicional para receber informações simultaneamente do canal lento de dados do mercado e do canal rápido de notificação da execução do pedido.


Existem várias trocas em que a situação é diferente. A Nasdaq foi uma das primeiras trocas a receber dados de mercado mais rapidamente do que as notificações de pedidos. Foi uma armadilha para jovens jogadores que não esperavam isso.


Nas minhas primeiras experiências com o KRX, um canário poderia ter trabalhado um segundo antes de obter dados do mercado. Deixe-me lembrá-lo de que o canário é uma ordem limite que você colocou anteriormente na profundidade do copo, e não no melhor nível. Assim, quando o mercado de repente salta para um novo nível de preços, seu canário começa a cantar, informando sobre o movimento um segundo antes do resto do mercado. Se você não pode ganhar dinheiro com isso, seu crânio deve estar cheio de pedras em vez de cérebros. Bem, e encontrei algumas pedras na minha cabeça.


Isso foi estranho. Às vezes, as diferenças de preço entre esses dois canais eram tão grandes que você podia ver o mercado subir e descer. Se for ingênuo comprar nesse primeiro movimento, o mercado pode criar problemas para você quando cair. Em vez disso, você pode tentar determinar com antecedência o horário desses eventos, para poder comprar abaixo e vender imediatamente seus contratos.


Muito conhecimento foi um problema divertido. Nós integramos esse código ao nosso processador de dados. Um dos caras, o Sr. F., chamou esse evento de "poder das estrelas", como os irmãos Mario.


Jitter vs. Atraso


Você pode se lembrar de como a integração das três bolsas no KRX realmente não afetou os futuros e as opções do KOSPI, pois eles já eram negociados em Seul no KSE. A troca unida KRX fechou o data center em Busan e todos se mudaram para Seul. No entanto, o governo não alcançou seus objetivos políticos e o data center de Busan acabou sendo reaberto.


Bancos e corretores em Seul gastaram muito dinheiro com essas transferências. Às vezes, verificava-se que não havia peering entre os dois data centers em Busan, e os dados de mercado foram primeiro para Seul e depois para trás. A bagunça. Só agora, em 2016, a bolsa KRX voltou atrás, para que tudo se concentre em Busan. Antes disso, a melhor solução era coletar dados de mercado em Seul, e enviar pedidos para Busan é caro e ineficiente. Todas as empresas de HFT (como nós) estavam considerando a possibilidade de construir suas próprias linhas entre Seul e Busan; no entanto, a Koscom a proibiu de fazê-lo para não perder sua renda. Você só podia comprar linhas caras da Koscom, o que todos os corretores compraram. Normalmente, você lutava por canais que davam um atraso de 2,9 a 3,1 milissegundos. Muito lento para um cabo reto de 300 km ou uma rodovia de 400 km. Somente nos últimos dois anos surgiram vários links de rádio por microondas.


Ao mesmo tempo, o data center KRX evoluiu da maior plataforma comercial do mundo, equipada com equipamentos HP / Compaq / Tandem, para uma plataforma AIX, com arquitetura IBM PowerPC. Antes dessa migração, recebíamos ping de ida e volta de 11 a 12 ms (RTT) nas linhas de envio de pedidos com jitter de cerca de 130 ms. Depois de se mudar para Busan, o ping passou dos 20ms, mas o jitter caiu para 30ms. Embora os atrasos tenham dobrado em média, a redução do jitter tornou nossa estratégia mais eficaz.


Isso é semelhante ao caso em que o CME reduziu a tremulação, substituindo seus gateways por equipamentos do iLink baseados em FPGA. A aleatoriedade diminui e a velocidade se torna mais importante. A diferença com a Coréia foi que o atraso realmente aumentou para a KRX, mas como os traders não nos importamos, a resposta para outra pergunta é mais importante - meus esforços valem a pena? A nova plataforma melhorou nosso ROI na Coréia. Da mesma forma, espero que uma instabilidade menor, como resultado de uma diminuição constante dos atrasos na bolsa (não apenas na CME, mas também nas bolsas de todo o mundo) continue dividindo os traders entre aqueles que podem negociar rapidamente e os que não negociam. Os atrasos continuam a ser importantes, mesmo que não sejam críticos.


Concorrência


Vale mencionar o que aconteceu quando a Getco chegou à Coréia. Eu sei pouco sobre eles em um sentido prático. A primeira coisa que ouvi foram reclamações constantes dos corretores. A Getco gerencia transações bastante difíceis e, como elas podem ganhar dinheiro com isso, também funcionou na Coréia. Havia rumores de acordos incríveis com os próprios corretores, para que eles pudessem aumentar sua participação de mercado. Talvez isso não seja muito diferente do acordo canadense com a CIBC? Segundo rumores, a Getco pagou um preço fixo muito baixo (talvez apenas alguns milhares de dólares) por uma corretora canadense para garantir participação de mercado para a CIBC.


Comecei a ler relatórios sobre a Getco ocupando 5% do mercado. Alguém me disse que esse número estava mais próximo de 15%. Muitos corretores reclamam de seus clientes sem receber uma quantidade suficiente de comissão deles. A comunidade local ficou bastante barulhenta e frustrada com a chegada da Getco. Mas não ficamos chateados nem um pouco, em geral. Éramos estratégias bastante diversificadas e negociadas que outros não possuíam, e poucas pessoas conseguiam entender o que estava acontecendo conosco. No entanto, essa foi uma lição - a Getco trouxe novas pessoas ao negociar estratégias mais eficazes. Muitas pessoas perdem sua renda e reclamam, a imprensa gera escândalo. Você começa a ler histórias sobre o quão injusto é o mercado. Não é - apenas um eco dos gritos dos perdedores. Esta é uma história triste que você ouve nos mercados repetidamente quando os comerciantes lutam por ineficiências do mercado e pela eficácia de sua tecnologia. O mercado está melhorando, mas as reclamações estão ficando mais altas.


O que fizemos funcionou e foi aceitável na Coréia, e foi aceitável em muitos outros países. Mas não, por exemplo, no Eurex. As regras variam de mercado para mercado. Se você é um gerente de portfólio, agora entende que não deseja mais jogar este jogo. É uma concorrência acirrada, com centenas de comerciantes inteligentes como eu constantemente preparando novas estratégias. Mas você não precisa jogar neste campo. Um operador de alta frequência como eu está focado no próximo tick. É com isso que nos preocupamos. Gastamos enormes quantidades de recursos para levar nossos colegas da HFT para a próxima etapa. Eu não ligo para o seu portfólio alfa. Está além do meu horizonte, além da minha preocupação.


Perco muito e ganho muito durante o dia. A empresa HFT descrita aqui, que fundei em maio de 2005, saí em janeiro de 2011. Só tivemos oito dias perdidos durante todo esse tempo, de acordo com nossa principal estratégia de negociação. Em quatro deles, a perda foi inferior a 1.000 USD e em todos eles foi inferior a 10.000 dólares. Isso não é tão bom quanto a famosa empresa Virtu (1 dia em cerca de 1200, de acordo com seus documentos para IPO), mas concordei. No entanto, lembre-se de que existem muitas transações entre aquelas que não podem se orgulhar de altos resultados financeiros. Ganhamos apenas uma pequena parte do spread, geralmente 10% em um dia normal, 5% em um dia ruim e 20% em um dia bom. Às vezes, os dias de vencimento das opções nos davam 50%, pois muitos comerciantes tentam não negociar tais sextas-feiras todos os meses.


A lei dos grandes números permite à HFT ganhar dinheiro todos os dias. A mesma lei indica que, se perdermos nossa vantagem tecnológica, ou não seremos capazes de negociar ou perderemos dinheiro todos os dias. As empresas de HFT frequentemente quebram e desistem. Esta é uma indústria difícil, constantemente investigando a infraestrutura e a microestrutura do mercado, a fim de melhorar sua eficiência. E este será um trabalho ingrato se as pessoas não entenderem que o galo de hoje pode instantaneamente se transformar em um travesseiro de penas quando uma empresa como a Getco chegar à sua cidade. Estou certo de que a chegada de Jump também causou o aparecimento de vários travesseiros empoeirados.


A Coréia é um lugar divertido, pois a infraestrutura de troca KRX ainda é uma bagunça completa. Há muito mais idéias que podem ser implementadas em uma infraestrutura lenta, desajeitada e encoberta. Os HFTs amam a bagunça porque podem se aprofundar nela e encontrar benefícios para si mesmos. Isso não é tão difícil, você só precisa de mais atenção aos mínimos detalhes, porque qualquer complexidade consiste em coisas simples. Por incrível que pareça, os HFTshniki odeiam colocações de troca e baixa latência, já que é muito mais difícil encontrar uma vantagem lá. O HFTshniki também adora sites que poucas pessoas conhecem ... Ninguém quer ser emboscado.


Gerente de Portfólio


Não se preocupe com o próximo tick. Incentive estruturas de mercado como ETFs que sejam competitivas, justas e baratas. Então você pode ficar de pé e se alegrar ao ver essas empresas de HFT se matando, lutando pelo menor spread. Isso permite que eles forneçam liquidez para trabalhar para você, apesar de seus motivos. No final, apenas comprar mais alto e vender mais baixo (ou seja, estreitar o spread real) funciona em concorrência pelo próximo tick. Esta não é uma receita de dinheiro fácil em HFT.


Os HFTs têm medo dos gerentes de portfólio - eles possuem um grande clube de informações que mata o HFT. Grandes encomendas movem os preços, o que impede o formador de mercado de obter seu spread. Os gerentes de ativos até pensam de maneira diferente. Cada execução de um pedido é uma transação desejada, mesmo que o mercado tenha ido mais longe e a conta tenha um rebaixamento, e uma perda é simplesmente uma despesa que está sempre dentro do seu modelo. Na HFT, a execução é um risco, o rebaixamento é um desastre e a perda é apenas um encolher de ombros.


O gerente de portfólio deve usar algoritmos e a mágica da eficiência do mercado para melhorar a qualidade da execução de suas ordens. Você não deseja contratar vinte pessoas de uma só vez para competir por uma posição na fila no próximo tick? Você deve ter mais medo de fundamentos quânticos de aprendizado de máquina que automatizem constantemente seu alfa. Preocupe-se com os traders de HFT decepcionados que decidem mudar seu modelo e investir a longo prazo para competir diretamente com você. Eu vejo que ambos já estão acontecendo.


Muito poucos corretores oferecem soluções competitivas, mas basicamente tudo parece um pouco obsoleto. Um gerente de portfólio de portfólio grande com uma equipe grande pode obter lucro adicional ao implantar seus próprios algoritmos e uma plataforma de DMA, para que seus negociadores possam negociar de forma mais agressiva e frequente, assim como as HFTs debilitadas olham para o horizonte de tempo. Mas cuidado - esta é uma ladeira escorregadia ...




Foi publicado anteriormente sob o pseudônimo de Thomas Anderson. Este texto não inclui sexo, drogas ou rock and roll do rascunho original, pois isso não adicionaria nada à história da negociação. Talvez isso ajude a justificar minha decisão de abandonar o trabalho de que gostei. De qualquer forma, é melhor deixar tudo isso por dizer, mesmo que se perca alguma atitude pessoal.

Source: https://habr.com/ru/post/pt414037/


All Articles