Saturday, 28 April 2018

Exemplo de estratégia de negociação de alta frequência


Estratégias e segredos de empresas de negociação de alta frequência (HFT).


Sigilo, Estratégia e Velocidade são os termos que melhor definem as empresas de negociação de alta frequência (HFT) e, na verdade, o setor financeiro em geral, como existe hoje.


As empresas de HFT são sigilosas sobre suas formas de operação e chaves para o sucesso. As pessoas importantes associadas à HFT ignoraram a publicidade e preferiram ser menos conhecidas, embora isso esteja mudando agora.


As empresas do negócio de HFT operam através de múltiplas estratégias para negociar e ganhar dinheiro. As estratégias incluem diferentes formas de arbitragem - arbitragem de índice, arbitragem de volatilidade, arbitragem estatística e arbitragem de fusão junto com macro global, patrimônio a granel / longo, mercado passivo e assim por diante.


O HFT conta com a velocidade ultrarrápida do software de computador, acesso a dados (NASDAQ TotalView-ITCH, NYSE OpenBook, etc.) a importantes recursos e conectividade com latência mínima (atraso).


Vamos explorar um pouco mais sobre os tipos de empresas de HFT, suas estratégias para ganhar dinheiro, grandes players e muito mais.


As empresas de HFT geralmente usam dinheiro privado, tecnologia privada e várias estratégias privadas para gerar lucros. As empresas de negociação de alta frequência podem ser divididas amplamente em três tipos.


A forma mais comum e maior de empresa de HFT é a empresa proprietária independente. A negociação proprietária (ou "negociação prop") é executada com o dinheiro da empresa e não dos clientes. Da mesma forma, os lucros são para a empresa e não para clientes externos. Algumas empresas HTF são uma parte subsidiária de uma corretora. Muitas das corretoras regulares possuem uma subseção conhecida como mesas de operações proprietárias, onde a HFT é feita. Esta seção é separada do negócio que a empresa faz para seus clientes externos regulares. Por fim, as firmas de HFT também operam como hedge funds. Seu foco principal é lucrar com as ineficiências na precificação de títulos e outras categorias de ativos usando arbitragem.


Antes da Regra Volcker, muitos bancos de investimento tinham segmentos dedicados ao HFT. Pós-Volcker, nenhum banco comercial pode ter agências negociadoras proprietárias ou quaisquer investimentos em fundos de hedge. Embora todos os grandes bancos tenham fechado suas lojas de HFT, alguns desses bancos ainda enfrentam alegações sobre uma possível má conduta relacionada a HFT conduzida no passado.


Existem muitas estratégias empregadas pelos comerciantes proprietários para ganhar dinheiro para suas empresas; alguns são bastante comuns, alguns são mais controversos.


Essas empresas negociam de ambos os lados, ou seja, fazem pedidos de compra e venda usando ordens de limite que estão acima do mercado atual (no caso de venda) e ligeiramente abaixo do preço de mercado atual (no caso de compra). A diferença entre os dois é o lucro que eles acumulam. Assim, essas firmas se entregam ao "mercado" apenas para lucrar com a diferença entre o spread de compra e venda. Essas transações são realizadas por computadores de alta velocidade usando algoritmos. Outra fonte de renda para as empresas de HFT é que elas são pagas para fornecer liquidez pelas Redes de Comunicações Eletrônicas (ECNs) e algumas bolsas de valores. As empresas de HFT desempenham o papel de criadoras de mercado criando spreads bid-ask, produzindo ações de baixo volume e alto volume (favoritos típicos para HFT) muitas vezes em um único dia. Essas empresas protegem o risco, eliminando o comércio e criando um novo. (Veja: Escolha de Melhores Negociantes de Alta Frequência de Ações (HFTs)) Outra maneira de essas empresas ganharem dinheiro é procurando por discrepâncias de preço entre os títulos em diferentes bolsas ou classes de ativos. Essa estratégia é chamada de arbitragem estatística, na qual um trader proprietário está à procura de inconsistências temporárias nos preços em diferentes bolsas. Com a ajuda de transações ultrarrápidas, eles aproveitam essas pequenas flutuações que muitos nem percebem. Empresas de HFT também ganham dinheiro se entregando à ignição momentum. A empresa pode tentar causar um aumento no preço de uma ação, usando uma série de negociações com o objetivo de atrair outros operadores de algoritmos para negociar essa ação. O instigador de todo o processo sabe que depois do movimento rápido de preços “artificialmente criado”, o preço reverte ao normal e, assim, o comerciante lucra tomando uma posição antecipada e, eventualmente, negociando antes que ele fracasse. (Leitura relacionada: Como o investidor de varejo lucra com a negociação de alta frequência)


O mundo da HFT tem jogadores que variam de pequenas empresas a médias empresas e grandes players. Alguns nomes da indústria (em nenhuma ordem particular) são Automated Trading Desk (ATD), Chopper Trading, DRW Holdings LLC, Tradebot Systems Inc., KCG Holdings Inc. (fusão de GETCO e Knight Capital), Susquehanna International Group LLP ( SIG), a Virtu Financial, a Allston Trading LLC, a Geneva Trading, a Hudson River Trading (HRT), a Jump Trading, a Five Rings Capital LLC, a Jane Street, etc.


As firmas envolvidas em HFTs frequentemente enfrentam riscos relacionados a anomalias de software, condições dinâmicas de mercado, bem como regulamentos e conformidade. Uma das instâncias flagrantes foi um fiasco ocorrido em 1º de agosto de 2012, que levou a Knight Capital Group à falência - perdeu US $ 400 milhões em menos de uma hora após a abertura dos mercados naquele dia. A "falha de negociação", causada por um mau funcionamento do algoritmo, levou a um comércio errático e a ordens ruins em 150 ações diferentes. A empresa acabou sendo resgatada. Essas empresas têm que trabalhar em sua gestão de riscos, uma vez que se espera que elas garantam muita conformidade regulatória, além de enfrentar desafios operacionais e tecnológicos.


Noções básicas de negociação algorítmica: conceitos e exemplos.


Um algoritmo é um conjunto específico de instruções claramente definidas destinadas a realizar uma tarefa ou processo.


O comércio algorítmico (negociação automatizada, negociação de caixa preta ou simplesmente negociação de algoritmos) é o processo de usar computadores programados para seguir um conjunto definido de instruções para fazer uma negociação, a fim de gerar lucros a uma velocidade e freqüência impossíveis para uma negociação. comerciante humano. Os conjuntos de regras definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Para além das oportunidades de lucro para o comerciante, a negociação de algoritmos torna os mercados mais líquidos e torna o comércio mais sistemático ao excluir os impactos humanos emocionais nas atividades de negociação. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Certo.)


Suponha que um comerciante siga estes critérios comerciais simples:


Compre 50 ações de uma ação quando a média móvel de 50 dias ultrapassar a média móvel de 200 dias Venda ações da ação quando a média móvel de 50 dias ficar abaixo da média móvel de 200 dias.


Usando este conjunto de duas instruções simples, é fácil escrever um programa de computador que monitore automaticamente o preço das ações (e os indicadores de média móvel) e coloque as ordens de compra e venda quando as condições definidas forem atendidas. O comerciante não precisa mais ficar de olho nos preços e gráficos ao vivo, ou colocar os pedidos manualmente. O sistema de negociação algorítmica faz isso automaticamente, identificando corretamente a oportunidade de negociação. (Para mais informações sobre médias móveis, consulte Médias móveis simples Faça as tendências se destacarem.)


[Se você quiser aprender mais sobre as estratégias comprovadas e no ponto que podem, eventualmente, ser trabalhadas em um sistema de negociação alorítimo, confira o curso Torne-se um Day Trader da Investopedia Academy. ]


Benefícios do comércio algorítmico.


Algo-trading fornece os seguintes benefícios:


Negociações executadas com os melhores preços Possibilidade de colocação imediata e imediata de ordens (com altas chances de execução nos níveis desejados) Negociações cronometradas correta e instantaneamente, para evitar mudanças significativas nos preços Redução dos custos de transação (veja o exemplo de déficit de implementação abaixo) Verificações automatizadas simultâneas em múltiplos condições de mercado Risco reduzido de erros manuais na colocação dos negócios Backtest o algoritmo, com base em dados históricos e em tempo real disponíveis Reduzida possibilidade de erros por parte de comerciantes humanos com base em fatores emocionais e psicológicos.


A maior parte da negociação de algoritmos atuais é a negociação de alta frequência (HFT), que tenta capitalizar a colocação de um grande número de pedidos em velocidades muito rápidas em vários mercados e vários parâmetros de decisão, com base em instruções pré-programadas. (Para mais informações sobre negociação de alta frequência, consulte Estratégias e segredos de empresas de negociação de alta frequência (HFT).)


O comércio de algo é usado em muitas formas de atividades de negociação e investimento, incluindo:


Investidores de médio a longo prazo ou empresas compradoras (fundos de pensão, fundos mútuos, seguradoras) que compram em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande volume. Comerciantes de curto prazo e participantes do lado da venda (formadores de mercado, especuladores e arbitradores) se beneficiam da execução automatizada do comércio; Além disso, o comércio de algo ajuda a criar liquidez suficiente para os vendedores no mercado. Comerciantes sistemáticos (seguidores de tendências, pares de traders, hedge funds, etc.) acham muito mais eficiente programar suas regras de negociação e permitir que o programa troque automaticamente.


O comércio algorítmico fornece uma abordagem mais sistemática ao comércio ativo do que métodos baseados na intuição ou instinto de um comerciante humano.


Estratégias de Negociação Algorítmica.


Qualquer estratégia para negociação algorítmica requer uma oportunidade identificada que seja lucrativa em termos de ganhos aprimorados ou redução de custos. A seguir estão as estratégias de negociação comuns usadas no comércio de algo:


As estratégias de negociação algorítmica mais comuns seguem as tendências de médias móveis, desvios de canal, movimentos de níveis de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio do comércio algorítmico, porque essas estratégias não envolvem previsões nem previsões de preços. As negociações são iniciadas com base na ocorrência de tendências desejáveis, que são fáceis e diretas de implementar por meio de algoritmos, sem entrar na complexidade da análise preditiva. O exemplo acima mencionado de média móvel de 50 e 200 dias é uma tendência popular seguindo a estratégia. (Para mais informações sobre estratégias de negociação de tendências, consulte: Estratégias simples para capitalizar tendências.)


Comprar uma ação com cotação dupla a um preço menor em um mercado e, simultaneamente, vendê-la a um preço mais alto em outro mercado oferece o diferencial de preço como lucro ou arbitragem isenta de risco. A mesma operação pode ser replicada para ações versus instrumentos futuros, já que os diferenciais de preço existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preço e colocar as ordens permite oportunidades lucrativas de maneira eficiente.


Os fundos de índices definiram períodos de reequilíbrio para aproximar seus investimentos aos seus respectivos índices de referência. Isso cria oportunidades lucrativas para os operadores algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos básicos, dependendo do número de ações no fundo de índice, imediatamente antes do rebalanceamento do fundo de índice. Tais negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.


Muitos modelos matemáticos comprovados, como a estratégia de negociação delta-neutral, que permitem negociar com combinação de opções e seu título subjacente, onde são feitas negociações para compensar deltas positivos e negativos, de modo que o delta do portfólio seja mantido em zero.


A estratégia de reversão à média baseia-se na ideia de que os preços altos e baixos de um ativo são um fenômeno temporário que revertem para o seu valor médio periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo com base nisso permite que os negócios sejam colocados automaticamente quando o preço do ativo entra e sai de seu intervalo definido.


A estratégia de preço médio ponderado por volume divide uma ordem grande e libera pedaços menores da ordem para o mercado, determinados dinamicamente, usando perfis de volume histórico específicos do estoque. O objetivo é executar o pedido próximo ao Preço Médio Ponderado pelo Volume (VWAP), beneficiando, assim, no preço médio.


A estratégia de preço médio ponderada pelo tempo quebra uma ordem grande e libera dinamicamente pedaços menores da ordem para o mercado usando intervalos de tempo divididos uniformemente entre um horário de início e de término. O objetivo é executar o pedido próximo ao preço médio entre os horários inicial e final, minimizando o impacto no mercado.


Até que a ordem de negociação esteja totalmente preenchida, este algoritmo continua enviando ordens parciais, de acordo com a taxa de participação definida e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia pedidos em uma porcentagem definida pelo usuário de volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço da ação atinge níveis definidos pelo usuário.


A estratégia de déficit de implementação visa minimizar o custo de execução de um pedido negociando o mercado em tempo real, economizando assim no custo do pedido e se beneficiando do custo de oportunidade de execução atrasada. A estratégia aumentará a taxa de participação visada quando o preço das ações se mover favoravelmente e diminuirá quando o preço das ações se mover negativamente.


Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses "algoritmos de farejamento", usados, por exemplo, por um criador de mercado do lado da venda, têm a inteligência incorporada para identificar a existência de quaisquer algoritmos no lado da compra de uma ordem grande. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedidos e possibilitará que ele se beneficie com o preenchimento dos pedidos a um preço mais alto. Às vezes, isso é identificado como front-running de alta tecnologia. (Para mais informações sobre comércio de alta frequência e práticas fraudulentas, consulte: Se você comprar ações on-line, você está envolvido em HFTs.)


Requisitos técnicos para negociação algorítmica.


Implementar o algoritmo usando um programa de computador é a última parte, batida com backtesting. O desafio é transformar a estratégia identificada em um processo informatizado integrado que tenha acesso a uma conta de negociação para fazer pedidos. Os seguintes são necessários:


Conhecimentos de programação de computadores para programar a estratégia de negociação necessária, programadores contratados ou software de negociação pré-fabricados. Conectividade de rede e acesso a plataformas de negociação para colocação de pedidos. Acesso a feeds de dados de mercado que serão monitorados pelo algoritmo para oportunidades de fazer pedidos. para backtest o sistema, uma vez construído, antes de ir viver em mercados reais Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo.


Aqui está um exemplo abrangente: A Royal Dutch Shell (RDS) está listada na Bolsa de Valores de Amsterdã (AEX) e na Bolsa de Valores de Londres (LSE). Vamos criar um algoritmo para identificar oportunidades de arbitragem. Aqui estão algumas observações interessantes:


AEX negocia em Euros, enquanto a LSE negocia em Libras Esterlinas Devido à diferença horária de uma hora, a AEX abre uma hora antes da LSE, seguida pelas duas bolsas sendo negociadas simultaneamente pelas próximas horas e negociando apenas na LSE durante a última hora conforme a AEX fecha .


Podemos explorar a possibilidade de negociação de arbitragem sobre as ações da Royal Dutch Shell listadas nesses dois mercados em duas moedas diferentes?


Um programa de computador que pode ler os preços de mercado atuais Feeds de preços de LSE e AEX Um feed de taxa de câmbio para taxa de câmbio de GBP-EUR Capacidade de colocação de pedidos que pode encaminhar o pedido para a capacidade correta de troca.


O programa de computador deve executar o seguinte:


Leia o feed de preço recebido do estoque RDS de ambas as trocas Usando as taxas de câmbio disponíveis, converta o preço de uma moeda para outra Se houver uma discrepância de preço suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, coloque a compra ordem em troca de preço mais baixo e ordem de venda em troca de preço mais alto Se as ordens forem executadas como desejado, o lucro da arbitragem seguirá.


Simples e fácil! No entanto, a prática de negociação algorítmica não é tão simples de manter e executar. Lembre-se, se você puder colocar uma negociação gerada por algoritmos, os outros participantes do mercado também poderão. Consequentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se a transação de compra for executada, mas o comércio de venda não é feito, pois os preços de venda mudam no momento em que seu pedido chega ao mercado? Você vai acabar sentado com uma posição aberta, fazendo com que sua estratégia de arbitragem seja inútil.


Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos entre ordens de negociação e execução e, o mais importante de tudo, algoritmos imperfeitos. Quanto mais complexo for um algoritmo, o backtesting mais rigoroso é necessário antes de ser colocado em ação.


The Bottom Line.


A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É emocionante usar a automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso garantir que o sistema seja completamente testado e que os limites necessários sejam definidos. Comerciantes analíticos devem considerar aprender programação e construir sistemas por conta própria, para ter confiança em implementar as estratégias corretas de maneira infalível. Uso cauteloso e testes completos de negociação de algoritmos podem criar oportunidades lucrativas. (Para mais, veja Como codificar seu próprio robô de negociação da Algo.)


Estratégias de Negociação de Alta Freqüência.


A maioria dos investidores provavelmente nunca viu o P & amp; L de uma estratégia de negociação de alta frequência. Há uma razão para isso, é claro: dadas as características típicas de desempenho de uma estratégia de HFT, uma empresa de trading tem pouca necessidade de capital externo. Além disso, as estratégias de HFT podem ter restrições de capacidade, uma consideração importante para investidores institucionais. Por isso, é divertido ver a reação de um investidor ao encontrar o histórico de uma estratégia HFT pela primeira vez. Acostumados a ver as taxas de Sharpe na faixa de 0,5-1,5, ou talvez até 1,8, se tiverem sorte, os retornos ajustados ao risco de uma estratégia de HFT, que geralmente têm índices de Sharpe de dois dígitos, são realmente verdadeiros. Incompreensível.


A título ilustrativo, anexei abaixo o registro de desempenho de uma dessas estratégias de HFT, que negocia cerca de 100 vezes por dia no contrato eMini S & P 500 (incluindo a sessão noturna). Note que a borda não é tão boa & # 8211; com uma média de 55% de negócios lucrativos e lucro por contrato de cerca de meio tick & # 8211; Estas são algumas das características que definem as estratégias de negociação de HFT. Mas devido ao grande número de negócios, isso resulta em lucros substanciais. Nessa freqüência, as comissões de negociação são muito baixas, geralmente abaixo de US $ 0,1 por contrato, em comparação com US $ 1 & # 8211; US $ 2 por contrato para um comerciante de varejo (na verdade, uma firma de HFT normalmente possui ou aluga assentos na bolsa para minimizar tais custos).


Escondidos da análise acima estão os custos indiretos associados à implementação de tal estratégia: feed de dados de mercado, plataforma de execução e conectividade capaz de lidar com grandes volumes de mensagens, bem como algoritmos para monitorar sinais de microestrutura e gerenciar prioridades de pedidos. . Sem estes, a estratégia seria impossível de implementar com lucro.


Dimensionando um pouco as coisas, vamos dar uma olhada em uma estratégia de negociação diária que é negociada apenas cerca de 10 vezes por dia, em barras de 15 minutos. Embora não seja de frequência ultra-alta, a estratégia, no entanto, é suficientemente alta para ser muito sensível à latência. Em outras palavras, você não gostaria de tentar implementar essa estratégia sem um feed de dados de mercado de alta qualidade e plataforma de negociação de baixa latência capaz de executar no nível de 1 milissegundo. Pode ser possível implementar uma estratégia desse tipo usando a plataforma ADL do TT, por exemplo.


Enquanto a taxa de ganho e o fator de lucro são semelhantes à primeira estratégia, a menor frequência de negociação permite uma PL de pouco mais de 1 tick, enquanto a curva de capital é muito menos suave, refletindo um índice de Sharpe que é apenas & # 8220; # 8221; em torno de 2,7.


A suposição crítica em qualquer estratégia de HFT é a taxa de preenchimento. As estratégias de HFT são executadas usando ordens limite ou IOC e apenas uma certa porcentagem delas será preenchida. Supondo que haja alfa no sinal, o P & L cresce em proporção direta ao número de negociações, o que, por sua vez, depende da taxa de preenchimento. Uma taxa de preenchimento de 10% a 20% geralmente é suficiente para garantir a lucratividade (dependendo da qualidade do sinal). Uma baixa taxa de preenchimento, como normalmente seria vista se alguém tentasse negociar em uma plataforma de negociação de varejo, destruiria a lucratividade de qualquer estratégia de HFT.


Para ilustrar esse ponto, podemos dar uma olhada no resultado se a estratégia acima foi implementada em uma plataforma de negociação que resultou em pedidos sendo preenchidos somente quando o mercado negocia com o preço limite. Não é uma visão bonita.


A moral da história é: desenvolver um algoritmo de negociação de HFT que contenha um sinal alfa viável é apenas metade da imagem. A infra-estrutura de negociação usada para implementar essa estratégia não é menos crítica. É por isso que as empresas de HFT gastam dezenas ou centenas de milhões de dólares desenvolvendo a melhor infraestrutura que podem pagar.


Estratégia NinjaTrader de Alta Freqüência.


Eu tenho trabalhado em um sistema de negociação de alta frequência para NinjaTrader em nome de um cliente de longo prazo. Minha conta ativa é com o MB Trading. Em vez de fazer pedidos de mercado e pagar uma comissão, mudei os tipos de pedidos para limitar os pedidos. Queremos receber uma comissão pequena pela estratégia de criação de mercado em vez de pagar uma comissão para aceitar os preços exibidos.


O MetaTrader sofre duas grandes desvantagens que tornam o NinjaTrader uma opção superior para negociação de alta frequência. O MT4 não oferece gráficos inferiores ao intervalo de tempo M1 e o contexto de negociação está ocupado. O erro impede que vários gráficos sejam executados simultaneamente. O NinjaTrader é complexo o suficiente para que eu possa controlar a maioria dos detalhes, mas simples o suficiente para que eu não precise investir centenas de horas para testar uma ideia. Depois de testar extensivamente a estratégia nas tabelas M1 como um comprador de preços, sinto-me muito confiante de que a estratégia é sólida. A única questão agora é determinar se a adoção de uma abordagem passiva (ou seja, criação de mercado) resultará em preenchimentos suficientes para tornar a estratégia valiosa.


A primeira questão que me deparei não foi com NinjaTrader; foi com a API do MB Trading. A estratégia funcionou bem na conta de simulação, que só encaminha ordens para o NinjaTrader (NT). O NT então faz suposições quando ocorrem preenchimentos. O objetivo dessa fase não era testar a estratégia. Eu só queria testar a programação para ter certeza de que funcionou corretamente.


100 negociações saíram sem problemas na conta do Sim. A estratégia só passou por negociações de 2-3 microlotes na conta ativa antes que as ordens pendentes fossem suspensas. As ordens pendentes do NinjaTrader passam por três estados antes de chegarem ao mercado. Para os programadores, essas são as propriedades OrderState dos objetos IOrder.


Pendente submit & # 8211; a estratégia enviou o pedido para o corretor e está esperando para receber de volta Aceito & # 8211; o corretor confirma o recebimento do pedido, mas ainda está colocando o pedido no mercado Working & # 8211; o pedido está disponível para outros negociarem.


A estratégia atualizou os pedidos em todos os ticks. O que muitas vezes aconteceu foi que o ritmo seria rápido demais, criando um grande volume de atrasos de comunicação durante os mercados mais rápidos. NinjaTrader nunca lançou uma exceção. A única evidência de um problema era que eu veria uma ordem pendente com a propriedade PendingChange. A solução inconveniente era sair do NinjaTrader e recarregar tudo.


Imaginei que talvez o estado da ordem gerenciada tenha causado o problema. Mudei minha abordagem para pedidos não gerenciados, mas isso não fez diferença. Eu finalmente cheguei à conclusão de que o MB Trading API não pode lidar com mais de um pedido a cada poucos segundos.


A estratégia encontrou o ponto ideal depois de passar do tick para o segundo gráfico. Atualizações de 6 segundos ou mais parecem dar à API de Negociação de MB tempo suficiente para atualizar o que ainda preserva algo de uma abordagem de alta frequência. Quaisquer negociações que precisem ser executadas mais rápido que esse limite na MB Trading precisam usar o protocolo FIX.


O outro elemento que me deixou louco é que as ordens de limite do NinjaTrader são excluídas automaticamente uma vez por barra. Eu quase arranquei meu cabelo, e eu não tenho tanto cabelo, por várias horas tentando descobrir por que os pedidos se apagaram automaticamente. Muitas pessoas se identificam com a escola da abordagem do aprendizado. Eu sou mais grosso como a maioria. Eu descobri a causa quando eu revisitei a documentação on-line do NinjaTrader e descobri um método de entrada de limite que permite bons pedidos cancelados (GTC).


O problema da velocidade também se manifesta com excessos. Um excesso é quando uma estratégia solicita o cancelamento de um pedido pendente, mas o corretor preenche o pedido antes do cancelamento entrar em vigor. A maior preocupação com os excessos é que o NinjaTrader desativa automaticamente uma estratégia e sai das posições no mercado quando ocorre um transbordamento. A única maneira de impedir isso programaticamente é alterar os métodos de entrada para uma abordagem não gerenciada.


A maneira mais fácil de desenvolver uma estratégia de alta frequência no NinjaTrader (mas não em frequência ultra-alta) é usar pedidos gerenciados. Sempre que uma saída for necessária, coloque a entrada de limite na direção oposta. NinjaTrader cuida de colocar a ordem de saída para o mercado aberto. Limite as atualizações para cada poucos segundos. Ele permite que a API do intermediário alcance e ajude a evitar o problema de transbordamento.


Oi, obrigado por compartilhar essa experiência. No entanto, eu não sou um programador, mas um desenvolvedor ATS e estou planejando usar o tradelink de código aberto, que também usa c # para vinculá-lo com a API Oanda. Meu ATS também utilizará um cronograma de subminutos e jogará rápido & # 8221; FT médio & # 8221 ;. Eu encontrei seu post é muito útil.


No entanto, não estou familiarizado com o NT. O NT poderia se conectar à API do Oanda também?


Estou feliz que você tenha achado o post informativo. O NinjaTrader apenas conecta-se a corretores suportados. Não funcionará com Oanda.


Meu plano é usar o OpenQuant e não o NT. Acabei de começar a inclinar a codificação, então estou usando recursos educacionais ricos do NT também aprender programação com c #. Então eu vou migrar para o OQ. Com o OQ, eu poderia ter um conector de broker customizado. Eu planejo conectá-lo com o LMAX.


No entanto, minha velocidade ATS pode chegar a 10 mil pedidos por dia (cerca de 1 pedido por 8 segundos) e, principalmente, está usando pedidos pendentes (95% das vezes).


Por favor, atualize seu post com qualquer informação relevante sobre como projetar um sistema automatizado de negociação de frequência mais alto que o habitual. Dicas e truques seriam muito apreciados.


Obrigado pelo seu post. Vamos manter esta sugestão em mente para futuros posts no blog.


Eu aprecio o seu write-up em overfills. É o mais sensato que encontrei para o problema no NinjaTrader. Que tipo de ordem de limite é isso no Ninja (referindo-se ao seu post):


Eu descobri a causa quando revisitei a documentação on-line do NinjaTrader e descobri um método de entrada de limite que permite bons pedidos cancelados (GTC).


Já faz vários anos desde que escrevi esse post, mas não havia nada especial sobre os tipos de pedidos. Eles eram ordens de limite genéricas.


Saludos desde Espanha,


Estar interesado em hablar contigo sobre este tipo de estratégia.


Negociação de alta frequência: ações versus futuros.


Um talentoso desenvolvedor de sistemas jovens que eu conheço recentemente me procurou com uma interessante curva de capital para uma estratégia de alta frequência que ele projetou em futuros de E-mini:


Obviamente, ele estava fazendo uso criativo do "gerenciamento de dinheiro" & # 8221; técnicas tão amadas por projetistas de sistemas futuros. Convidei-o a considerar como seria a sensação de estar trocando uma posição E-mini de 1.000 lotes quando o mercado fez um mergulho de 20 pontos. Um levantamento de US $ 100.000 por dia pode fazer com que a estratégia pareça um pouco menos atraente. Por outro lado, se você já tivesse feito milhões de dólares na estratégia, talvez não se importasse mais com isso.


Uma crítica mais importante às técnicas de gerenciamento de dinheiro é que elas são tipicamente altamente dependentes do caminho: se você tivesse iniciado sua estratégia um pouco mais próximo de um dos períodos de levantamento que são quase imperceptíveis no gráfico, isso poderia ter consequências catastróficas para sua conta de negociação. A única maneira de avaliar isso corretamente, eu aconselhava, era fazer backtest da estratégia ao longo de centenas de milhares de testes usando simulação de Monte Carlo. Isso revelaria claramente que o risco de ruína era muito maior do que poderia parecer de um único backtest.


Em seguida, perguntei-lhe se a estratégia estava entrando e saindo passivamente, publicando ofertas e ofertas, ou agressivamente, cruzando o spread para vender na oferta e comprar na oferta. Eu tinha uma boa idéia de qual seria a resposta dele, dado o volume de negociações na estratégia e, com certeza, ele confirmou que a estratégia estava usando entradas e saídas passivas. Deixando de lado o desafio de executar uma negociação de 1.000 contratos dessa maneira, em vez disso, peço a ele que me mostre a curva de capital para um único contrato na estratégia subjacente, sem o aprimoramento da administração de recursos. Ainda era muito impressionante.


As premissas de preenchimento crítico para estratégias passivas.


Mas há uma suposição subjacente incorporada nesses resultados, sobre os quais escrevi em postagens anteriores: a taxa de preenchimento. Normalmente, em uma plataforma de negociação de varejo, como a Tradestation, pressupõe-se que suas ordens serão preenchidas se uma negociação ocorrer no preço limite em que o sistema está tentando executar. Essa suposição padrão de uma taxa de preenchimento de 100% é altamente irrealista. As ordens do sistema têm que competir pela prioridade no livro de ordens de limite com as ordens de muitos milhares de outros traders, incluindo firmas de HFTs que provavelmente lhe baterão ao soco todas as vezes. Como consequência, a taxa real de preenchimento provavelmente será muito menor: 10% a 20%, se você tiver sorte. E muitos desses preenchimentos serão "tóxicos": os pedidos de compra serão os últimos a serem preenchidos imediatamente antes que o mercado se mova para baixo e os pedidos de venda sejam os últimos a serem preenchidos no momento em que o mercado subir. Como resultado, o desempenho real da estratégia será muito distante da bela figura mostrada no gráfico da curva de capital hipotético.


Uma maneira de lidar com o problema é fazer uma suposição muito mais conservadora, de que suas ordens de limite só serão preenchidas quando o mercado passar por elas. Isso pode ser facilmente alcançado em um produto como o Tradestation, selecionando a opção de backtest apropriada:


Os resultados de desempenho da estratégia geralmente parecem muito diferentes quando essa suposição de preenchimento muito mais conservadora é aplicada. O resultado para este sistema não foi de todo incomum:


Naturalmente, a hipótese mais conservadora aplicada aqui também é irreal: muitas das ordens de venda do sistema de negociação seriam preenchidas com o preço limite, mesmo que o mercado não subisse (ou diminuísse no caso de uma ordem de compra). ). Além disso, mesmo que não fossem preenchidos durante o intervalo de barras em que foram emitidos, muitas ordens de limite postadas pelo sistema seriam preenchidas nas barras subseqüentes. Mas a realidade provavelmente está muito mais próxima do resultado, assumindo uma suposição conservadora de preenchimento do que otimista. Dito de outra forma: se a estratégia demonstra bom desempenho sob suposições pessimistas e otimistas de preenchimento, há uma chance razoável de que ela funcionará bem na prática, deixando de lado outras considerações.


Um exemplo de uma estratégia de equidade de HFT.


Vamos comparar a estratégia de futuros com um exemplo de uma estratégia similar de HFT em ações. Sob o pressuposto de preenchimento otimista, a curva de capital tem a seguinte aparência:


Sob o pressuposto de preenchimento mais conservador, a curva de capital é obviamente pior, mas a estratégia continua a produzir excelentes retornos. Em outras palavras, mesmo que o mercado se mova contra o sistema em cada pedido, negociando mais alto depois que uma ordem de venda é preenchida, ou diminuindo depois que uma ordem de compra é preenchida, a estratégia continua a ganhar dinheiro.


Microestrutura do Mercado.


Existe uma razão fundamental para a discrepância no comportamento das duas estratégias sob diferentes cenários de preenchimento, que se relaciona com a microestrutura muito diferente dos mercados de futuros versus mercados de ações. No caso da estratégia E-mini, o comércio médio pode ser, digamos, 50 dólares, o que equivale a apenas 4 ticks (cada tick vale $ 12,50). Então, a média de comércio: taxa de tamanho de carrapato é de cerca de 4: 1, na melhor das hipóteses. Em uma estratégia de equidade com comércio médio semelhante, o tamanho do tick pode ser de apenas 1 centavo. Para uma estratégia de futuros, cruzar o spread para entrar ou sair de uma negociação mais do que um punhado de vezes (ou perder várias entradas ou saídas de ordens limitadas) irá rapidamente eviscerar a lucratividade do sistema. Um sistema HFT em ações, por outro lado, tipicamente se mostrará mais robusto, devido ao menor tamanho do tick.


Naturalmente, há muitos outros desafios à negociação de ações de alta frequência que os futuros não sofrem, como a multiplicidade de destinos comerciais. Isso significa que, por exemplo, em um feed de dados de mercado consolidado, é provável que seu sistema veja oportunidades de negociação que simplesmente não surjam na prática devido a efeitos de latência no feed. Assim, a lucratividade das estratégias de equity da HFT é frequentemente superestimada, quando medida usando um feed consolidado. Futuros, que são negociados em uma única bolsa, não sofrem com tais dificuldades. E há uma série de outras diferenças na microestrutura dos mercados de futuros versus mercados de ações que o analista deve levar em consideração. Mas, tudo isso compreendido, em geral eu aconselharia que as ações tornassem um ponto de partida mais fácil para o desenvolvimento do sistema HFT, em comparação com os futuros.

No comments:

Post a Comment