Estratégia de negociação algorítmica no mercado de ações. Tendências e perspectivas da negociação algorítmica na Rússia. O impacto dos sistemas algorítmicos na infraestrutura de câmbio
Negociação algorítmica(ou negociação algorítmica) é um método de execução de um grande aplicações(muito grande para ser executado de uma só vez), quando, usando instruções algorítmicas especiais, uma ordem grande é dividida em várias subordens com características próprias preços E volume e cada uma das subordens é enviada em um determinado momento para execução. Esses algoritmos foram inventados para que os traders não precisassem monitorar e dividir constantemente um pedido grande em pedidos pequenos. manualmente.
Algoritmos populares de negociação de ações são chamados:
- Porcentagem de Volume;
- Fixado;
- VWAP”;
- TWAP;
- Déficit de Implementação;
- Alvo próximo.
A negociação algorítmica não visa ganhar lucro. Seu objetivo é reduzir o custo de execução de um grande pedido, minimizar seu impacto e reduzir sua não execução.
Infelizmente, hoje o termo " negociação algorítmica"é frequentemente usado erroneamente em casos em que na verdade se trata de . Esses sistemas realmente têm como objetivo obter lucro. Eles também são conhecidos como " robôs de negociação", em que as estratégias de negociação são construídas com base em complexos fórmulas matemáticas e processamento rápido de dados.
Aplicação e implementação de negociação algorítmica
A negociação algorítmica é amplamente utilizada bancos de investimento, fundos de pensão , fundos de hedge e, uma vez que nas suas atividades operam com encomendas de grandes volumes e, portanto, não podem colocar encomendas tão grandes no mercado inteiramente sem o risco de perdas.
Antes da aparição sistemas de software negociação algorítmica comerciantes de investidores institucionais ou comerciantes de corretoras que receberam ordens de tais grandes investidores, tive que dividir pedidos grandes manualmente. Existia até toda uma indústria de execução de grandes encomendas, onde empresas terceirizadas aceitavam encomendas de grandes encomendas e as executavam com base em sua própria experiência.
Em meados dos anos 2000, esse trabalho rotineiro foi automatizado com a criação de “mecanismos” algorítmicos que executavam de forma independente todas as mesmas ações que . Bastava ao trader redirecionar a ordem para esse “motor”, selecionar um algoritmo de execução e depois apenas monitorar seu funcionamento, concentrando-se na execução manual apenas de algumas ordens complexas.
Desde meados da década de 2000, as empresas líderes começaram a fornecer acesso aos seus motores algorítmicos a grandes clientes, para que os clientes já não tivessem de criar eles próprios esses motores. A comissão pela utilização do mecanismo algorítmico da corretora é maior do que pela utilização do serviço acesso direto ao mercado.
Implementação de um mecanismo de negociação algorítmico
A transferência de uma ordem entre o cliente e a corretora é realizada, via de regra, por meio de mensagem via Protocolo FIXO. Para a transmissão de solicitações destinadas a motores algorítmicos, foi proposto um padrão em 2004 FIXatdl(uma extensão do protocolo FIX), mas até agora este padrão não se generalizou. A mensagem é registrada no sistema de gerenciamento de ordens da corretora e redirecionada automaticamente para o mecanismo algorítmico da corretora. A mensagem FIX contém parâmetros para execução do algoritmo em tags especiais, por exemplo:
- horários de início e término da execução;
- preço alvo de execução;
- agressividade/passividade de atuação;
- participação/não participação em leilões de abertura e encerramento de pregões.
À medida que sua ordem é executada no mercado, ele recebe mensagens FIX da corretora sobre a execução e no final do dia uma mensagem sobre a execução completa da ordem ou o cancelamento de sua parte restante não executada.
A negociação de Algo é uma direção muito promissora na negociação em mercados financeiros, que permite, com uma abordagem competente, ganhar mais com menos esforço. Na verdade, é quando o seu ou o de outra pessoa estratégia de negociação realizado por um robô. A complexidade dos algoritmos utilizados pelo programa pode variar. Ela pode simplesmente abrir e fechar posições em determinadas leituras de indicadores ou realizar operações complexas fora do controle humano.
A eficácia da negociação algorítmica depende não apenas da estratégia utilizada, mas também condições de mercado, sentimento do jogador, notícias e outras variáveis.
Os programas usados para negociação algorítmica no Forex podem ser compilados pelo próprio trader ( melhor opção) ou outras pessoas. Geralmente estes são conselheiros que são instalados em terminal de negociação MT4.
Mas a negociação algorítmica não se limita a apenas um; é um conjunto completo de programas que lhe permitem automatizar a sua estratégia de negociação.
Os próprios consultores podem ser pagos ou gratuitos. Além disso, estes últimos nem sempre são piores que os primeiros. Muitas vezes, sob o disfarce de programas altamente eficazes para negociação algorítmica, eles introduzem manequins banais que podem ser baixados gratuitamente ou até mesmo estratégias que podem drenar o depósito de um trader em um segundo.
Figura 1. No Forex, a negociação algorítmica é mais frequentemente implementada na forma de consultores
Imagine que você tem um subordinado: um alguém muito eficiente e pronto para seguir todas as ordens de seu criador. Ao mesmo tempo, no âmbito do programa incorporado nele, ele é capaz de tomar decisões sozinho e muito melhor do que um trader. Esta é a essência da negociação algorítmica, que abre enormes perspectivas.
Todo o otimismo do uso de robôs de negociação foi compreendido e grandes bancos, fundos de pensões, mútuos e outros. No caso deles, a negociação algorítmica tem outra vantagem: a capacidade de operar uma quantidade enorme pedidos por minuto e com riscos mínimos.
A história da negociação algorítmica é bastante longa, os primeiros motores foram criados em 2000. E mesmo assim eles foram bastante eficazes. Eles não podiam tomar apenas decisões difíceis que uma pessoa tinha que tomar. Mas ele não precisava dispersar sua atenção para completar pequenas tarefas.
Então a negociação algorítmica começou a ficar mais complicada e os programas começaram a ser atualizados. Mas mesmo agora não é o ideal. Por exemplo, em 2012, a Knight Capital perdeu US$ 460 milhões após um erro de computador. No dia seguinte ela declarou falência. Portanto, você precisa usar os consultores com cuidado.
A negociação algorítmica também pode ser realizada em um servidor VPS. As vantagens são óbvias: a negociação pode ser realizada 24 horas por dia, 5 dias por semana, o slippage é mínimo devido ao servidor estar fisicamente próximo da capacidade da corretora que presta este serviço e não há ligação ao local de negociação. Você pode alterar as configurações do consultor ou desligá-lo onde quer que esteja.
Negociação quantitativa
Se entendermos literalmente o significado deste termo, então esta é uma negociação associada a indicadores quantitativos. Em números, para simplificar. E, em princípio, esta definição estará correta. Os traders quantitativos, via de regra, são especialistas nas ciências exatas: matemáticos, programadores, economistas. Eles analisam constantemente instrumentos de mercado, querendo descobrir as deficiências de seu trabalho.
Tudo o que estão tentando fazer é criar um modelo matemático ideal que ajude a descrever tudo o que acontece nos mercados financeiros e a prever os movimentos dos preços.
Como a análise técnica é um conjunto de modelos matemáticos e padrões, então, de facto, é possível reduzir a negociação quantitativa à análise técnica e a negociação qualitativa à análise fundamental. Até agora, os robôs não são capazes de processar informações de alta qualidade e, portanto, apenas as pessoas estão envolvidas na análise fundamental.
Mas o robô pode lidar muito melhor com análises técnicas. Ele será capaz de analisar milhares de ativos em paralelo, com base em centenas de indicadores, padrões de velas e números gráficos (que também podem ser reduzidos a padrões numéricos).
Num sentido amplo, um trader quantitativo é alguém que aprimora análises técnicas (matemáticos e economistas) ou desenvolve algoritmos baseados em modelos criados primeiro.
Classificação de estratégias de negociação algorítmica
A negociação algorítmica é usada em diferentes níveis, desde traders comuns até grandes formadores de mercado. E cada um usa suas próprias estratégias para atingir objetivos semelhantes, mas ligeiramente diferentes. Em princípio, qualquer estratégia de negociação pode ser algorítmica.
Estratégias de criação de mercado
Este é provavelmente um dos mais maneiras simples ganhar dinheiro no Forex. Muitos puderam ver que se o preço começar a se mover intensamente em uma determinada direção, cuja velocidade só aumenta, então, à medida que o preço se distancia, o volume de transações também aumenta. Foi isso que eles colocaram em ação.
A tarefa deles é calcular a média. Ou seja, aumentar o volume de transações quando surgir uma posição perdedora, esperando que ela reverta após atingir um mercado de sobrecompra ou sobrevenda. Por que ele está fazendo isso? Fornecer liquidez ao mercado para que os comerciantes possam comprar e vender. Garantir tal estratégia requer enormes quantias de dinheiro.
Em geral, para um trader algorítmico comum, esse é um trabalho bastante difícil, porque às vezes você precisa esperar muito tempo por um retrocesso e sofrer enormes perdas. Portanto não é recomendado utilizar robôs baseados nesta estratégia.
Seguidores de tendências
Essas estratégias são usadas com muito mais frequência. Sua essência é muito simples - detectar uma reversão de preço em uma direção diferente o mais cedo possível e abrir a transação correspondente. Por exemplo, assim que o preço começar a cair, abra uma negociação de baixa e feche-a quando começar a subir.
Não se esqueça da volatilidade do mercado, razão pela qual a maioria das estratégias funcionais de acompanhamento de tendências são utilizadas para períodos de médio e longo prazo.
Normalmente, os programas configurados para negociação de tendências fazem o mesmo que uma pessoa: analisam leituras de indicadores, padrões de velas e assim por diante.
Estratégias de Arbitragem
Estas estratégias baseiam-se em lucrar com a diferença entre diferentes bolsas, activos correlacionados, o activo subjacente e um derivado (futuros de petróleo e ouro negro, por exemplo).
Normalmente, esta diferença deve-se ao facto do ativo associado ao subjacente não ter tido tempo para reagir. Por exemplo, o rublo tem uma correlação positiva com o preço do petróleo. Portanto, se o preço do petróleo cair, pode-se esperar uma diminuição no custo Moeda russa. Nesse caso, um negócio é rapidamente concluído na direção apropriada e, assim que o preço for corrigido, saímos do mercado.
A negociação algorítmica é usada especialmente ativamente na arbitragem porque é necessária para detectar ineficiências de mercado muito rapidamente. Afinal, com grandes volumes de negociação, a cotação se estabiliza quase imediatamente.
Além disso, agora é quase impossível ganhar dinheiro apenas com a ineficiência, porque as estratégias de arbitragem são muito populares. Portanto, é necessário concluir muitas dessas transações. Somente um computador pode fazer isso.
Martingale
Figura 2. Estratégia Martingale
A maioria dos consultores que prometem lucros extremamente grandes baseia-se em. Esta é uma estratégia que envolve aumentar o volume de posições e abri-las ainda mais na direção oposta caso a transação anterior não seja lucrativa.
Esta estratégia vem dos cassinos. Baseia-se na ideia de que a probabilidade de o próximo lançamento de dados ser vencedor é maior que o anterior. No caso deles, acontece a mesma coisa (1:6), mas muita gente se apaixonou e as casas de jogos começaram a ganhar um dinheiro colossal.
No Forex pode ser ainda menos. Por exemplo, em caso de alta volatilidade do mercado. Imagine que um trader abre um acordo de compra. Acontece que não é lucrativo. Naturalmente, usando martingale puro, você precisa aumentar o volume em cerca de 2,5 vezes e abrir uma posição de venda. Mas aqui o sentimento do mercado mudou e novamente houve perda.
É melhor usar o martingale em conjunto com a análise técnica e com muita precisão. Se você quiser usar um robô baseado nesta estratégia, você precisa ter um depósito enorme que possa suportar uma série de 10 ou mais derrotas.
Escalpelamento
Esta é outra estratégia popular de alto risco usada em robôs de negociação. Sua essência reside na negociação de pequenas tendências que existem em prazos de curto prazo. Mostra eficiência máxima num mercado volátil (por exemplo, durante a sessão europeia do par EUR/USD).
Vale a pena usar?
O comércio de Algo não é uma panacéia para todos os males comerciais. Na verdade, ele é um artista que pode cometer erros. Certifique-se de monitorar de forma independente suas negociações e a situação no mercado e, se de repente você perceber que a transação está indo contra você, cancele-a imediatamente.
Em geral, com a abordagem correta num mercado estável, você pode obter bons resultados renda passiva.
Revisão de programas para negociação algorítmica
A escolha de um programa específico depende da sua tarefa. A negociação de algoritmos é um campo muito amplo que requer diferentes aplicações.
IDE MQL4
Figura 3. Ambiente de desenvolvimento
O ambiente de desenvolvimento do consultor Forex é a principal ferramenta para um trader algorítmico que decide criar sua própria estratégia e automatizá-la. Claro, você precisa melhorar suas habilidades de programação, mas vale a pena.
Se o consultor estiver trabalhando, você poderá vendê-lo posteriormente e receber uma renda adicional.
Na verdade é um todo sistema de software, capaz de substituir todos os outros aplicativos necessários a um desenvolvedor. Inclui:
- Linguagem de programação própria.
- Editor de roteiros.
- Testador de estratégia. Um assistente indispensável na negociação algorítmica, permitindo depurar o programa.
- Documentação. Guia para escrever Expert Advisors em MQL 4.
Vejamos 5 consultores para negociação mercado de câmbio, caso você não queira desenvolver seu próprio sistema de negociação algorítmico.
- Aladim FX. Este consultor é totalmente gratuito e funciona em várias moedas simultaneamente. Considerado por muitos um dos melhores robôs gratuitos.
- Lucro Automático. Pode ser utilizado para qualquer instrumento e baseia-se numa estratégia com riscos mínimos. O trader pode controlar cada passo realizado por este programa.
- Ilan. Este sistema de negociação algorítmico fornece um lucro fixo sem stop loss. A estratégia é baseada na média, por isso requer um grande depósito para funcionar.
- COBRA. Baseia-se numa média móvel, a uma certa distância da qual é colocada uma ordem pendente. O martingale é usado para se livrar de posições perdedoras, então tome cuidado.
- GEPARD. O consultor negocia a 28 pares de moedas, os riscos são cobertos e diversificados, tornando-os mínimos.
Qualquer que seja bom conselheiro, você precisa se concentrar em sua própria cabeça e melhorar suas próprias habilidades de negociação.
Treinamento de negociação de algoritmos
No mercado Forex, aprender a negociação algorítmica na verdade se resume a aprender a linguagem MQL4. É bastante simples e pode ser feito até mesmo por programadores novatos. O ambiente de desenvolvimento descrito acima possui seu próprio sistema de ajuda e a Internet está repleta de recursos que ensinam como escrever consultores comerciais.
Mas antes de fazer isso, você precisa aprender como desenvolver suas próprias estratégias de negociação. Isso é muito mais difícil do que aprender uma linguagem de programação. Mas é aqui que precisamos começar.
Vantagens e Desvantagens
Figura 4. Este robô sabe tudo sobre suas vantagens e desvantagens
Vantagens da negociação algorítmica:
- A capacidade de automatizar as ações mais simples e dedicar tempo a coisas mais importantes, porém complexas.
- A capacidade de aliviar o estresse psicológico e tomar decisões mais adequadas. Uma pessoa pode ceder à ganância ou ao medo e deixar de cumprir as obrigações que assumiu consigo mesma. Por exemplo, um retrocesso acentuado pode fazer parte da estratégia, mas o trader é absolutamente estúpido ao sair da negociação. O robô agirá com precisão.
- Oportunidade de obter renda passiva em um mercado estável.
- Possibilidade de negociação 24 horas por dia.
Desvantagens da negociação algorítmica no Forex:
- Falta de flexibilidade. Se o mercado mudar drasticamente, o robô entrará em negociações perdedoras.
- Pode haver um erro no algoritmo que levará à perda do depósito.
- O desenvolvimento de consultores é um processo trabalhoso, pois requer boas habilidades de programação e excelentes habilidades comerciais.
O uso de algoritmos em negociações (algotrading) é uma tendência das últimas décadas que mudou o mercado de diversas maneiras. Qualquer sistema automático pode facilmente superar uma pessoa em velocidade, produtividade e resistência, enquanto será quase impossível competir com uma máquina.
Conteúdo do artigo:
O que é negociação algorítmica, suas características e uso em vários mercados - mais adiante.
O que é negociação algorítmica (negociação algorítmica)
A negociação algorítmica pode ter dois significados:
- Negociação de algoritmos– trata-se de um sistema automático que abre transações sem a participação de um trader no âmbito de um determinado algoritmo;
- é uma técnica de execução de uma grande ordem no mercado, quando ela é automaticamente dividida em partes e aberta gradativamente de acordo com determinadas regras.
No primeiro sentido, são necessários algoritmos para obter lucro direto por meio de análise automática de mercado e abertura de posições. Esses algoritmos também são chamados de " robôs de negociação" ou " conselheiros" O sobrenome veio do mercado Forex.
No segundo caso, o sistema é utilizado para facilitar o trabalho manual dos comerciantes em fundos de investimento ao fazer transações excessivamente grandes que é desejável fazer de forma menos perceptível. Por exemplo, se a tarefa é comprar 100.000 ações de uma empresa e você precisa abrir posições de 1 a 4 ações por vez, para não chamar a atenção no feed e na carteira de pedidos.
Ele escreve sobre o que é negociação algorítmica:
“A negociação algorítmica, ou negociação algorítmica, é um método de execução grande aplicação(muito grande para ser executada de uma só vez), quando, usando instruções algorítmicas especiais, uma ordem grande (ordem pai) é dividida em várias subordens (ordens filhas) com suas próprias características de preço e volume e cada uma das subordens é enviado em um determinado momento ao mercado para execução. Esses algoritmos foram inventados para que os traders não precisassem monitorar constantemente as cotações e dividir manualmente um pedido grande em pedidos pequenos.“
A principal forma de negociação algorítmica é Negociação de HFT (do inglês Negociação de alta frequência - “negociação algorítmica de alta frequência”). Sua essência é concluir transações em uma fração de segundo. Em outras palavras, tais sistemas utilizam sua principal vantagem - a velocidade.
A essência da negociação algorítmica
Quântico ( quantos) os traders, ou como também são chamados, os traders algorítmicos, utilizam apenas a teoria da probabilidade de os preços caírem na faixa desejada. Os cálculos são feitos com base nas séries de preços anteriores ou em diversos instrumentos financeiros. É importante compreender que as regras podem mudar à medida que o comportamento do mercado muda. Os traders algorítmicos procuram constantemente ineficiências do mercado, repetindo padrões no histórico de preços, e calculam a probabilidade de eles se repetirem no futuro. Assim, a essência da negociação algorítmica é a seleção de regras para abertura de posições e famílias de robôs. Essa seleção poderia ser:
- manual- realizado por um pesquisador com base em modelos matemáticos e físicos;
- automático- necessário para enumeração em massa de regras e testes dentro do programa;
- genético- neste caso, as regras são desenvolvidas por um programa com elementos de inteligência artificial.
Outras ideias e utopias sobre negociação algorítmica são simplesmente ficção; mesmo um robô não pode prever o futuro com garantia. O mercado também não pode ser tão ineficiente a ponto de existir um conjunto de regras para um robô que funcione em qualquer lugar e sempre.
Em tão grande empresas de investimento Como Tecnologia Renessaince, Cidadela, Virtu usando algoritmos, existem centenas de famílias (séries) de robôs de negociação que abrangem milhares de instrumentos. É esta abordagem que lhes dá lucro diário, é uma espécie de diversificação de algoritmos.
Quando e como surgiu a negociação algorítmica?
O início oficial do uso de algoritmos é 1998, quando SEC (Comissão sobre títulos ) nos EUA aprovou o uso plataformas eletrônicas. Depois disso, começou uma verdadeira corrida tecnológica.
Pontos-chave:
- Anos 2000- o tempo para concluir as transações automáticas é de alguns segundos, a participação dos robôs no mercado dos EUA é inferior a 10%;
- 2009 - as transações são realizadas em velocidades superiores a um milissegundo (frações de microssegundos), participação de mercado superior a 60%;
- 2012 e um período posterior - devido a ações errôneas massivas de algoritmos, seu volume de mercado foi reduzido para 50% de todas as transações.
Assim, os algoritmos HFT ainda são usados hoje. Bancos de investimento e os fundos de cobertura são pioneiros nesta área e, mais do que qualquer outra pessoa, necessitam de automatizar a execução de grandes encomendas. Eles investiram com sucesso quantias consideráveis de dinheiro no desenvolvimento de tais algoritmos, resultando no surgimento de vários sistemas que influenciam o mercado.
Negociação algorítmica no mercado de ações
Os mercados de ações e de derivativos oferecem amplas oportunidades para o uso de negociação automatizada. No entanto, a negociação algorítmica é mais comum em grandes fundos do que entre investidores privados. Existem vários tipos de negociação algorítmica mercado de ações:
- Baseado em sistemas análise técnica - envolver a utilização de ineficiências de mercado e a identificação de tendências através de diversos indicadores. Na maioria dos casos, tais estratégias visam obter lucro utilizando técnicas de análise técnica clássica.
- Negociação de pares e cestas- tal sistema utiliza a proporção de dois ou mais instrumentos que têm relativamente alta porcentagem correlação, mas não igual à unidade. Assim, se um dos instrumentos se desviar do determinado curso, então há uma grande probabilidade de que ele retorne ao seu grupo. Ao rastrear tais desvios, os algoritmos realizam transações e trazem lucro aos seus proprietários.
- Criação de mercado- outro tipo de estratégia que visa manter a liquidez do mercado. Os criadores de mercado satisfazem a procura de vários instrumentos, mesmo em benefício próprio, pelos quais recebem uma recompensa da bolsa. No entanto, isso não impede que tais algoritmos obtenham lucros usando uma estratégia especial baseada no fluxo rápido e na contabilização de dados de mercado.
- Corrida frontal- dentro de sistemas semelhantesé utilizada a análise do volume de transações de um instrumento e a identificação de grandes pedidos. Os algoritmos levam em consideração que uma ordem grande manterá o preço e provocará o surgimento de contra-transações na direção oposta. Assim, eles captam flutuações devido à velocidade de análise dos dados de mercado na carteira de pedidos e na fita, tentando ultrapassar outros participantes e realizando pequenos movimentos durante a execução de ordens muito grandes.
- Arbitragem- troca instrumentos financeiros, cuja correlação é próxima da unidade. Normalmente, nesses instrumentos o desvio é mínimo; podem ser ações e futuros da mesma empresa ou das mesmas ações, mas em mercados diferentes. O sistema monitora as alterações de preços dos instrumentos relacionados e produz transações de arbitragem que equalizam o preço.
- Negociação de volatilidade- o tipo de negociação mais complexo, baseado na compra de opções de diversos tipos, com a expectativa de aumento da volatilidade de determinado instrumento. Essa negociação algorítmica requer alto poder computacional e uma equipe de especialistas.
Listadas acima estão as principais estratégias para negociação algorítmica em ações e mercados de derivativos. Agora vamos dar uma olhada nos recursos associados à moeda.
Negociação algorítmica de Forex
A utilização de robôs automáticos generalizou-se no mercado cambial interbancário. Em particular, os consultores comerciais ganharam popularidade graças à plataforma MetaTrader4 e linguagem de programação MQL4, que permite que até mesmo traders novatos conduzam negociações algorítmicas no Forex:
- o uso desta linguagem está ao alcance do usuário médio, como resultado, há negociação algorítmica para iniciantes no livro de referência com descrição completa funções de linguagem;
- consultores programados podem ser imediatamente compilados em formato de terminal e colocados em operação;
- os robôs criados não requerem grande poder computacional;
- Uma ampla gama de ferramentas para testar o robô durante um longo período de tempo está disponível no terminal.
Assim, MetaTrader e MQL4 serão uma grande oportunidade para iniciantes tentarem programar robôs de negociação algorítmicos reais.
Enquete: Que tipo de negociação você prefere?
As opções de enquete são limitadas porque o JavaScript está desabilitado em seu navegador.
Negociação posicional 17%, 24 voto
Revisão de programas para traders algorítmicos
Há uma pequena lista de software para negociação algorítmica e escrita de código para robôs.
TSLabTSLabé um software doméstico em linguagem C#, compatível com a maioria dos Forex e corretores de ações. Possui uma interface bastante simples e fácil de aprender graças a diagramas de blocos especiais.
O programa pode ser usado gratuitamente, você pode testar e otimizar sistemas, mas para negociação real você precisará comprar uma assinatura.
Um programa para desenvolvimento de algoritmos em C#. Com este programa você pode escrever software para negociação algorítmica usando a biblioteca Wealth Script, o que simplifica muito o processo de escrita de código. Você também pode conectar cotações de diferentes fontes ao software. Além do backtesting, também é possível lançá-lo nos mercados financeiros para negociação real.
Estúdio R- software mais avançado para quants (não adequado para iniciantes). Este software combina várias linguagens, uma das quais utiliza a linguagem R especial para processamento de dados e séries temporais. No programa você pode não apenas criar algoritmos, mas também testar, otimizar, criar interfaces, obter estatísticas e muitos outros dados. O programa R Studio é gratuito e bastante sério; descreve modelos matemáticos e econométricos complexos em poucas linhas, graças a várias bibliotecas, testadores, modelos integrados, etc.
TWAP (do inglês Preço médio ponderado pelo tempo preço médio» ) - tal algoritmo abre ordens em intervalos regulares a preços com melhor oferta ou demanda.
VWAP (do inglês Preço médio ponderado por volume - “preço médio ponderado por volume”) - é necessário para abrir uniformemente uma posição em partes iguais de um determinado volume durante um determinado período, bem como a preços não superiores à média ponderada a partir do momento do lançamento.
Iceberg- utilizado para realizar pedidos com volume total não superior à quantidade especificada nos parâmetros. Em muitas bolsas, o algoritmo está integrado no núcleo do sistema, o que permite especificar o volume “visível” nos parâmetros do pedido.
Estratégia de Execução- obrigado a comprar um ativo a um preço médio ponderado em grandes quantidades, via de regra, é utilizado grandes jogadores(fundos de hedge e corretores).
Estratégia especulativa- um modelo padrão para comerciantes privados que se esforça para alcançar o máximo preço favorável entrar em uma negociação para obter lucros subsequentes.
Mineração de dadosé uma busca por novos padrões para novos algoritmos. Mais de 75% do tempo de mineração é gasto na coleta de dados antes do início dos testes. O resultado da pesquisa depende apenas de uma abordagem profissional e aprofundada. A pesquisa em si é realizada por vários algoritmos usando configurações manuais. Por exemplo, software Stock Pattern Viewer - aqui você pode baixar cotações e encontrar certos padrões de velas (e não apenas velas), após os quais ocorre uma determinada reação do mercado. Por exemplo, encontre um padrão após o qual dentro de três velas o mercado cresceu 2.000 vezes, mas caiu apenas 200 vezes. Depois disso, os padrões encontrados são incorporados aos algoritmos dos robôs de negociação e negociados com sucesso (ou não tão bem).
Treinamento e livros sobre negociação algorítmica
O escopo do treinamento e da literatura sobre negociação automatizada é bastante restrito. É muito difícil identificar estudos especializados confiáveis e de alta qualidade. Geralmente tudo se resume a estudar:
- modelos matemáticos e modelação económica;
- linguagens de programação - Python, C++, MQL4 ( para Forex);
- informações sobre contratos de bolsa e características dos instrumentos (ações, opções, futuros).
Ainda assim, alguns bons livros sobre negociação algorítmica devem ser destacados:
Barry Johnson e seu livro Negociação algorítmica e acesso direto à bolsa"(Negociação Algorítmica e DMA, Barry Johnson).
Ernest Chan « Negociação quântica"(Negociação Quantitativa, Ernest Chan).
Lyu Yu-Dau « Métodos e algoritmos de matemática financeira"(Engenharia Financeira e Computação, Yuh-Dauh Lyuu).
Rishi Narang"Dentro da Caixa Preta" (Rishi K. Narang)
Vale a pena notar que a maior parte da literatura significativa nesta área está em inglês. Na Rússia a direção ainda não está muito desenvolvida. Além de livros com ênfase em programação, será útil ler qualquer literatura sobre mercado de ações, em especial, sobre análise técnica.
Vantagens e desvantagens da negociação algorítmica
Algotrading pode ser visto apenas da perspectiva da negociação manual contrastante. Portanto, as desvantagens da negociação manual serão as vantagens dos algoritmos e vice-versa. Então, as desvantagens da negociação manual clássica:
- Falta de conhecimento e compreensão correta do mercado. Isso se aplica à grande maioria dos iniciantes, não aos traders profissionais. 95% das pessoas perdem dinheiro ao negociar mãos, por isso este facto não pode ser ignorado.
- Psicologia e natureza assistemática. O homem, por natureza, é propenso a colapsos, excitação e outras explosões emocionais. Negociar é uma atividade muito desgastante do ponto de vista psicológico; as pessoas acham difícil seguir o seu próprio sistema estritamente como deveria ser. O resultado é dinheiro perdido.
- Limitações fisiológicas. As pessoas não podem monitorizar o mercado 24 horas por dia, 7 dias por semana, porque têm de comer, dormir e descansar.
- A influência das características pessoais nos resultados comerciais. Infelizmente, cada trader deve ter seu próprio sistema de negociação que lhe seja adequado especificamente. É raro que um grupo inteiro de pessoas possa negociar confortavelmente no mesmo sistema. Usando a mesma estratégia, dois traders negociarão sempre de forma diferente.
Conseqüentemente, todas as desvantagens acima estão ausentes em algoritmos e robôs. Não possuem limitações físicas, não estão sujeitos a colapsos emocionais e traços de personalidade e seguem rigorosamente seu sistema (algoritmo).
Porém, os robôs também são imperfeitos, prestemos atenção às suas deficiências:
- Probabilidade de erro no algoritmo. Se o desenvolvedor do robô cometer uma imprecisão ou outro defeito no código, o robô ainda continuará trabalhando e perderá dinheiro.
- Complexidade do algoritmo. Para criar e programar um robô, você precisa entender não apenas o código (linguagem do programa), mas também a própria negociação. No geral, este é um procedimento bastante complicado e requer muita experiência.
- Falta de informação. É quase impossível aprender negociação algorítmica em qualquer livro ou curso; a informação simplesmente não está disponível gratuitamente.
- Falta de flexibilidade. Será mais fácil para um trader manual se adaptar às mudanças no mercado do que para um trader algorítmico reconstruir todo o algoritmo do robô.
Assim, os robôs têm os seus problemas, mas são menos significativos do que as deficiências na negociação manual, que mais levam a enormes perdas nos mercados financeiros. Mas nem tudo é tão simples na prática; muitas vezes acontece que a negociação algorítmica traz perdas. Um exemplo óbvio é Índice Sistemático de Trader do Barclay
O gráfico mostra que de 2010 a 2013, os traders do sistema estavam em situação de rebaixamento e perderam uma quantia significativa. A imagem se torna óbvia se você observar o gráfico a seguir, que é semelhante, mas apenas para traders manuais (não sistêmicos):
Como você pode ver, eles conseguiram se adaptar ao mercado e se comportar de forma mais estável que os algoritmos. Depois de analisar os dois gráficos, você pode ver que, em geral, ambas as abordagens fornecem resultados aproximadamente iguais. Portanto, escolher um estilo de negociação é uma questão pessoal de todos. Por exemplo, se você não é bom em programação e o código é chato, então é melhor não mexer com algoritmos, mas trabalhar manualmente e vice-versa.
Mitos famosos sobre negociação algorítmica
A negociação automatizada causa séria ressonância entre os traders e, portanto, surgiram muitos mitos sobre algoritmos. Vamos prestar atenção em alguns deles:
- A negociação de Algo não dá lucro e é uma farsa. Infelizmente, muitos estão suscetíveis a essa opinião, principalmente aqueles que vivenciaram a compra de assessores que não justificaram o investimento. Isto é refutado pelo índice de rentabilidade acima mencionado de traders algorítmicos que ganham dinheiro há 20 anos.
- Negociar é psicologia, não negociação sistemática para robôs. Como já foi observado, existem ineficiências no mercado e existem algoritmos para identificá-las.
- O teste do sistema não funciona. Muitas pessoas dizem que o backtesting do histórico não traz nenhum benefício, pois o robô ainda perderá em uma conta real. Isso também é um equívoco; se você abordar o processo de teste corretamente, levando em consideração todos os recursos e nuances, ele desempenhará um papel importante.
- Os sistemas Martingale e as grades de pedidos são a única maneira de ganhar dinheiro. Eles podem realmente ser lucrativos, mas não por muito tempo. Essa lucratividade é extremamente instável e certamente levará a perdas.
- Indicadores não funcionam. Outro equívoco, os indicadores foram criados para ajudar um trader a avaliar visualmente o comportamento dos preços, em vez de confiar cegamente neles. Portanto, com uma abordagem razoável, eles certamente darão resultados.
A lista não é exaustiva, estes são apenas os mitos mais famosos.
Conclusão
O que é negociação algorítmica em bolsas? A negociação de Algo é a negociação usando sistemas automatizados programados para abrir negociações. Pode ser usado para extrair lucros do mercado ou para reduzir a carga manual de um trader ao abrir uma posição muito grande.
Existem diferentes estratégias de negociação algorítmica. Isto pode ser arbitragem ou negociação de pares, bem como muitas outras variações. Este estilo de negociação está disponível tanto em bolsa de valores, e no mercado de câmbio Forex.
Se você encontrar um erro, destaque um trecho de texto e clique Ctrl+Enter.
O procedimento de abertura e fechamento de transações formulado pelo trader, que se baseia em um algoritmo claro para o funcionamento de operações automáticas ou mecânicas sistemas de negociação- ATS e MTS, respectivamente.
Especificidades e aplicação da negociação algorítmica
A negociação de algoritmos é uma oportunidade conveniente para automatizar as manipulações rotineiras de um trader, resultando na redução do tempo necessário para analisar a situação do mercado de ações, realizar operações e realizar cálculos matemáticos. Os PBXs ajudam a minimizar o impacto fator humano— emoções, pânico, pressa, especulação, que muitas vezes tornam até as estratégias profissionais pouco lucrativas. A negociação é baseada na probabilidade existente de as cotações estarem dentro de um determinado intervalo. Os cálculos são baseados em dados históricos relativos a um ativo específico e podem incluir todo um conjunto de ferramentas de trabalho. Acompanhando as contínuas mudanças no mercado, os desenvolvedores de algoritmos estão constantemente em busca de modelos repetidos, com base nos quais formulam regras para a realização de transações e selecionam robôs de negociação que ajudam a implementar esse mecanismo. Métodos para seleção de modelos:
- genético - a criação de algoritmos é confiada a sistemas informáticos;
- automático - são utilizados programas que podem trabalhar com grandes quantidades de dados e estratégias de teste;
- manual - a abordagem científica leva em consideração modelos matemáticos e físicos.
As principais empresas de negociação algorítmica usam milhares de ferramentas que reduzem significativamente a probabilidade de erros e falhas.
Tipos e potencial
Um algoritmo é um conjunto de instruções precisas que atingem objetivos específicos. Dependendo deste último, existem 5 tipos de negociação no mercado de ações:
- estatística;
- negociação de execução algorítmica;
- cobertura automática;
- acesso direto;
- negociação algorítmica de alta frequência.
A crescente popularidade do MTS e ATS entre os especuladores se deve ao aumento da automação de processos, transitoriedade transações cambiais, reduzindo custos operacionais. Os bancos também começaram a usar algoritmos para fornecer cotações atuais nas plataformas de negociação, aumentando a velocidade de atualização dos dados, reduzindo o papel do trabalho manual no cálculo dos preços, minimizando os custos de transação.
A essência da negociação algorítmica de alta frequência
A negociação algorítmica de alta frequência também é chamada de negociação HFT e é a mais popular entre outras formas de transações automatizadas. Sua vantagem é a possibilidade de concluir rapidamente transações com mais de um instrumento, aqui o trabalho com posições (abertura e fechamento) é realizado em uma fração de segundo; As operações são caracterizadas por microvolumes, além disso, são balanceadas por um grande número deles. Os resultados - perdas e receitas - são registrados instantaneamente, sendo necessária uma base técnica complexa e conexão direta de alta qualidade com gateways de comunicação. Principais características da negociação de alta frequência:
- a utilização de sistemas inovadores capazes de executar posições em milissegundos;
- realização de transações em alta velocidade, caracterizadas por grandes volumes e pelo menor lucro possível;
- negociação exclusivamente intradiária;
- lucrar com margens e microflutuações de preços;
- uso de todas as categorias de transações de arbitragem.
As estratégias HFT mais comuns são criação de mercado, arbitragem retardada e sua forma estatística, front running. Este último consiste em procurar grandes pedidos de compra e fazer o seu próprio pedido pequeno, caracterizado por um preço mais elevado. À medida que a execução avança, o algoritmo coloca automaticamente as ordens um pouco mais altas, contando com a manifestação de flutuações que as acompanham. As operações robóticas realizadas como parte da negociação algorítmica criam cerca de 55% da liquidez das bolsas de valores globais. Com o desenvolvimento tecnológico das ferramentas, o processo de obtenção de lucro torna-se mais complicado e caro. As empresas de nível médio estão gradualmente a ser expulsas do mercado principal, à medida que os custos de modernização da base técnica e de atualização de software aumentam.
Se você também decidir se envolver em negociação algorítmica no mercado de ações, precisará implementar uma série de complexos estratégicos (negociação) e técnicos (algoritmização) para desenvolver um algoritmo verdadeiramente competitivo e de alta qualidade para negociação de ações. intercâmbio. Dedicaremos uma seção separada ““ a esses tópicos, na qual você já pode visualizar materiais publicados, e também esperar o lançamento de novos artigos úteis para negociação algorítmica.
Neste artigo, gostaria de falar sobre métodos que permitem determinar as estratégias algorítmicas mais promissoras aplicáveis na criação de robôs de negociação. Aqui é importante encontrar, avaliar e selecionar corretamente os sistemas apropriados, determinar corretamente os dados a serem testados, avaliar a estratégia de negociação, bem como realizar uma fase de backtesting e implementar a estratégia como um todo.
Como desenvolver uma boa estratégia de negociação algorítmica
Em primeiro lugar, a negociação algorítmica no mercado de ações começa com um planeamento detalhado de todos os aspectos. A primeira delas é o desenvolvimento da estratégia estratégica.
Conquistas pessoais, desenvolvimentos e conhecimento em negociação
Para obter sucesso ao negociar, seja de forma independente ou usando algoritmos de negociação, você precisa definir totalmente o seu próprio características individuais na negociação, identifique pontos fortes e fracos. Ao negociar instrumentos financeiros, você pode perder dinheiro com extrema rapidez, por isso precisa imaginar não apenas a estratégia que prefere, mas também suas capacidades, bem como suas opções de comportamento esperadas.
É muito importante ser capaz de seguir o sistema de negociação, ser paciente e tentar manter o equilíbrio emocional.
Como o sistema de negociação algorítmica utiliza um determinado algoritmo, que, de fato, funciona de forma independente, você deve entender claramente quando pode interferir em suas ações e quando é melhor ficar longe.
Em alguns períodos, principalmente quando a recessão dura muito tempo, é bastante difícil ficar longe. Porém, na maioria dos casos, isso é simplesmente necessário, pois estratégias que podem trazer bons resultados perdem eficácia à menor intervenção.
Outro ponto de grande importância é o tempo.
Quanto do seu tempo você pode dedicar à negociação? Em tempo integral, todos os dias? Algumas horas por semana? O tipo de estratégia utilizada também depende disso. Por exemplo, aqueles que trabalham a tempo inteiro não devem escolher negociação intradiária futuros, pelo menos até que seja totalmente automatizado.
A metodologia da estratégia também depende de quanto tempo você está disposto a dedicar à negociação. Se esta estratégia é negociada com frequência e depende de eventos noticiosos dispendiosos (por exemplo, Bloomberg), é importante avaliar as oportunidades disponíveis com o máximo realismo e geri-las com sucesso.
Para quem tem muito tempo ou grande habilidade prática para automatizar a negociação, pode trabalhar com uma estratégia de negociação de alta frequência, que é mais tecnológica.
De qualquer forma, é importante fazer pesquisas regulares sobre o veículo – neste caso, o portfólio se tornará rentável em etapas. A maioria das estratégias desaparece com o tempo, então trabalho de pesquisaé realizado quase constantemente.
Além disso, é necessário avaliar a situação existente capital comercial. Para uma estratégia quantitativa, o montante apropriado de capital é de US$ 50.000. Claro, se o comerciante tiver uma quantidade maior- isso sempre tem um efeito benéfico em seu portfólio de estratégias. Isto deve-se, sobretudo, ao facto de tanto as estratégias de média como de alta frequência envolverem custos de transacção, cuja dimensão pode atingir montantes significativos.
Se você planeja começar a negociar com um valor inferior a US$ 10.000, terá que se limitar a usar estratégias de baixa frequência que negoceiam um ou dois ativos, caso contrário, todo o lucro que você receber irá para despesas operacionais.
Para que serve isso?
Todos esses procedimentos de determinação, bem como comparações, são importantes, uma vez que a negociação algorítmica no mercado de ações deve ser baseada no conhecimento e nas preferências do trader-programador. Você não deve tentar criar um sistema algorítmico que você não entende. Mesmo um sistema semelhante em um período de tempo diferente funcionará de maneira diferente e, sem compreender todos os processos, é improvável que você consiga ajustá-lo adequadamente. Por exemplo, se você trabalhou no médio prazo e está tentando criar um sistema de scalping.
É melhor iniciar o processo de criação de robôs algorítmicos para negociação no mercado de ações com aquelas estratégias que você conhece bem.
A estratégia foi escolhida, o que vem a seguir?
A criação de sistemas de negociação algorítmicos requer obrigatório uma habilidade como programação.
Se você sabe programar em C++, Java, C#, Python ou R, isso lhe dará a oportunidade de construir pessoalmente data warehouses, backtesting e sistemas de tempo de execução, o que lhe proporcionará uma série de vantagens, sendo a principal delas a capacidade de ter uma compreensão de todos os aspectos da infra-estrutura. Graças a isso, você também terá a oportunidade de analisar estratégias de alta frequência. Como resultado, você poderá não apenas testar seu próprio software, mas também solucionar erros. Além disso, será possível dedicar mais tempo à codificação de infraestruturas e à implementação direta de estratégias. É provável que para alguns processos de realização de cálculos, previsões ou acompanhamento de resultados de testes, seja muito mais conveniente trabalhar em Excel ou MATLAB, e terceirizar o desenvolvimento dos demais componentes. Mas este último não é altamente recomendado, pois, novamente, você não conseguirá calibrar adequadamente o sistema, pois não entenderá o código de outra pessoa.
Se programar é difícil atualmente, mas você planeja avançar nessa direção, pode começar dominando o , que permite construir robôs simples sem conhecimento de linguagens de programação.
Mais importante ainda, todos que planejam se envolver na negociação algorítmica devem entender claramente o que exatamente desejam obter como resultado da negociação algorítmica. Não será supérfluo determinar o plano material de trabalho, se é necessária uma renda regular, através da qual será obtido lucro de uma conta de negociação ou crescimento de capital a longo prazo. O objetivo determinará a estratégia apropriada. Uma estratégia de negociação de maior frequência e menos volatilidade permitirá que você retire seus lucros regularmente. E a negociação de baixa frequência, por sua vez, está disponível para os traders de longo prazo acumularem um depósito.