Noções básicas de negociação algorítmica: conceitos e exemplos - KamilTaylan.blog
22 Junho 2021 15:51

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

A negociação algorítmica (também chamada de negociação automatizada, negociação de caixa preta ou negociação de algoritmo) usa um programa de computador que segue um conjunto definido de instruções (um algoritmo) para fazer uma negociação. A negociação, em teoria, pode gerar lucros com uma velocidade e frequência impossíveis para um comerciante humano.

Os conjuntos de instruções definidos são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Além das oportunidades de lucro para o trader, o algo-trading torna os mercados mais líquidos e mais sistemáticos ao descartar o impacto das emoções humanas nas atividades de trading. 

Negociação Algorítmica na Prática

Suponha que um trader siga estes critérios simples de negociação:

  • Compre 50 ações de uma ação quando sua média móvel de 50 dias ficar acima da média móvel de 200 dias. (Uma média móvel é uma média de pontos de dados anteriores que suaviza as flutuações de preços do dia a dia e, portanto, identifica tendências.) 
  • Venda ações quando sua média móvel de 50 dias ficar abaixo da média móvel de 200 dias.

Usando essas duas instruções simples, um programa de computador irá monitorar automaticamente o preço das ações (e os indicadores de média móvel) e colocar as ordens de compra e venda quando as condições definidas forem atendidas. O trader não precisa mais monitorar os preços e gráficos ao vivo ou colocar os pedidos manualmente. O sistema de negociação algorítmico faz isso automaticamente, identificando corretamente a oportunidade de negociação. 

2:01

Benefícios do Algorithmic Trading

Algo-trading oferece os seguintes benefícios:

  • As negociações são realizadas com os melhores preços possíveis.
  • A colocação de ordens de negociação é instantânea e precisa (há uma grande chance de execução nos níveis desejados).
  • As negociações são cronometradas de forma correta e instantânea para evitar mudanças significativas de preços.
  • Custos de transação reduzidos.
  • Verificações automáticas simultâneas em várias condições de mercado.
  • Risco reduzido de erros manuais ao colocar negociações.
  • Algo-trading pode ser testado com base em dados históricos e em tempo real disponíveis para ver se é uma estratégia comercial viável.
  • Reduziu a possibilidade de erros por comerciantes humanos com base em fatores emocionais e psicológicos.

Hoje, a maior parte das negociações de algoritmo são negociações de alta frequência (HFT), que tenta capitalizar ao colocar um grande número de ordens em velocidades rápidas em vários mercados e vários parâmetros de decisão com base em instruções pré-programadas. 

Algo-trading é usado em muitas formas de atividades comerciais e de investimento, incluindo:

  • Investidores de médio a longo prazo ou firmas de compra – fundos de pensão, fundos mútuos, seguradoras – usam o algoritmo de negociação para comprar ações em grandes quantidades quando não desejam influenciar os preços das ações com investimentos discretos de grande volume.
  • Os negociantes de curto prazo e os participantes do lado do vendedor – formadores de mercado (como corretoras),  especuladores e arbitradores – se beneficiam da execução automatizada de negociações; além disso, o algo-trading ajuda a criar liquidez suficiente para os vendedores no mercado.
  • Negociantes sistemáticos seguidores de tendências, fundos de hedge ou  traders de pares  (uma estratégia de negociação neutra em relação ao mercado que combina uma posição longa com uma posição curta em um par de instrumentos altamente correlacionados, como duas ações, fundos negociados em bolsa (ETFs) ou moedas) – ache muito mais eficiente programar suas regras de negociação e deixar o programa negociar automaticamente.

A negociação algorítmica oferece uma abordagem mais sistemática à negociação ativa do que métodos baseados na intuição ou instinto do trader.

Estratégias de negociação algorítmica

Qualquer estratégia de 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 em algo-trading:

Estratégias de seguimento de tendências

As estratégias de negociação algorítmica mais comuns seguem tendências em médias móveis, rompimentos de canais, movimentos de nível de preços e indicadores técnicos relacionados. Essas são as estratégias mais fáceis e simples de implementar por meio de negociação algorítmica, porque essas estratégias não envolvem fazer quaisquer previsões ou 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. Usar médias móveis de 50 e 200 dias é uma estratégia popular de acompanhamento de tendências.

Oportunidades de arbitragem

Comprar uma ação com dupla lista a um preço mais baixo em um mercado e, simultaneamente, vendê-la a um preço mais alto em outro mercado oferece o diferencial de preço como lucro sem risco ou arbitragem. A mesma operação pode ser replicada para ações vs. instrumentos de futuros, visto que os diferenciais de preços existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preço e colocar os pedidos de forma eficiente permite oportunidades lucrativas.

Rebalanceamento de fundo de índice

Os fundos de índice definiram períodos de rebalanceamento para trazer suas participações ao par com seus respectivos índices de referência. Isso cria oportunidades lucrativas para negociadores algorítmicos, que capitalizam em negociações esperadas que oferecem lucros de 20 a 80 pontos-base, dependendo do número de ações no fundo de índice imediatamente antes do rebalanceamento do fundo de índice. Essas negociações são iniciadas por meio de sistemas de negociação algorítmica para execução oportuna e os melhores preços.

Estratégias baseadas em modelos matemáticos

Modelos matemáticos comprovados, como a estratégia de negociação delta neutra, permitem a negociação de uma combinação de opções e o título subjacente. (Delta neutro é uma estratégia de portfólio que consiste em várias posições com compensação de deltas positivos e negativos – uma proporção que compara a mudança no preço de um ativo, geralmente um título negociável, com a mudança correspondente no preço de seu derivado – de modo que o o delta dos ativos em questão totaliza zero.) 

Faixa de negociação (reversão média)

A estratégia de reversão à média baseia-se no conceito de que os preços altos e baixos de um ativo são um fenômeno temporário que revertem ao seu valor médio (valor médio) periodicamente. Identificar e definir uma faixa de preço e implementar um algoritmo baseado nele permite que as negociações sejam colocadas automaticamente quando o preço de um ativo entra e sai de sua faixa definida.

Preço médio ponderado por volume (VWAP)

A estratégia de preço médio ponderado por volume divide um pedido grande e libera pedaços menores determinados dinamicamente do pedido para o mercado, usando perfis de volume históricos específicos para ações. O objetivo é executar o pedido próximo ao preço médio ponderado por volume (VWAP).

Preço médio ponderado no tempo (TWAP)

A estratégia de preço médio ponderado no tempo divide um pedido grande e libera pedaços menores determinados dinamicamente do pedido para o mercado, usando intervalos de tempo divididos igualmente entre os horários de início e término. O objetivo é executar a oferta próxima do preço médio entre os horários de início e término, minimizando o impacto no mercado.

Porcentagem de volume (POV)

Até que a ordem de negociação seja totalmente atendida, este algoritmo continua enviando ordens parciais de acordo com a relação 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 dos volumes de mercado e aumenta ou diminui essa taxa de participação quando o preço das ações atinge os níveis definidos pelo usuário.

Falta de implementação

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

Além dos algoritmos usuais de negociação

Existem algumas classes especiais de algoritmos que tentam identificar “acontecimentos” do outro lado. Esses “algoritmos de detecção” – usados, por exemplo, por um criador de mercado do lado do vendedor – têm a inteligência embutida para identificar a existência de quaisquer algoritmos do lado da compra de um grande pedido. Essa detecção por meio de algoritmos ajudará o criador de mercado a identificar grandes oportunidades de pedido e permitir que ele se beneficie do atendimento aos pedidos a um preço mais alto. Isso às vezes é identificado como front-running de alta tecnologia. Geralmente, a prática de front-running pode ser considerada ilegal dependendo das circunstâncias e é fortemente regulamentada pela FINRA (Financial Industry Regulatory Authority).

Requisitos Técnicos para Negociação Algorítmica

A implementação do algoritmo usando um programa de computador é o componente final da negociação algorítmica, acompanhada por  backtesting  (testar o algoritmo em períodos históricos de desempenho passado no mercado de ações para ver se usá-lo teria sido lucrativo). O desafio é transformar a estratégia identificada em um processo computadorizado integrado que tenha acesso a uma conta de negociação para colocar ordens. A seguir estão os requisitos para negociação algorítmica:

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

Um exemplo de negociação algorítmica

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

  • A AEX é negociada em euros, enquanto a LSE negocia em libras esterlinas.
  • Devido à diferença de tempo de uma hora, o AEX abre uma hora antes do LSE seguido por ambas as bolsas negociando simultaneamente nas próximas horas e, em seguida, negociando apenas no LSE durante a última hora quando o 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?

Requisitos:

  • Um programa de computador que pode ler os preços atuais de mercado.
  • Feeds de preços de LSE e AEX.
  • Um feed de taxa de forex (câmbio estrangeiro) para GBP-EUR.
  • Capacidade de fazer pedidos que pode encaminhar o pedido para a bolsa correta.
  • Capacidade de backtesting em feeds de preços históricos.

O programa de computador deve realizar o seguinte:

  • Leia o feed de preços de entrada do estoque RDS de ambas as bolsas.
  • Usando as taxas de câmbio disponíveis, converta o preço de uma moeda na outra.
  • Se houver uma discrepância de preço grande o suficiente (descontando os custos de corretagem) levando a uma oportunidade lucrativa, o programa deve colocar a ordem de compra na bolsa de preço mais baixo e vender a ordem na bolsa de preço mais alto.
  • Se as ordens forem executadas conforme 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 um investidor pode fazer uma negociação gerada por algo, o mesmo pode acontecer com outros participantes do mercado. Conseqüentemente, os preços flutuam em milissegundos e até microssegundos. No exemplo acima, o que acontece se uma negociação de compra for executada, mas a negociação de venda não, porque os preços de venda mudam no momento em que a ordem chega ao mercado? O trader ficará com uma posição aberta, tornando a estratégia de arbitragem inútil.

Existem riscos e desafios adicionais, como 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, mais rigorosos os backtesting são necessários antes de serem colocados em ação.