Monday 9 April 2018

Construa seu próprio sistema de negociação automatizado


Como fazer um robô comercial em nenhum momento.


Para fazer um robô de negociação, você precisa de um sistema de comércio.


Negociar nos mercados financeiros envolve muitos riscos, incluindo o mais crítico - o risco de tomar uma decisão comercial errada. O sonho de todo comerciante é encontrar um robô comercial, que está sempre em boa forma e não sujeito a fraquezas humanas - medo, ganância e impaciência.


Cada recém-chegado quer obter ou criar um sistema de negociação claro e rigoroso que possa ser apresentado sob a forma de algoritmos e se livrar completamente das operações de rotina. É possível?


Um sistema de negociação é uma condição necessária para entrar no mercado e esse sistema deve ser lucrativo, é claro. Quando os recém-chegados chegam ao mercado, geralmente ficam sobrecarregados pela grande massa de informações difíceis de entender. Livros e fóruns de comerciantes podem fornecer alguma ajuda nesse caso.


Infelizmente, nem todos os autores são comerciantes bem-sucedidos e nem todos os traders bem-sucedidos escrevem livros. Muitos recursos web especiais são criados apenas para ganhar lucro para seus proprietários, pois é muito mais difícil negociar seu próprio dinheiro do que emitir previsões e ensinar sistemas de negociação.


Cada comerciante deve passar de forma independente todos os estágios de uma criação do sistema comercial. Há um ditado popular que não importa qual sistema você usa para negociação, o principal é que você deve realmente negociar de acordo com esse sistema. Caso contrário, a negociação no mercado se transforma em uma aposta com um resultado previsível.


Trading Robots e Forex.


Acredita-se que o mercado Forex tenha uma grande liquidez. Além disso, permite negociar 24 horas por dia, ao contrário de muitos outros mercados. Portanto, muitos comerciantes tentam fazer robôs de negociação especialmente para o mercado Forex, uma vez que oferece um grande número de instrumentos de negociação.


No entanto, os céticos afirmam que todos os pares de moedas estão fortemente correlacionados entre si, proporcionando uma volatilidade muito baixa no mercado. Mas seus oponentes respondem que cada par de moedas tem suas próprias características e que a baixa volatilidade é compensada por uma grande alavancagem.


Em qualquer caso, os instrumentos de Forex são atraentes para a criação de robôs de negociação e a maioria dos defensores do comércio automatizado aprimora suas habilidades em pares de moedas.


Os terminais de negociação MetaTrader 4 e MetaTrader 5 são especialmente projetados para desenvolver facilmente sistemas de negociação automatizados, mas ao mesmo tempo sua interface também é conveniente para negociação manual.


Como começar a fazer um robô comercial?


Existem muitas abordagens para construir um sistema de negociação automatizado. Descreveremos apenas algumas das principais.


A primeira abordagem baseia-se em matemática. Um desenvolvedor tenta criar uma espécie de equação que considere muitos fatores. Esta abordagem baseia-se na firme convicção de que os movimentos de preços são gerenciados por um modelo que pode ser encontrado usando os dados históricos disponíveis.


Na maioria dos casos, os seguidores de tal abordagem sabem muito de matemática, mas não sabem nada sobre / não estão interessados ​​no mercado. O mercado é uma abstração pura, um tipo de jogo intelectual para eles. Essa abordagem geralmente leva a muitos anos de estudo e desenvolvimento, enquanto um resultado definido na forma de um sistema de negociação automatizado em funcionamento não é tão importante.


A segunda abordagem é baseada no estudo das leis de mercado. Nenhuma tentativa é feita para entender por que o preço sobe ou desce quando vários números de análise técnica aparecem em um gráfico. A vantagem dessa abordagem é que ela não requer nenhum conhecimento especial de matemática e não faz suposições sobre a força motriz do mercado.


É mais claro e conveniente quando se estuda negociação. É mais popular entre os comerciantes que receberam reconhecimento universal. A desvantagem da abordagem é a necessidade de rastrear constantemente todos os símbolos necessários.


Mais cedo ou mais tarde, um trader começa a considerar a automação de processos de negociação e a questão mais considerável aparece nesse estágio - a complexidade de formalizar regras de negociação ao tentar expressá-las na forma de algoritmos. Em alguns casos, os operadores que tentam encomendar um robô comercial não podem descrever as regras de negociação e encontrar pontos em comum com os programadores.


A terceira abordagem baseia-se na tentativa de criar uma "caixa preta" baseada em redes neurais com o uso das ferramentas pré-fabricadas amplamente disponíveis em pacotes especiais de software e matemática. A criação de um sistema de negociação automatizado com os elementos da inteligência artificial é uma tarefa empolgante e desafiadora, mesmo para os recém-chegados, já que não requer conhecimento profundo em matemática nem experiência em programação - tudo é feito usando recursos visuais.


Um comerciante deve conhecer os conceitos básicos de indicadores técnicos, possuir uma capacidade para preparar dados de preços necessários e experiência em algum pacote definido para trabalhar com redes neurais. A principal desvantagem dessa abordagem é que um robô de negociação obtido usando essas ferramentas especializadas para trabalhar com redes neurais é, na verdade, uma "caixa preta". Os comerciantes não conhecem seus princípios de funcionamento e, geralmente, é impossível prever qual fase do mercado será a mais problemática para o robô.


Os programadores geralmente escolhem a quarta abordagem - eles começam a fazer um robô de negociação desde o começo sem gastar tempo para negociação manual. Por que negociar manualmente? Você pode fazer um robô passar alguns meses e colher os benefícios dos seus esforços, então.


Mas «sem dores, sem ganhos». Na maioria dos casos, os programadores começam a criar toda a infra-estrutura necessária usando uma linguagem de programação familiar em vez de apenas fazer um robô comercial - obter e processar dados de preços, representação visual de gráficos e indicadores, meios personalizados de testar estratégias em dados históricos e assim por diante.


Eles ganham muita experiência no processo. Mas na maioria dos casos, essa experiência não os aproxima do objetivo final - a criação de um sistema de negociação automatizado. E mesmo que um robô comercial seja criado, não há garantias de que ele será lucrativo. E se um programador quiser escrever outro sistema de negociação? Reestruturação profunda e novos erros de programação são inevitáveis.


Há também a quinta abordagem - comprar um sistema de negociação pronto na forma de um robô comercial. Neste caso, um comerciante atua como um operador ou um sintonizador. Essa abordagem economiza muito tempo (não é necessário aprender muitas coisas novas) e permite que os operadores entrem rapidamente no mundo da negociação automatizada.


A principal desvantagem desta abordagem decorre de suas vantagens: você não conhece os princípios de operação do seu robô comercial e sua estrutura. E mesmo que um vendedor forneça uma descrição detalhada do sistema de negociação implementado, você nunca terá certeza disso.


No entanto, nenhuma das abordagens mencionadas pode lhe dar garantia absoluta, exceto um depósito bancário. Mas essa não é uma solução muito adequada para pessoas interessadas em negociação no mercado e maneiras de aumentar seus ativos privados.


Qual é a melhor abordagem para o comércio automatizado para um comerciante?


Cada uma das cinco abordagens descritas tem suas vantagens e corresponde a algum tipo definido de comerciante. É improvável que você escolha a primeira abordagem (descrição analítica do mercado) sem um bom histórico matemático. É igualmente improvável que você comece a fazer robôs comerciais baseados em redes neurais. No entanto, essas duas abordagens são muito estimulantes e proporcionam um bom exercício intelectual.


Abaixo, discutiremos apenas a segunda abordagem, que já é considerada a clássica. Essa é a abordagem geralmente escolhida pelos novos seguidores da negociação automatizada, já que a análise técnica continua sendo a principal área de conhecimento ao aprender noções básicas de negociação.


Outra vantagem da segunda abordagem é que depois de gastar algum tempo para negociação manual e obter o senso de mercado, você já terá uma boa compreensão das ferramentas de análise técnica. Além disso, você poderá programar estratégias de negociação ou criar redes neurais em um nível superior.


Os primeiros passos para fazer um robô comercial.


Para criar um sistema de negociação automatizado, você precisa de habilidades de programação e conhecimento de todos os meandros do processamento de solicitações comerciais. Mas, em primeiro lugar, você pode começar com os Expert Advisors, fabricados em linha, negociando robôs da biblioteca gratuita do Code Base.


Faça o download de qualquer Expert Advisor (robô de negociação) e lance-o nos terminais de cliente do Strategy Tester do MetaTrader 4 ou MetaTrader 5. Selecione um intervalo de histórico mostrando uma tendência forte e um intervalo com um plano. Execute a otimização de um parâmetro de entrada do Expert Advisor e examine suas diferenças nesses dois intervalos.


Inicie um Expert Advisor com os parâmetros ideais para um plano em um intervalo de tendência e com os parâmetros ideais para uma tendência em um intervalo simples. Examine as diferenças nos resultados de negociação, distribuições de ofertas e outros parâmetros estatísticos. Como resultado, você saberá quanto o comportamento do seu sistema de negociação pode variar quando a situação do mercado mudar.


Seria melhor tentar várias estratégias de negociação padrão usando este método em diferentes partes da história e vários símbolos. Tal teste impede a instalação de um sistema de negociação para algum intervalo histórico definido e fornece uma melhor compreensão dos sistemas de tendência e de tendência contrária.


O próximo passo seria criar sistemas de negociação mais complexos com base na combinação de sinais simples já existentes do MQL5 Wizard set. Você pode testar e desenvolver sua intuição comercial, classificando sinais ruins de um sistema usando um filtro baseado em outro sistema sem meios de programação.


O principal aqui é não superar demais. Quanto mais os parâmetros de entrada que um sistema de negociação tem, mais fácil será montar. Houve muitas discussões sobre as diferenças entre otimização e adaptação. Não há soluções amplamente aceitas aqui. Mas a visualização dos resultados de teste / otimização e seu próprio bom senso podem ajudá-lo.


Aprenda a identificar os parâmetros de entrada mais críticos que afetam seu sistema de negociação de todo o conjunto de dados de entrada. Não preste muita atenção aos parâmetros secundários que levam tempo durante a otimização, mas não afetam a própria lógica do sistema. Lembre-se de que um bom sistema de negociação sempre demonstra um pequeno movimento livre de parâmetros secundários, mas não apresenta volatilidade dramática no caso de mudanças no mercado insignificantes.


Você pode gastar tanto tempo nesta fase, como desejar, até ter certeza de que pode entender qualquer estratégia de negociação examinando resultados de teste e otimização. O conhecimento dos pontos fortes e fracos dos sistemas padrão permitirá que você esteja mais bem preparado ao criar seu próprio robô comercial.


Programando um robô de negociação.


Suponha que você tenha aprendido / esteja aprendendo a linguagem de programação MQL4 ou MQL5 e agora você está pronto para escrever seu primeiro Expert Advisor para o terminal do cliente MetaTrader. Vários casos são possíveis aqui.


Primeiro, você pode examinar vários robôs comerciais prontos descritos nos artigos para entender melhor as complexidades de programação.


Segundo, você pode fazer perguntas sobre MQL4munity ou MQL5munity, se tiver algum problema não resolvido. Participantes experientes da comunidade geralmente ajudam os recém-chegados a mostrar sincero interesse pelo assunto.


Terceiro, você pode solicitar a melhoria ou o desenvolvimento de um Expert Advisor ou um indicador no serviço Jobs, caso não seja capaz de criar um programa necessário por conta própria. Mas mesmo que você faça um pedido por meio do serviço freelancer, você deve ter alguma idéia sobre o teste de estratégia para encontrar um idioma comum com um desenvolvedor.


Além disso, o conhecimento básico de uma linguagem de programação permite implementar pequenas correções e alterações no código depois que o trabalho já foi concluído. Afinal, não seria muito conveniente chamar um programador para corrigir todos os pequenos problemas que você encontrar. Seria muito mais fácil e rápido corrigi-lo sozinho.


Não há necessidade de reinventar a roda.


Como encontrar sua própria estratégia de negociação, ou pelo menos em que direção você deve focar sua busca? Todos os comerciantes protegem seus próprios sistemas de negociação, se tiverem um. Todos os recém-chegados querem criar um sistema lucrativo ou obter um sistema pronto. Ao mesmo tempo, qualquer solução obtida parece ser muito simples em comparação com as idéias dos recém-chegados sobre um sistema de comércio genuíno.


Os homens do exército em todo o mundo são propensos a níveis excessivos de sigilo. Há muitas piadas sobre isso, incluindo a seguinte: "O segredo militar não está no que você está estudando, - um oficial diz aos estudantes das escolas militares, - mas no fato de que exatamente você está estudando isso". A situação dos sistemas de negociação é semelhante: a maioria dos traders usa idéias de negociação simples e conhecidas com pequenas modificações, por exemplo, adicionando o Trailing Stop ou confirmações de indicadores de tendência.


Existem muitos fóruns de traders com acesso limitado, onde os participantes unem seus esforços para desenvolver ou melhorar alguns sistemas de negociação secretos. O mais interessante é que esses sistemas não contêm nada de especial. Geralmente, uma idéia bem conhecida (como "comércio com a tendência") é usada como base. Em seguida, ele é aperfeiçoado com alguns novos indicadores desconhecidos do público em geral.


Portanto, você pode facilmente obter códigos de código de robô comercial disponíveis e tentar usá-los corretamente com vários símbolos e prazos. Outro exemplo popular pode ser mencionado aqui: "Você não gosta de gatos? Você simplesmente não sabe como cozinhar!" É difícil acreditar, mas a probabilidade de você desenvolver algo realmente novo é muito pequena. O principal aqui é criar um sistema usando os ingredientes disponíveis. Não pense que alguns gênios tenham acesso a alguns sistemas secretos dos laboratórios da NASA. Esse é o segredo do Graal.


Apenas alguns poucos conseguirão passar.


Então, por que ninguém usa idéias de negociação, se elas estão literalmente ao alcance da mão? A resposta provavelmente está na psicologia humana. O pessoal de muitos bancos e grandes fundos de investimento inclui comerciantes realizando acordos de acordo com regras estritas e dentro de volumes limitados. Mas, por alguns motivos, apenas alguns traders institucionais deixam suas empresas e começam a negociar usando seu próprio dinheiro.


Acontece que você precisa não apenas de uma estratégia de negociação, mas também da disciplina de ferro para segui-la. Muitos comerciantes descobriram com pesar que eles também têm os mesmos problemas psicológicos descritos nos livros. Depois de perceber que o pior inimigo dos comerciantes são eles mesmos, um recém-chegado começa a pensar em fazer um robô comercial para eliminar um fardo psicológico.


Embora eu me desvie um pouco do assunto, devo mencionar os lendários comerciantes de tartarugas que negociaram com êxito em múltiplos mercados no final do século XX. Leia "Way of the Turtle" e você verá que a coisa mais importante para um trader é uma autodisciplina e não um sistema secreto. Infelizmente, a maioria dos recém-chegados não será capaz de seguir uma estratégia lucrativa, mesmo que seja gratuita.


O problema é que a maioria das estratégias de negociação perfeitamente ajustadas para o comércio manual dificilmente podem ser formalizadas e transcritas para uma linguagem de programação. As estratégias que podem ser facilmente formalizadas (por exemplo, aquelas que envolvem a intersecção de duas médias móveis) são muito simples e exigem muitos refinamentos e melhorias, para que possam ser usadas na prática. Assim, uma ideia simples é gradualmente complicada por uma abundância de parâmetros externos que impedem um robô de negociação de entradas falsas e erros claramente visíveis para um desenvolvedor. Um problema de otimização de robôs de negociação surge. Esse processo não deve se transformar em uma otimização excessiva e em um intervalo de histórico específico.


Para resolver este problema, o teste direto usando os parâmetros do sistema obtidos foi implementado no terminal MetaTrader 5. Se os resultados dos testes forward não diferirem significativamente daqueles obtidos na seção de otimização, há uma probabilidade de que um robô comercial fique estável o suficiente por algum tempo após seu lançamento em uma conta de negociação. Um intervalo de tempo para a otimização de parâmetros e um valor real de "algum tempo" dependem de um determinado sistema de negociação.


Assim, a otimização de um robô de negociação antes de lançá-lo em uma conta de negociação lembra o desenrolar de um sling - quanto mais cuidadosamente desenrolamos um projétil do sling, mais ele voará e mais precisa será sua trajetória. Um robô de negociação completamente desenvolvido manterá um resultado positivo em uma conta de negociação por mais tempo do que um robô de negociação obtido como resultado de um ajuste. Podemos dizer que o Grail é uma idéia de trabalho e ajuste correto dos parâmetros realizados de tempos em tempos nos momentos de mudanças nas condições do mercado.


Isto pode ser ilustrado pelos resultados do Campeonato de Negociação Automatizada, que já existe há muitos anos. Os Expert Advisors enviados por todos os participantes passam por testes automáticos no intervalo de tempo de janeiro até o final de julho. O principal requisito para passar o teste automático é um lucro obtido por oito meses de teste. Mas menos de metade dos robôs de negociação admitidos para o Campeonato continuam lucrativos depois de meses de trabalho autônomo.


Você também pode testar suas habilidades para fazer e ajustar seu robô de negociação para participar do Campeonato e obter os resultados dos testes avançados do seu Expert Advisor. Além disso, a participação é gratuita e os prêmios são impressionantes. Esperamos ver você lá!


Conclusão.


Comerciantes profissionais intraday passam muitas horas sentados em seus computadores e esperando o momento certo para fazer um acordo. Claro, eles não podem estar em boa forma o tempo todo.


A maioria dos comerciantes chega à conclusão de que suas ações violam suas próprias regras de negociação. Nem todos os sistemas de negociação podem ser completamente formalizados, mas mesmo esses sistemas podem, na maioria dos casos, adotar ferramentas adicionais, como indicadores, sistemas analíticos e filtros de sinais falsos.


Nós não fazemos nenhuma recomendação especial aqui sobre o aprendizado de linguagens MQL4 ou MQL5, pois há muitos outros artigos úteis sobre esse assunto. O objetivo deste artigo foi fornecer uma idéia inicial sobre como começar a fazer seu robô comercial para os terminais MetaTrader 4 e MetaTrader 5.


Esperamos que este artigo economize tempo para os recém-chegados e mostre a direção certa na difícil tarefa de desenvolver um sistema de negociação automatizado.


Traduzido do russo por MetaQuotes Software Corp.


Como codificar seu próprio robô de negociação Algo.


Sempre quis se tornar um operador algorítmico com a capacidade de codificar seu próprio robô comercial? E, no entanto, você está frustrado com a quantidade de informações desorganizadas e enganosas e falsas promessas de prosperidade durante a noite? Bem, Lucas Liew, criador do curso de comércio on-line algorítmico AlgoTrading101, pode ter a solução para você. Tendo excelentes avaliações e conquistando mais de 8.000 alunos desde o seu primeiro lançamento em outubro de 2014, o curso da Liew - destinado a apresentar os fundamentos do comércio algorítmico de forma organizada - está se mostrando bastante popular. Ele é inflexível sobre o fato de que a negociação algorítmica é "não um esquema rápido e rápido". Com base em idéias de Liew e seu curso, delineadas abaixo estão os fundamentos do que é preciso para projetar, construir e manter seu próprio robô de negociação algorítmica .


O que um robô de negociação algorítmico é e faz.


No nível mais básico, um robô de negociação algorítmica é um código de computador que tem a capacidade de gerar e executar sinais de compra e venda nos mercados financeiros. Os principais componentes desse 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 serem compradas ou vendidas. (Para mais, veja: Noções básicas de negociação algorítmica: conceitos e exemplos.)


As principais ferramentas.


Obviamente, você vai precisar de um computador e uma conexão com a Internet. Depois disso, será necessário um sistema operacional Windows ou Mac para executar o MetaTrader 4 (MT4) - uma plataforma de negociação eletrônica que usa a MetaQuotes Language 4 (MQL4) para codificar estratégias de negociação. Embora o MT4 não seja o único software que se poderia usar para construir um robô, ele tem vários benefícios significativos.


Enquanto a principal classe de ativos do MT4 é o câmbio (FX), a plataforma pode ser usada para negociar ações, índices de ações, commodities e Bitcoins usando CFDs. Outros benefícios do uso do MT4, em oposição a outras plataformas, incluem ser fáceis de aprender, várias fontes de dados de FX disponíveis e são gratuitos. Infelizmente, o MT4 não permite a negociação direta em mercados de ações e futuros e a realização de análises estatísticas pode ser onerosa; no entanto, o MS Excel pode ser usado como uma ferramenta estatística suplementar.


Estratégias de negociação algorítmica.


É importante começar por refletir sobre alguns traços essenciais que toda estratégia de negociação algorítmica deve ter. A estratégia deve ser prudente no mercado em que é fundamentalmente sólida do ponto de vista do mercado e econômico. 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, é crucial determinar quais informações o 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 se aproveitam do comportamento do mercado e, portanto, a ocorrência de uma ineficiência de mercado única não é suficiente para construir uma estratégia. Além disso, se a causa da ineficiência do mercado não for identificável, então não haverá como saber se o sucesso ou o fracasso da estratégia se deveu ao acaso ou não.


Com o acima em mente, há vários tipos de estratégia para informar o design do seu robô de negociação algorítmica. Estas incluem estratégias que aproveitam (i) notícias macroeconômicas (por exemplo, folha de pagamento não agrícola ou mudanças na taxa de juros); (ii) análise fundamental (por exemplo, usando dados de receita ou notas de lançamento de lucros); (iii) análise estatística (por exemplo, correlação ou co-integração); (iv) análise técnica (por exemplo, médias móveis); (v) a microestrutura de mercado (por exemplo, infraestrutura de arbitragem ou comércio); ou (vi) qualquer combinação dos itens acima. (Para leitura relacionada, consulte: O que é eficiência de mercado?)


Projetando e testando seu robô.


Existem basicamente quatro etapas necessárias para criar e gerenciar um robô comercial:


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


Backtesting: Esta etapa se concentra em validar seu robô comercial. Isso inclui verificar o código para certificar-se de que ele está fazendo o que deseja e entender como ele funciona em diferentes períodos de tempo, classes de ativos ou condições de mercado diferentes, especialmente em eventos do tipo cisne negro, como a crise financeira global de 2008.


Otimização: Então, agora você codificou um robô que funciona e, nesta fase, você deseja maximizar seu desempenho ao mesmo tempo em que minimiza o viés de superposição. Para maximizar o desempenho, você primeiro precisa selecionar uma boa medida de desempenho que capture os elementos de risco e recompensa, bem como a consistência (por exemplo, o índice de Sharpe). O viés de sobrecurso ocorre quando o robô está muito próximo dos dados do passado; esse robô vai 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 experimentar, existem alguns problemas técnicos que precisam ser abordados. Esses problemas incluem a seleção de um corretor apropriado e a implementação de mecanismos para gerenciar os riscos de mercado e os riscos operacionais, como possíveis hackers e o tempo de inatividade da tecnologia. Também é importante nesta etapa verificar se o desempenho do robô é semelhante ao experimentado no estágio de teste. Finalmente, o monitoramento contínuo é necessário para garantir que a eficiência do mercado que o robô foi projetado ainda existe. (Para mais, veja: Como os Algoritmos de Negociação são Criados.)


The Bottom Line.


Considerando que Richard Dennis, o lendário comerciante de commodities, ensinou a um grupo de estudantes suas estratégias de negociação pessoais que depois ganharam mais de US $ 175 milhões em apenas cinco anos, é completamente possível que traders inexperientes recebam um conjunto estrito de diretrizes e se tornem comerciantes bem sucedidos. No entanto, este é um exemplo extraordinário e os iniciantes definitivamente devem se lembrar de ter expectativas modestas.


Para ser bem sucedido, é importante não apenas seguir um conjunto de diretrizes, mas também entender como essas diretrizes estão funcionando. Liew salienta que a parte mais importante da negociação algorítmica é “entender em que tipos de condições de mercado seu robô irá funcionar e quando ele irá quebrar” e “entender quando intervir”. O comércio algorítmico pode ser recompensador, mas a chave para o sucesso é compreensão. Qualquer curso ou professor prometendo altas recompensas com o mínimo de entendimento deve ser um grande sinal de alerta.


Como construir sua própria estratégia de negociação algorítmica.


Estratégia de Negociação Algorítmica.


Toda semana recebemos inúmeros e-mails nos perguntando como criamos nossa lucrativa estratégia de negociação algorítmica.


Em vez de tentar explicar nosso processo e raciocinar repetidamente por meio de e-mails e telefonemas, decidimos criar um vídeo detalhado sobre os 4 maiores obstáculos que os traders enfrentam e como você pode criar sua própria estratégia de negociação algorítmica lucrativa.


Seu objetivo como comerciante é criar ou pelo menos usar uma estratégia de negociação vencedora. Não importa se você o troca manualmente ou se é uma estratégia de negociação automatizada. Mas se acontecer de você criar algo que gere dinheiro, é natural que você se concentre em automatizá-lo para ter sua própria estratégia de negociação algorítmica funcionando e funcionando para você, enquanto você constrói sua próxima estratégia de negociação de algoritmos & # 8230;


Ao longo dos anos, gastei dezenas de milhares de dólares tentando descobrir quais são as chaves da estratégia comercial bem-sucedida. Quero compartilhar com você como eu construo estratégias lucrativas de negociação algorítmica que funcionam em mercados ascendentes, em queda e paralelos.


Como eu construí uma estratégia rentável de negociação algorítmica & amp; Como você também pode.


Deixe-me compartilhar com você minha jornada como operador na ordem em que as coisas acontecem comigo e como me tornei um usuário de estratégia de negociação algorítmica em tempo integral. Assista ao vídeo abaixo para detalhes e oferta especial.


A estratégia de negociação algorítmica alcança nova marca d'água de 30,7% de ROI & # 8211; Comunicado de imprensa.


Compartilhe esta entrada.


Melhore sua negociação e aumente os lucros.


Technical Traders Ltd. ajuda você a identificar e lucrar mais com sua negociação. Como? Ao fornecer-lhe configurações de comércio verificado e notificações em tempo real.


Chris Vermeulen em Benzinga PreMarket TV Show & # 8211; Negociação automatizada.


Desempenho de Estratégias de Negociação Algorítmica & # 038; Educação do investidor.


Codificação de Sistemas de Negociação.


Por Justin Kuepper.


Como os sistemas de negociação automatizados são criados?


Este tutorial se concentrará na segunda e na terceira partes deste processo, onde suas regras são convertidas em um código que seu software de negociação pode entender e usar.


Vantagens e desvantagens.


Um sistema automatizado tira a emoção e o trabalho ocupado da negociação, o que permite que você se concentre em melhorar suas regras de estratégia e gerenciamento de dinheiro. Uma vez que um sistema lucrativo é desenvolvido, ele não requer nenhum trabalho de sua parte até que ele quebre, ou as condições do mercado exigem uma mudança. Desvantagens:


Se o sistema não estiver corretamente codificado e testado, grandes perdas podem ocorrer muito rapidamente. Às vezes é impossível colocar certas regras no código, o que dificulta o desenvolvimento de um sistema de negociação automatizado. Neste tutorial, você aprenderá como planejar e projetar um sistema de negociação automatizado, como converter esse design em código que seu computador entenderá, como testar seu plano para garantir o desempenho ideal e, finalmente, como colocar seu sistema em uso.


Começando: Construindo um Sistema de Negociação Totalmente Automatizado.


Nos últimos 6 meses, tenho focado no processo de construção da pilha completa de tecnologia de um sistema de negociação automatizado. Eu me deparei com muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorised e Event driven). Na minha jornada para construir um backtester orientado a eventos, veio a minha surpresa que o que você iria acabar é perto de toda a pilha de tecnologia necessária para construir uma estratégia, fazer backtest e executar a execução ao vivo.


Meu maior problema ao enfrentar o problema foi a falta de conhecimento. Procurei em muitos lugares uma introdução à construção da tecnologia ou um blog que me orientasse. Eu encontrei alguns recursos que vou compartilhar com vocês hoje.


Para iniciantes:


Para os leitores novatos em negociações quantitativas, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: Como construir seu próprio negócio de comércio algorítmico. Este livro é o básico. Na verdade, é o primeiro livro que li sobre negociação quantitativa e mesmo assim achei muito básico, mas há algumas notas que você deve tomar.


Da página 81-84 Ernie escreve sobre como, no nível de varejo, uma arquitetura de sistema pode ser dividida em estratégias semi-automatizadas e totalmente automatizadas.


Um sistema semi-automatizado é adequado se você quiser fazer algumas transações por semana. Ernie recomenda usar o Matlab, R ou até mesmo o Excel. Eu usei todas as 3 plataformas e este é o meu conselho:


Saltar do Matlab, custou muito dinheiro e só consegui acesso aos laboratórios da universidade. Não há muito material de treinamento como blogs ou livros que ensinem como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode utilizar para aprender como construir uma estratégia. Meu blog favorito cobrindo o tópico é: QuantStratTradeR é ​​executado por Ilya Kipnis. É mais provável que o Microsoft Excel inicie onde você não tem experiência em programação. Você pode usar o Excel para negociações semi-automáticas, mas isso não vai funcionar quando se trata de construir a pilha completa de tecnologias.


Estrutura semiautomática pg 81.


Sistemas de negociação totalmente automatizados são para quando você deseja colocar automaticamente as negociações com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, o QuantConnect também usa o C #, o QuantStart orienta o leitor através da construção em Python, o Quantopian usa o Python, o HFT provavelmente usará o C ++. Java também é popular.


Estrutura de negociação completamente automatizada página 84.


Passo 1: Conseguir um bom começo.


Faça o Programa Executivo em Algorithmic Trading oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Teria me poupado cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam através de cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de um de seus slides usados ​​na apresentação:


Você também pode usar essa estrutura geral ao avaliar outros sistemas de negociação automáticos.


No momento em que escrevo, estou apenas na terceira semana de palestras, mas estou confiante de que um praticante será capaz de construir uma estratégia comercial totalmente automatizada que poderia, com um pouco de refinamento, ser transformada no começo de um fundo de hedge quantitativo. .


Nota: o curso não está focado na construção da pilha de tecnologia.


Etapa 2: codifique um backtester baseado em eventos básicos.


Blog de Michael Hallsmore, quantstart & amp; livro “Negociação Algorítmica Bem Sucedida”


Este livro tem seções dedicadas à construção de um robusto backtester orientado a eventos. Ele orienta o leitor através de vários capítulos que explicarão sua escolha de idioma, os diferentes tipos de backtesting, a importância do backtesting orientado a eventos e como codificar o backtester.


Michael introduz o leitor às diferentes classes necessárias em um projeto orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de títulos. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.


Nota: Você precisará comprar o livro dele: “Successful Algorithmic Trading”, seu blog deixa de fora muita informação.


Passo 3: Volte para o TuringFinance.


O programa EPAT Reading “Successful Algorithmic Trading” & amp; codificando um backtester em um idioma diferente de sua escolha.


Você deve ir para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em seu post ele descreve a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42010 e padrão de descrição de arquitetura de engenharia de software.


Eu achei este post muito técnico e tem algumas ótimas idéias que você deve incorporar em sua própria arquitetura.


Uma captura de tela de seu post.


Etapa 4: Estude os sistemas de negociação de código aberto.


4.1) Quantopian.


Escusado será dizer que Quantopian deve ser adicionado a esta lista e tenho vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de idioma). Quantopian tem muitas vantagens, mas as que mais se destacam para mim são as seguintes:


Fácil de aprender Python Acesso gratuito a muitos conjuntos de dados Uma grande comunidade e competições Eu amo como eles hospedam a QuantCon!


Quantopian é os líderes de mercado neste campo e é amado por todos os quants! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:


“O Zipline é o nosso mecanismo de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de código no Github e contribuir com solicitações de pull para o projeto. Há um grupo do Google disponível para procurar ajuda e facilitar discussões. ”


Aqui está um link para sua documentação:


4.2) QuantConnect.


Para aqueles que não estão familiarizados com o QuantConnect, eles fornecem um mecanismo completo de negociação algorítmica de código aberto. Aqui está um link.


Você deve dar uma olhada no código deles, estudá-lo, & amp; dê-lhes louvor. Eles são competição de quantopianos.


Eu gostaria de aproveitar esta oportunidade para agradecer à equipe da QuantConnect por me deixar escolher o cérebro deles e pelo serviço brilhante que eles oferecem.


Aqui está um link para sua documentação:


Observações finais:


Espero que este guia ajude os membros da comunidade. Eu gostaria de ter essa percepção 6 meses atrás quando comecei a codificar nosso sistema.


Eu gostaria de falar com a comunidade e perguntar: “Que bons cursos de negociação algorítmica você conhece?” Eu gostaria de escrever um post que analise o tópico e forneça uma classificação. Há alguma recomendação para criar um sistema de negociação totalmente automatizado que você gostaria de adicionar a este post?


Compartilhar isso:


Compartilhe esta entrada.


Você pode gostar também.


Bom artigo. Eu gostaria de ter cerca de 6 meses atrás. Eu uso QuantConnect porque eu sou um programador C #. Eu achei muito conveniente para poder baixar o teste de Lean e voltar localmente. Vasculhar seu código também é valioso. Eles também fizeram um acordo com a Tradier para negociações de US $ 1. Isso ajuda muito. Eu não sou tão saliente sobre os spreads e a execução do Tradier. O IB pode ser melhor para isso.


Vou dar uma olhada no curso que você mencionou.


Você não mencionou Quantocracy ou RBloggers. Ambos são recursos muito valiosos.


O que você usa para mapear os resultados dos testes de volta? Eu registro OHLC e valores de indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar resultados. Eu gostaria de poder apontar um pacote de gráficos para um arquivo de dados e tê-lo apenas ir.


Você já tem um fornecedor de fluxo de ticks?


Eu tenho um pensamento sobre sistemas orientados a eventos. O problema com os eventos é que eles são assíncronos e latentes. Parece que eles são inevitáveis ​​assim que você começa uma corretora envolvida, então eu tenho sonhado com um sistema mais streaming seguindo os princípios da programação funcional.


& # 8211; Injest um fluxo de carrapato ou bar.


& # 8211; Execute-o através de um processo de cálculo de indicadores, execução de análise ou ML e assim por diante.


& # 8211; Receba de volta um sinal.


& # 8211; Envie para o corretor para executar.


Então, em um fluxo separado.


& # 8211; Receba de volta uma resposta do corretor.


O problema, claro, é o estado. Eu tenho margem suficiente para fazer o trade? O que tem no meu portfólio? Como está se saindo? Geralmente, o broker api pode ser consultado para descobrir essas coisas, mas isso leva tempo e é assíncrono. Eu também estou olhando para extensões de Rx. Dessa forma, o sistema pode reagir a mudanças no sistema através do padrão observável.


Eventos são ótimos para cliques do mouse. Não é tão bom para processamento transacional de alto volume.


Esta é exatamente a abordagem que eu fiz com minhas próprias coisas. Essencialmente eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é acionada por eventos para falar com o intermediário (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter estado do corretor, ou armazená-lo internamente atualizá-lo quando você receber um preenchimento de volta. Isso significa que há momentos em que você não conhece seu estado ou quando as duas fontes de estado estão potencialmente em conflito (dados incorretos ou atrasos). Parte disso depende da rapidez com que você negocia. A menos que você esteja negociando muito rapidamente, em seguida, pausar se você tiver um conflito de estado, ou você está incerto do estado, é melhor do que prosseguir sem conhecer o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.


Em relação a quase tudo o que você pediu, você está próximo da resposta em Reative Extension (Rx).


Com Rx indo de carrapatos para velas é trivial.


Indo de velas para indicadores é trivial.


Compor indicadores de outros indicadores é trivial.


Compor posições de indicadores é trivial.


Compor portfólios (como realizados ao longo do tempo) a partir de posições é trivial.


Simular o Modelo de Risco é trivial.


Voltar teste ou negociação ao vivo é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.


A execução é trivial.


A implementação é possível em tudo, de C # a F #, a JavaScript e C ++ em código quase idêntico.


A otimização é feita rapidamente porque o Rx puramente funcional é amplamente paralisável para a GPU.


É verdade que a otimização e a alimentação do efeito da otimização contínua de volta ao back-test não é trivial, mas, dado que é não-trivial de qualquer maneira, eu vou deixar que isso deslize 😉


Puramente Funcional (ou próximo a ele) Rx é, na minha opinião, a única maneira de lidar com a infra-estrutura desse problema.


Eu conheço o sistema que quero negociar. Eu não quero programar ou aprender algo que alguém já conhece. Então, quem posso contratar para pegar o sistema que eu quero usar e automatizá-lo. Ao automatizá-lo, quero dizer, não quero olhar para ele. Vou dar uma olhada nos resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2016, seja preciso muito esforço para tomar um conjunto de regras e executar essas regras no meu corretor.


Eu sugiro inscrever-se com o Quantopian e, em seguida, encontrar alguém dentro da comunidade para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma de corretores IB e serão totalmente automatizados.


Deixe-me dizer, porém, que eu acho que você deve monitorá-lo de perto, e não apenas esquecê-lo para o & # 8221 ;.


Como construir um robô de negociação automatizado no Excel.


Aprenda a usar o Visual Basic no Excel para automatizar sua negociação de ações com Interactive Brokers. Inclui sistema de negociação Ranger 1.0.


Neste curso de Peter Titus, você aprenderá como criar automação comercial no Excel, o software de planilha mais popular no mercado. No Excel, não há limites para o que você pode construir. Você está limitado apenas pela sua imaginação!


Eu estava procurando uma maneira de automatizar meus sistemas de negociação com Interactive Brokers e não conseguia encontrar nada de substância. Até que me deparei com esse treinamento de Peter Titus. Peter é um excelente operador e este curso detalha tudo o que você precisa para começar a criar sistemas de negociação automatizados no Excel. Ele ainda fornece seu próprio sistema comercial Ranger 1.0 para você começar. Obrigado Peter!


O curso é construído em torno do aprendizado do Visual Basic para aplicações (VBA) e nós examinaremos uma versão simplificada do sistema que construí para negociação chamado Ranger 1.0.


Usaremos esse sistema como um exemplo para mostrar como construir sua própria automação e como conectar tudo com a API Interactive Brokers.


Após a inscrição, você poderá baixar uma cópia do Ranger 1.0 para seu próprio uso. No final do curso, você entenderá o código que executa o Ranger 1.0 e poderá personalizá-lo para adequá-lo às suas ideias. Você também poderá usar o que aprendeu para construir seu próprio sistema automatizado desde o início, se for o que você escolher fazer.


O foco deste curso é negociar ações. É possível negociar futuros, moedas, opções e títulos através do Ranger 1.0, mas os exemplos sobre como negociar estes não são abordados em detalhes.


No final deste curso, você terá conhecimento suficiente no Visual Basic para poder criar sua própria automação personalizada para negociar o que quiser, da maneira que quiser.


O céu é realmente o limite. Com o Excel, você realmente pode construir praticamente qualquer coisa que possa imaginar.


Este curso irá ajudá-lo a começar a usar o Visual Basic, mesmo que você nunca tenha escrito nenhum código antes.


Você aprenderá como automatizar o ciclo de vida da ordem, como construir timers, reproduzir sons, gravar dados ao vivo, fazer backtesting e até mesmo como construir uma AI de tomada de decisão!


Finalmente, vou orientá-lo em tudo que você precisa saber para configurar uma conta com Interactive Brokers, como configurar a API do Excel e como negociar usando uma conta de negociação "Papel" simulada.


Uma conta da Interactive Brokers é necessária para receber dados de transmissão ao vivo e para enviar pedidos, mas mesmo se você não tiver uma conta, mostrarei como obter dados históricos do Excel que você pode fazer backtesting imediatamente e até mesmo obter começou com um sistema de negociação (que você pode otimizar ainda mais) que já é rentável!


Captura de tela do robô comercial do Excel Ranger 1.0 em ação. Aprenda a construir seu próprio completamente do zero.


O que eu vou conseguir desse curso?


42 lecutres e 4,5 horas de conteúdo em vídeo Aprenda a negociar e gerar renda extra mesmo quando estiver longe do computador Entenda os princípios básicos da API do Interactors Excel Saiba como criar automação por meio de subprocessos no Visual Basic Seja capaz de automatizar qualquer Tarefa de planilha com VBA Saiba como importar dados e fazer backtesting no Excel Comece com um sistema de negociação básico que já é lucrativo Baixe sua própria cópia do Ranger 1.0 Use o Ranger 1.0 para automatizar sua própria negociação imediatamente Entenda o código no Ranger 1.0 e seja capaz de personalizá-lo para caber suas próprias idéias Adicione suas próprias funções e algoritmos para Ranger 1.0 Como importar dados e fazer back-testing no Excel Como registrar automaticamente dados de negociação e automatizar procedimentos de configuração Como construir uma AI de tomada de decisão no Excel que pensa como um humano Como rodar seu sistema em modo automático ou manual Como manter seus pedidos escondidos do mercado com gerenciamento de pedidos Como configurar alertas de negociação, temporizadores e assim unds Construa SEU PRÓPRIO sistema de negociação automatizado no Excel a partir do zero.


Qualquer pessoa interessada em aprender as noções básicas de negociação automatizada no Excel Qualquer pessoa que esteja procurando maneiras de adicionar automação à sua rotina de negociação Qualquer pessoa que queira construir um sistema de negociação automatizado no Excel Qualquer pessoa que queira automatizar sua negociação com a Interactive Brokers.


Seu instrutor.


Peter Titus formou-se na Universidade de Wisconsin-Madison com um diploma de engenharia em 2003. Ele tem negociado ativamente ações e opções desde 2006 e tem construído sistemas de negociação automatizados no Excel usando Visual Basic for Applications (VBA) desde 2009. Ele é especialista em dia de negociação de ações e ETFs.


Curriculum de Classe.


Perguntas frequentes.


Comece agora!


Antes de efetuar o pagamento, leia os Termos de Uso e Aviso de Risco. Fazer um pagamento pressupõe que você concordou com as políticas internas.

No comments:

Post a Comment