Guia Definitivo Para o Sucesso no Algotrading

Guia Definitivo Para o Sucesso no Algotrading

Cenário

Praticamente todo mundo que programou um computador para fazer qualquer coisa além de produzir “Hello World” sonhou em ter um algoritmo de computador (algo) trabalhando incansavelmente para extrair dinheiro dos mercados financeiros, seja em ações, bitcoin, soja ou qualquer outra coisa negociada em uma Corretora. “Gênio da programação, matador de mercado” é uma frase com a qual todos gostaríamos de ser associados. Isso é o que um bom trader algorítmico é. Mas quão realista é criar e implantar um algoritmo computadorizado, ou um exército de bots, para ganhar dinheiro para você? E, supondo que isso possa ser feito, como você realmente faz isso? Este guia orienta você nas etapas para se tornar bem-sucedido na negociação de algo. Mas esteja avisado – é muito mais complicado e muito mais difícil do que você imagina.

O básico – do que estamos realmente falando? Antes de irmos muito longe, há alguma terminologia envolvida na negociação que o ajudará a entender a negociação de algo. Existem 3 modos principais de negociação. A primeira é a negociação discricionária, em que um trader toma decisões de compra/venda com base em vários fatores, alguns dos quais podem ser programados e outros – como intuição e palpites – que não podem. Muitos traders discricionários olham para gráficos em uma tela de computador por horas a fio, comprando e vendendo à medida que avançam. O segundo tipo de negociação é a negociação de algo. Nos últimos anos, era chamado de negociação mecânica, sistemática, Blackbox ou baseada em regras. Agora, a maioria das pessoas se refere a isso como negociação algorítmica ou algorítmica, mas a ideia não mudou. A filosofia central é que todas as regras de compra e venda (o “sistema de negociação” ou “estratégia de negociação”) são 100% definidas e rigorosamente seguidas. Isso torna o algotrading ideal para ser executado por um computador, e até mesmo executado de forma automatizada em tempo real – sem intervenção humana. Um grande benefício desse estilo de negociação é que as regras podem ser testadas historicamente. Se as regras não foram lucrativas no passado, provavelmente não funcionarão no futuro! O terceiro tipo de negociação combina negociação discricionária e negociação algorítmica. Isso é conhecido como abordagem híbrida ou Graybox. Por exemplo, talvez as entradas sejam baseadas na intuição de um trader, com as regras de saída computadorizadas. Para a discussão abaixo, vamos nos concentrar na segunda abordagem – negociação de algo puro – regras 100% computadorizadas para comprar e vender qualquer instrumento. Procuraremos negociar algo em uma bolsa, que é apenas um ambiente físico ou virtual onde compradores e vendedores podem executar negociações.

Requisitos de software
Quando os computadores pessoais surgiram pela primeira vez, as opções de software para programar sistemas de negociação eram minúsculas. No mundo de hoje, no entanto, o oposto é verdadeiro. São tantas opções que fica difícil decidir o que usar. 

Metatrader 5, Profitchart , Multicharts ou NinjaTrader. Para muitos traders de varejo, essas plataformas funcionam perfeitamente bem e fazem tudo o que um trader precisa fazer. 

Metatrader 5

Claro, alguns programadores vão querer programar sua própria plataforma de backtesting e execução – porem quando se pensa em criar a própria plataforma e depois criar a estratégia, isso acaba tomando muito tempo e dinheiro e logo percebemos que o melhor a longo prazo é usar apenas uma plataforma estabelecida (no nosso caso Stark-Pro para Metatrader 5). Com todos os excelentes recursos, pacotes e facil programação disponíveis em uma só plataforma, não recomendo essa abordagem total do tipo “faça você mesmo”.

Habilidades que todo trader de algoritmos precisa
Para ser um trader de algoritmos de sucesso, você deve ter algumas habilidades essenciais. Primeiro, você deve ser capaz de negociar ou, pelo menos, conhecer os fundamentos da negociação. Você sabe o que é uma Ordem tipo Stop? Ou Ordem Limit? Você conhece os requisitos de margem para o mercado que deseja negociar? A Corretora onde você está negociando é regulamentada? Perguntas como esta são importantes. Por exemplo, é fundamental que você perceba o risco inerente às Corretoras não regulamentadas. Você conhece as especificidades do Ativo ou Papel que deseja negociar? Por exemplo, se você negocia futuros de Gado, sabe como evitar que 40.000 Dólares de gado vivo sejam entregues em seu quintal? Duvido que isso já tenha acontecido com um trader, mas certamente é possível. Quanto mais você souber sobre negociação em geral, mais fácil será o processo de negociação de algo.Uma segunda habilidade é ser bom em matemática. Você deve ter um bom entendimento de cálculos financeiros, estatísticas básicas e como calcular métricas de desempenho de negociação. Uma habilidade relacionada é ser bom com o Excel ou outro software de manipulação de dados, como o Matlab. Você usará muito esse software para complementar sua análise de estratégia de negociação; portanto, quanto melhor você estiver em matemática, melhor será em negociação de algo. A terceira habilidade importante é saber como executar a plataforma de negociação escolhida. Isso parece uma habilidade básica, mas eu sempre digo aos traders que eles devem continuar aprendendo sua plataforma até que possam enganá-la – ou seja, eles podem criar sistemas de negociação que exploram os pontos fracos do mecanismo de backtest da plataforma. Por ser habilidoso o suficiente para enganar o software, você pode evitar muitos erros de nível iniciante e intermediário. Ser capaz de seguir uma abordagem científica estabelecida para o desenvolvimento do sistema de negociação é uma terceira habilidade que todo bom trader de algo tem. Para criar sistemas de negociação robustos, você precisa ter um processo sólido para projetar, desenvolver e testar suas estratégias de algo. Não é tão simples quanto apenas programar e negociar. Se você não possui as habilidades ou a capacidade de seguir um processo definido, a negociação de algo pode não ser para você. A habilidade final que você precisa para ter sucesso na negociação de algo é indiscutivelmente a mais importante – capacidade de programação. Lembre-se de um tempo atrás, quando discuti software de negociação? Bem, uma parte fundamental de saber qual software usar é conhecer suas habilidades de programação. Plataformas diferentes requerem habilidades de programação diferentes, com algumas plataformas exigindo habilidades de programação do tipo C++, enquanto outras podem exigir apenas habilidades de programação visual de arrastar e soltar. A chave é ser proficiente em qualquer linguagem de programação necessária.  

Os trader de algo bem-sucedidos programam centenas ou até milhares de sistemas de negociação, gerando toneladas de curvas de patrimônio, ao longo de um ano. Isso ocorre porque a maioria dos sistemas de negociação é inútil – eles perdem dinheiro no longo prazo. Já imaginou pagar alguém para programar estratégias inúteis para você? Eu com certeza não posso! Portanto, a capacidade de programação vale bem o seu tempo se você quiser ser um trader de algoritmos de sucesso.

O que não fazer na negociação de algoritmos
Antes de discutir um processo sólido e comprovado para desenvolver sistemas de negociação de algoritmos lucrativos , vale a pena apontar algumas das coisas que NÃO se deve fazer. Quase todo novo trader de algo cai nessas armadilhas, mas com um pouco de aviso prévio, você pode facilmente evitá-los. Falando por experiência própria, contornar essas armadilhas economizará muito dinheiro. Em primeiro lugar, uma vez que muitos traders de algo têm formação em programação, ciências e matemática, eles acreditam que seus modelos precisam ser complicados. Afinal, os mercados financeiros são feras complexas e mais regras e variáveis ​​de negociação devem ser mais capazes de modelar esse comportamento. ERRADO! Mais regras e variáveis ​​não são nada melhores. Sim, modelos complicados se ajustam melhor aos dados históricos, mas os mercados financeiros tem muitos ruídos. Muitas vezes, ter muitas regras apenas modela melhor o ruído, não o sinal real do mercado subjacente. A maioria dos traders profissionais de algo tem modelos simples, já que eles tendem a funcionar melhor em dados não vistos.

Depois que um modelo de sistema de negociação é concluído, a segunda armadilha se torna um problema: otimizar. Só porque você tem variáveis ​​(como médias móveis ou limites de sobrecompra/sobrevenda) que podem ser otimizadas, não significa que elas devam ser otimizadas. E só porque seu computador pode executar um milhão de otimizações por hora não significa que você deva. A otimização é ótima para criar backtests impressionantes, mas lembre-se de que a maioria dos dados de mercado é apenas ruído. Uma estratégia de negociação otimizada para um sinal de preço histórico ruidoso não se traduz bem em desempenho futuro. Uma terceira armadilha está relacionada às duas primeiras armadilhas: construir um ótimo backtest. Quando você está desenvolvendo um sistema de algo, o único feedback que você recebe sobre o quão bom ele pode ser é através do backtest histórico. Então, naturalmente, a maioria dos traders tenta fazer o backtest o mais perfeito possível. Um trader de algoritmos experiente, no entanto, lembra que o backtest não importa tanto quanto o desempenho em tempo real. Sim, um backtest deve ser lucrativo, mas quando você está tentando melhorar o desempenho do backtest, corre o risco de cair nessa armadilha.

Uma quarta e última armadilha do algoritmo de negociação é a armadilha do “bom demais para ser verdade”. Desconfie de qualquer resultado histórico que pareça bom demais para ser verdade. As chances são de que ele não terá um desempenho tão bom daqui para frente, se for o caso. Quase todos os operadores de algo que conheço desenvolveram pelo menos um sistema de negociação “Santo Graal”, com desempenho histórico que surpreenderia qualquer investidor ou trader. Mas quase sem exceção, essas grandes estratégias desmoronam em tempo real. Talvez tenha sido devido a um erro de programação, otimização excessiva ou truque do mecanismo de backtest da estratégia, mas ter uma dose saudável de ceticismo no início o mantém longe de estratégias como essa.

Um processo comprovado para desenvolver sistemas de negociação Algo
Depois de evitar as armadilhas comuns na negociação de algo, é hora de desenvolver estratégias em um processo controlado e repetível. O processo começa com metas e objetivos. Como dirigir um carro até um destino, você precisa saber onde quer chegar antes de começar. Identifique o mercado que deseja negociar e também o retorno anual e o rebaixamento que deseja. Você pode ter mais objetivos do que isso, então isso é realmente o mínimo. Ter metas e objetivos sólidos ajudará você a saber quando deve ficar satisfeito com seu algoritmo de negociação e a evitar muitas das armadilhas descritas anteriormente. Em seguida, você precisa de uma ideia para construir uma estratégia. Isso não significa que você precisa desenvolver toda uma teoria econômica para sua estratégia, mas também significa que gerar ideias aleatoriamente (como: comprar se o fechamento de 53 barras atrás for maior que o fechamento de 22 barras atrás) provavelmente não funcionará . As melhores ideias têm uma explicação por trás delas. Por exemplo, “o preço subindo tende a continuar subindo” pode ser uma boa ideia codificar e transformar em uma estratégia. O bom é que as ideias estão por toda parte e você pode simplesmente modificar as ideias que encontrar, adaptando-as para atender aos seus desejos. Nota final: esteja sempre atento às ideias de negociação. Você precisará testar muitos deles para encontrar um bom. O próximo passo é testar historicamente sua estratégia. Eu costumo executar isso como duas etapas separadas. Primeiro, faço um teste em pequena escala com alguns anos de dados, para ver se minha estratégia tem algum mérito. A maioria das estratégias falha nesta etapa, então isso me poupa o tempo e o aborrecimento de um teste em escala real. Também modifico a estratégia neste ponto, se necessário. Posso fazer isso sem medo de superajustar ou ajustar a estratégia aos dados históricos, pois estou usando apenas alguns anos de dados. Depois de ter um teste inicial bem-sucedido, faço um teste mais aprofundado. Eu uso um processo chamado teste walkforward, que é superior a um backtest otimizado tradicional. Você também pode fazer testes fora da amostra neste momento. A chave é não testar muito durante esta etapa. Quanto mais testes você fizer, maior a probabilidade de seu modelo ser curvo ou superajustado. Depois de ter um teste walkforward bem-sucedido, executo algumas simulações aleatórias de Monte Carlo com meu modelo, para estabelecer suas características de retorno às perdas. Você deseja ter um sistema de negociação que forneça um retorno aceitável mais as taxas de negociação – caso contrário, por que negociá-lo? O outro lado, porém, é que se o retorno/rebaixamento for muito bom, geralmente indica uma estratégia de negociação que foi superajustada (discutida anteriormente como um sistema de negociação “bom demais para ser verdade”). Com o teste histórico concluído, agora observo a estratégia de negociação ao vivo em tempo real. Ele desmorona em tempo real? Muitas estratégias mal construídas sim. É importante que você verifique se o sistema de negociação ainda funciona bem no mercado em tempo real. Isso torna esta etapa muito importante, embora seja extremamente difícil de fazer. Afinal, quem quer passar meses assistindo a um sistema de negociação que acabou de criar, em vez de realmente negociá-lo? Mas a paciência é fundamental e confie em mim quando digo que fazer essa etapa economizará dinheiro a longo prazo. O obstáculo final antes de ativar a estratégia é examiná-la e compará-la com seu portfólio existente. Neste ponto, você deseja garantir que suas estratégias tenham baixa correlação entre si. O QuantAnalyzer ou outro software de análise de dados é ideal para esta tarefa. Negociar 5 estratégias de bitcoin é inútil se elas estiverem altamente correlacionadas. A ideia por trás da negociação de estratégias múltiplas é reduzir o risco por meio da diversificação, não concentrá-lo ou ampliá-lo. Claro, no final do desenvolvimento, se a estratégia passou em todos os testes, é hora de ligá-la e negociar com dinheiro real. Normalmente, isso pode ser automatizado em seu computador ou servidor privado virtual, o que o libera para desenvolver a próxima estratégia. Ao mesmo tempo, porém, você precisa fazer verificações para monitorar as estratégias ao vivo. Isso é crítico, mas felizmente não é uma tarefa complicada. Saber quando desligar uma estratégia de algoritmo malcomportada é uma parte importante de ir ao ar.

Onde você vai daqui?
Se você chegou até aqui, certamente agora tem o básico para começar a negociar algo. Mas o que vem a seguir? O primeiro passo é decidir se algo trading é realmente algo em que você deseja entrar. Supondo que você tenha as habilidades de programação, você também precisa do desejo. Não faça isso porque você tem cifrões em seus olhos. Faça isso pelo desafio de decifrar o código do mercado. Não tente se forçar a negociar algo se isso não parecer apropriado. Uma boa negociação significa não forçar as coisas – sua negociação deve se adequar à sua personalidade, habilidades. Em seguida, se você ainda não o fez, selecione uma plataforma de negociação, aprenda a programar estratégias com ela e comece a desenvolver alguns algoritmos de negociação simples. Examine exemplos de algoritmos e tente modificá-los. A experiência prática com sistemas de negociação de programação é fundamental, então comece o mais rápido possível. Torne-se o mais proficiente possível com o software de negociação e a programação de estratégias. Existem algumas maneiras certas de desenvolver um sistema de negociação de algoritmos e muitas outras maneiras erradas. Eu já compartilhei algumas das boas maneiras, e também algumas das más maneiras. Você pode querer levar algum tempo, fazer algumas pesquisas e procurar especialistas em negociação de algo que compartilhem seus métodos. Apenas tome cuidado, pois a maioria dos educadores são charlatães que só negociam em um simulador. Peça referências de alunos, procure verificação independente de resultados de negociação, etc. Seja cético – sua carreira de algoritmo depende de fazer as coisas corretamente e aprender com o professor correto. Claro, você pode aprender a negociar algo do jeito que eu fiz:


1. Programe um algoritmo, teste minimamente;
2. Negocie ao vivo com dinheiro real;
3. Perca dinheiro quando o algoritmo construído incorretamente desmoronar;
4. Diga a si mesmo que será diferente da próxima vez;
5. Recomece no passo;

1.Pensando bem, não faça do jeito que eu fiz – é muito caro! O próximo passo, uma vez que você tenha um sistema de negociação com o qual se sinta bem, é mergulhar e negociar em pequena escala com dinheiro real. Negociar com dinheiro real muda as coisas. Conheço muitos milionários de negociação simulada, mas muito poucos milionários de negociação com dinheiro real. Embora seja bom começar a negociar com dinheiro real, não negocie muito cedo em sua carreira de algo, especialmente se você tiver capital de negociação limitado. Muitos traders caem nessa armadilha e explodem suas contas antes de realmente entenderem o que está acontecendo. Os mercados sempre estarão aqui, mas você não pode participar a menos que tenha capital para o trading.

Cenário

A etapa final, depois de desenvolver alguns sistemas de negociação e iniciar a negociação ao vivo, é revisar seu desempenho e melhorar. Seja honesto com você mesmo. Se a negociação não estiver indo bem, pergunte a si mesmo o que você pode fazer para melhorar. Pode estar mudando seu processo de desenvolvimento, ou sua abordagem de dimensionamento de posição, ou mesmo apenas negociando em mercados diferentes. A chave é que você deve estar constantemente procurando melhorar. Afinal, há toneladas de novos comerciantes de algo tentando vencê-lo.

Um pensamento final
Para resumir, tenha em mente que a negociação de algo é difícil. Ser um grande desenvolvedor é apenas parte do quebra-cabeça. Mas com as habilidades, o desejo e o processo de desenvolvimento corretos, tornar-se bem-sucedido no desenvolvimento de sistemas de negociação de algo é definitivamente possível.

Acesse nosso site: https://codetrading.com.br/
Fonte: https://kjtradingsystems.com/ultimate-guide-to-algo-trading.html

Share this content:

Os comentários estão fechados.