Codificando seu próprio robô Algo-Trading - KamilTaylan.blog
22 Junho 2021 23:15

Codificando seu próprio robô Algo-Trading

Muitos traders desejam se tornar traders algorítmicos, mas lutam para codificar seus robôs de negociação corretamente. Esses comerciantes frequentemente encontrarão informações de codificação algorítmica desorganizadas e enganosas on-line, bem como falsas promessas de prosperidade durante a noite. No entanto, uma fonte potencial de informações confiáveis ​​é de Lucas Liew, criador do curso de negociação algorítmica online AlgoTrading101. Em agosto de 2020, o curso acumulou mais de 33.000 alunos desde o seu lançamento em outubro de 2014.

O programa de Liew se concentra em apresentar os fundamentos da negociação algorítmica de uma forma organizada. Ele é inflexível quanto ao fato de que a negociação algorítmica “não é um esquema para enriquecimento rápido”. Descrito abaixo estão os princípios básicos do que é necessário para projetar, construir e manter seu próprio robô de negociação  algorítmico (extraído de Liew e seu curso).

O que é um robô comercial?

No nível mais básico, um robô de negociação algorítmico é um código de computador que tem a capacidade de gerar e executar sinais de compra e venda nos mercados financeiros. Os principais componentes de tal robô incluem regras de entrada que sinalizam quando comprar ou vender, regras de saída que indicam quando fechar a posição atual e regras de dimensionamento de posição que definem as quantidades a comprar ou vender.

Principais vantagens

  • Muitos aspirantes a algo-traders têm dificuldade em encontrar a educação ou orientação certa para codificar adequadamente seus robôs de negociação.
  • AlgoTrading101 é uma fonte potencial de instrução confiável e acumulou mais de 33.000 entre seu lançamento de 2014 e agosto de 2020.
  • Um algoritmo de negociação ou robô é um código de computador que identifica oportunidades de compra e venda, com a capacidade de executar as ordens de entrada e saída.
  • Para ser lucrativo, o robô deve identificar eficiências de mercado regulares e persistentes.
  • Embora abundem os exemplos de esquemas de enriquecimento rápido, os aspirantes a comerciantes de algoritmo estão mais bem servidos se tiverem expectativas modestas.

Obviamente, você precisará de um computador e de uma conexão com a Internet para se tornar um operador de algoritmos. Depois disso, um sistema operacional Microsoft Windows ou Mac é necessário para executar o MetaTrader 4 (MT4), que é uma plataforma de negociação eletrônicaque usa a linguagem MetaQuotes 4 (MQL4) para codificar estratégias de negociação. Embora o MT4 não seja o único software que pode ser usado para construir um robô, ele tem uma série de benefícios significativos.

Uma vantagem é que, embora a principal classe de ativos do MT4 seja o câmbio (FX), a plataforma também pode ser usada para negociar ações, índices de ações, commodities e Bitcoin usando contrato por diferenças ( CFDs ). Outros benefícios de usar MT4 (ao contrário de outras plataformas) é que ele é fácil de aprender, tem várias fontes de dados FX disponíveis e é gratuito.

Estratégias de negociação algorítmica

Uma das primeiras etapas no desenvolvimento de uma estratégia de algoritmo é refletir sobre algumas das características principais que toda estratégia de negociação algorítmica deve ter. A estratégia deve ser prudente no mercado, visto que é fundamentalmente sólida do ponto de vista do mercado e da economia. Além disso, o modelo matemático usado no desenvolvimento da estratégia deve ser baseado em métodos estatísticos sólidos.

Em seguida, determine quais informações seu robô pretende capturar. Para ter uma estratégia automatizada, seu robô precisa ser capaz de capturar ineficiências de mercado persistentes e identificáveis. As estratégias de negociação algorítmica seguem um conjunto rígido de regras que tiram vantagem do comportamento do mercado, e a ocorrência de ineficiência do mercado única não é suficiente para construir uma estratégia em torno. Além disso, se a causa da ineficiência do mercado não for identificável, não haverá como saber se o sucesso ou o fracasso da estratégia foi devido ao acaso ou não.

Com o acima em mente, há vários tipos de estratégia para informar o design de seu robô de negociação algorítmico. Isso inclui estratégias que tiram vantagem do seguinte (ou qualquer combinação das mesmas):

  • Notícias macroeconômicas (por exemplo, folha de pagamento não agrícola ou mudanças nas taxas de juros)
  • Análise fundamental (por exemplo, usando dados de receita ou notas de lançamento de lucros)
  • Análise estatística (por exemplo, correlação ou co-integração)
  • Análise técnica (por exemplo, médias móveis)
  • A microestrutura do mercado (por exemplo, arbitragem ou infraestrutura comercial)

A pesquisa preliminar se concentra no desenvolvimento de uma estratégia que se adapte às suas características pessoais. Fatores como perfil de risco pessoal, comprometimento de tempo e capital comercial são importantes para se pensar ao desenvolver uma estratégia. Você pode então começar a identificar as ineficiências de mercado persistentes mencionadas acima. Tendo identificado uma ineficiência de mercado, você pode começar a codificar um robô de negociação adequado às suas características pessoais.

Backtesting e otimização

O backtesting se concentra na validação de seu robô de negociação, o que inclui verificar o código para ter certeza de que está fazendo o que você deseja e entender como a estratégia funciona em diferentes prazos, classes de ativos ou diferentes condições de mercado, especialmente em  eventos do tipo cisne negro, como o Crise financeira de 2007-2008.

Agora que você codificou um robô que funciona, maximize seu desempenho enquanto minimiza a  tendência de sobreajuste. Para maximizar o desempenho, primeiro você precisa selecionar uma boa medida de desempenho que capture os elementos de risco e recompensa, bem como a consistência (por exemplo, índice de Sharpe ). Enquanto isso, um viés de sobreajuste ocorre quando seu robô está muito baseado em dados anteriores; tal robô dará a ilusão de alto desempenho, mas como o futuro nunca se parece completamente com o passado, ele pode realmente falhar.

Execução ao Vivo

Agora você está pronto para começar a usar dinheiro real. No entanto, além de estar preparado para os altos e baixos emocionais que você pode enfrentar, existem alguns problemas técnicos que precisam ser resolvidos. Essas questões incluem a seleção de um corretor apropriado e a implementação de mecanismos para gerenciar riscos de mercado e riscos operacionais, como hackers em potencial e tempo de inatividade de tecnologia.

Principais vantagens

Antes de entrar em operação, os traders podem aprender muito por meio de operações simuladas, que é o processo de praticar uma estratégia usando dados de mercado ao vivo, mas não com dinheiro real.

Também é importante nesta etapa verificar se o desempenho do robô é semelhante ao experimentado no estágio de teste. Finalmente, o monitoramento é necessário para garantir que a eficiência de mercado para a qual o robô foi projetado ainda exista. 

The Bottom Line

Considerando que Richard Dennis, olendário trader de commodities, ensinou a um grupo de alunos suas estratégias pessoais de negociação que então ganharam mais de $ 175 milhões em apenas cinco anos, é plausível que traders inexperientes aprendam um conjunto estrito de diretrizes ese tornem bem-sucedidos.  No entanto, embora existam exemplos extraordinários, os aspirantes a trader definitivamente devem se lembrar de ter expectativas modestas.

Liew enfatiza que a parte mais importante da negociação algorítmica é “entender sob quais tipos de condições de mercado seu robô funcionará e quando ele quebrará” e “entender quando intervir”. A negociação algorítmica pode ser recompensadora, mas a chave para o sucesso é a compreensão; qualquer curso ou professor que prometa altas recompensas sem compreensão suficiente deve ser um grande sinal de alerta para ficar longe.