Princípios básicos do comércio algorítmico: conceitos e exemplos | O comércio algorítmico

História do PHP - Curso PHP Iniciante #01 - Gustavo Guanabara (Maio 2024)

História do PHP - Curso PHP Iniciante #01 - Gustavo Guanabara (Maio 2024)
Princípios básicos do comércio algorítmico: conceitos e exemplos | O comércio algorítmico

Índice:

Anonim

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 em caixa preta ou simplesmente algo-trading) é o processo de usar computadores programados para seguir um conjunto definido de instruções para colocar um comércio para gerar lucros a uma velocidade e freqüência que é impossível para um comerciante humano. Os conjuntos definidos de regras são baseados em tempo, preço, quantidade ou qualquer modelo matemático. Além das oportunidades de lucro para o comerciante, o algo-trading torna os mercados mais líquidos e torna a negociação mais sistemática descartando impactos emocionais humanos nas atividades comerciais. (Para mais, confira Escolhendo o Software de Negociação Algorítmica Direita .)

Suponha que um comerciante siga esses critérios de comércio simples:

  • Compre 50 ações de uma ação quando sua média móvel de 50 dias excede a média móvel de 200 dias
  • Venda ações do estoque quando a média móvel de 50 dias está 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 monitorará automaticamente o preço das ações (e os indicadores médios móveis) e o local os pedidos de compra e venda quando as condições definidas são atendidas. O comerciante não precisa mais manter um relógio para preços e gráficos ao vivo, ou colocar as ordens manualmente. O sistema de negociação algorítmica automaticamente faz isso para ele, identificando corretamente a oportunidade comercial. (Para mais informações sobre as médias móveis, veja Médias móveis simples Faça as tendências se destacarem .)

[Se você quiser saber mais sobre as estratégias comprovadas e pontuais que eventualmente podem ser trabalhadas em um sistema de comércio alorítmico, confira o curso de tornar um curso de dias da Academia Investopedia.]

Benefícios de Algorithmic Trading

A Algo-trading oferece os seguintes benefícios:

  • Negociações executadas aos melhores preços
  • Posicionamento instantâneo e preciso da ordem comercial (com altas chances de execução nos níveis desejados)
  • Operações cronometradas corretamente e instantaneamente , para evitar mudanças de preços significativas
  • Custos de transação reduzidos (veja o exemplo de falta de implementação abaixo)
  • Verificações automatizadas simultâneas em múltiplas condições de mercado
  • Redução do risco de erros manuais ao colocar os negócios
  • Backtest do algoritmo, baseado em dados históricos e em tempo real disponíveis
  • Reduzida a possibilidade de erros cometidos por comerciantes humanos com base em fatores emocionais e psicológicos

A maior parte do dia-dia de negociação é a negociação de alta freqüê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 múltiplos parâmetros de decisão, com base em em instruções pré-programadas.(Para mais informações sobre o comércio de alta freqüência, veja Estratégias e segredos de empresas de alta freqüência (HFT) .)

A Algo-trading é usada em muitas formas de atividades de comércio e investimento, incluindo:

  • Investidores de médio a longo prazo ou empresas de compra (fundos de pensão, fundos de investimento, companhias de seguros) que adquirem ações em grandes quantidades, mas não querem influenciar os preços das ações com investimentos discretos e de grande porte.
  • Os comerciantes de curto prazo e os participantes do lado da venda (fabricantes de mercado, especuladores e arbitragentes) se beneficiam da execução comercial automatizada; Além disso, ajudas de algo-trading na criação de liquidez suficiente para os vendedores no mercado.
  • Os comerciantes sistemáticos (seguidores de tendências, comerciantes de pares, hedge funds, etc.) acham muito mais eficiente programar suas regras comerciais e permitir que o programa seja comercializado automaticamente.

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

Estratégias de negociação algorítmica

Qualquer estratégia para negociação algorítmica exige uma oportunidade identificada que seja rentável em termos de melhoria de ganhos ou redução de custos. As seguintes são estratégias de negociação comuns usadas em algo-trading:

  • Trend Following Strategies:

As estratégias de negociação algorítmicas mais comuns seguem as tendências em médias móveis, fuga de canais, movimentos de níveis de preços e indicadores técnicos relacionados. Estas são as estratégias mais fáceis e simples de implementar através de negociação algorítmica porque essas estratégias não envolvem fazer previsões ou previsões de preços. Os negócios são iniciados com base na ocorrência de tendências desejáveis, que são fáceis e direitas de implementar através 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 as estratégias de negociação de tendências, veja: Estratégias simples para capitalizar as tendências .)

  • Oportunidades de arbitragem:

Comprar uma ação dupla cotada a um preço mais baixo em um mercado e simultaneamente vendê-lo em um preço mais elevado em outro mercado oferece o diferencial de preço como lucro ou arbitragem sem risco. A mesma operação pode ser replicada para ações versus instrumentos de futuros, pois os diferenciais de preços existem de tempos em tempos. Implementar um algoritmo para identificar esses diferenciais de preços e colocar as ordens permite oportunidades lucrativas de forma eficiente.

  • Refinanciamento do fundo do índice :

Os fundos do índice definiram períodos de reequilíbrio para compartilhar suas participações com seus respectivos índices de referência. Isso cria oportunidades rentáveis ​​para comerciantes algorítmicos, que capitalizam os negócios esperados que oferecem lucros de 20 a 80 pontos base, dependendo do número de ações no fundo do índice, apenas antes do reequilíbrio do fundo do índice. Essas negociações são iniciadas através de sistemas de negociação algorítmica para execução atempada e melhores preços.

  • Estratégias baseadas em modelos matemáticos:

Muitos modelos matemáticos comprovados, como a estratégia de negociação neutra do delta, que permitem a negociação em combinação de opções e sua segurança subjacente, onde os negócios são colocados para compensar deltas positivos e negativos para que o delta do portfólio é mantido em zero.

  • Gama de Negociação (Reversão Média):

A estratégia de reversão média baseia-se na idéia de que os preços altos e baixos de um bem são um fenômeno temporário que retorna periodicamente ao seu valor médio. Identificar e definir uma faixa de preço e implementar algoritmos com base em isso permite que os negócios sejam colocados automaticamente quando o preço do recurso entra e sai do seu alcance definido.

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

A estratégia de preços médios ponderados por volume quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando perfis de volume histórico específicos de estoque. O objetivo é executar a ordem perto do preço médio ponderado do volume (VWAP), beneficiando assim o preço médio.

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

A estratégia de preços médios ponderados pelo tempo quebra uma grande ordem e libera dinamicamente determinados pedaços menores da ordem para o mercado usando intervalos de tempo uniformemente divididos entre o início e o fim do tempo. O objetivo é executar a ordem perto do preço médio entre os horários de início e término, minimizando assim o impacto no mercado.

  • Porcentagem de Volume (POV):

Até que o pedido comercial seja totalmente preenchido, este algoritmo continua enviando ordens parciais, de acordo com o índice de participação definido e de acordo com o volume negociado nos mercados. A "estratégia de etapas" relacionada envia ordens a 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 os níveis definidos pelo usuário.

  • Capacidade de implementação:

A estratégia de falta de implementação visa minimizar o custo de execução de uma ordem através da negociação do mercado em tempo real, economizando o custo da ordem e beneficiando do custo de oportunidade da execução adiada. A estratégia aumentará a taxa de participação direcionada quando o preço das ações se mover de forma favorável e diminuí-lo quando o preço das ações se mover de forma adversa.

  • Além dos Algoritmos de Negociação Usuais:

Existem algumas classes especiais de algoritmos que tentam identificar "acontecimentos" do outro lado. Esses "algoritmos de sniffing", usados, por exemplo, por um market maker market market têm a inteligência interna para identificar a existência de qualquer algoritmo no lado da compra de uma grande ordem. Essa detecção através de algoritmos ajudará o fabricante de mercado a identificar grandes oportunidades de ordem e permitir que ele se beneficie ao preencher os pedidos a um preço mais alto. Isso às vezes é identificado como front-running de alta tecnologia. (Para obter mais informações sobre negociação de alta freqüência e práticas fraudulentas, consulte: Se você comprar estoques on-line, você está envolvido em HFTs .)

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

Implementando o algoritmo usando um computador O programa é a última parte, batido 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. 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é-fabricado
  • Conectividade de rede e acesso a plataformas de negociação para colocar as ordens
  • Acesso a feeds de dados de mercado que irão seja monitorado pelo algoritmo para oportunidades de colocar pedidos
  • A capacidade e a infra-estrutura para testar o sistema uma vez construído, antes de entrar em mercado real
  • Dados históricos disponíveis para backtesting, dependendo da complexidade das regras implementadas no algoritmo < Aqui está um exemplo abrangente: o Royal Dutch Shell (RDS) está listado na Bolsa de Valores de Amsterdã (AEX) e London Stock Exchange (LSE).Vamos construir 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, seguido de ambas as trocas comerciais simultaneamente durante as próximas horas e então, negocie apenas na LSE durante a última hora à medida que o AEX fecha
  • Podemos explorar a possibilidade de negociação de arbitragem nas 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 do mercado

  • Os feeds de preços de LSE e AEX
  • A taxa de câmbio para a taxa de câmbio GBP-EUR
  • Capacidade de colocação de pedidos que pode rotear o para a troca correta
  • Capacidade de teste posterior em feeds de preços históricos
  • O programa de computador deve executar o seguinte:

Leia o preço de entrada do estoque RDS de ambas as bolsas

  • Usando as taxas de câmbio disponíveis , converta o preço de uma moeda para outra
  • Se houver uma discrepância de preços suficientemente grande (descontando os custos de corretagem) levando a uma oportunidade rentável, então coloque o pedido de compra em troca de preços mais baixos e ordene a compra em troca com preço mais alto > Se os pedidos forem executados conforme desejado, o lucro da arbitragem seguirá
  • Simples e fácil! No entanto, a prática de negociação algorítmica não é simples de manter e executar. Lembre-se, se você pode colocar um comércio gerado por algo, os outros participantes do mercado podem também. Conseqüentemente, os preços flutuam em milissegundos e até mesmo em microssegundos. No exemplo acima, o que acontece se o seu comércio de compras for executado, mas o comércio de vendas não acontece à medida que os preços de venda mudam quando o seu pedido atinge o mercado? Você vai acabar sentado com uma posição aberta, tornando sua estratégia de arbitragem inútil.
  • Existem riscos e desafios adicionais: por exemplo, riscos de falha do sistema, erros de conectividade de rede, atrasos de tempo entre ordens comerciais e execução e, o mais importante, algoritmos imperfeitos. O algoritmo mais complexo é o backtesting mais rigoroso antes de ser posto em ação.

A linha inferior

A análise quantitativa do desempenho de um algoritmo desempenha um papel importante e deve ser examinada criticamente. É excitante ir pela automação auxiliada por computadores com a noção de ganhar dinheiro sem esforço. Mas é preciso certificar-se de que o sistema está completamente testado e os limites exigidos são definidos. Os comerciantes analíticos devem considerar a aprendizagem de sistemas de programação e construção por conta própria, ter confiança em implementar as estratégias certas de forma infalível. O uso cauteloso eo teste completo de algo-trading podem criar oportunidades rentáveis. (Para mais informações, consulte Como codificar seu próprio robô Algo Trading.)