Os prós e contras de sistemas de negociação automatizada Traders e investidores podem transformar a entrada precisa. Saída e regras de gestão de dinheiro em sistemas automatizados de negociação que permitem aos computadores executar e monitorar os negócios. Uma das maiores atrações da automação estratégia é que ele pode tirar parte da emoção fora da negociação, uma vez que os comércios são colocados automaticamente uma vez determinados critérios são atendidos. Este artigo introduzirá leitores e explicará algumas das vantagens e desvantagens, bem como as realidades, de sistemas de negociação automatizados. (Para a leitura relacionada, veja o poder de negócios do programa.) O que é um sistema negociando automatizado Os sistemas negociando automatizados, consultados também como sistemas negociando mecânicos, negociando algorítmico. Negociação automatizada ou sistema de negociação, permitem aos comerciantes estabelecer regras específicas para entradas e saídas comerciais que, uma vez programadas, podem ser executadas automaticamente através de um computador. As regras de entrada e saída de comércio podem basear-se em condições simples, tais como um crossover de média móvel. Ou podem ser estratégias complicadas que exigem uma compreensão abrangente da linguagem de programação específica para a plataforma de negociação de usuários, ou a experiência de um programador qualificado. Sistemas automatizados de negociação normalmente exigem o uso de software que está ligado a um corretor de acesso direto. E quaisquer regras específicas devem ser escritas na linguagem proprietária dessas plataformas. A plataforma TradeStation, por exemplo, usa a linguagem de programação EasyLanguage, a plataforma NinjaTrader, por outro lado, utiliza a linguagem de programação NinjaScript. A Figura 1 mostra um exemplo de uma estratégia automatizada que desencadeou três negociações durante uma sessão de negociação. Figura 1: Um gráfico de cinco minutos do contrato ES com uma estratégia automatizada aplicada. Algumas plataformas de negociação têm assistentes de criação de estratégia que permitem aos usuários fazer seleções a partir de uma lista de indicadores técnicos geralmente disponíveis para criar um conjunto de regras que podem ser trocadas automaticamente. O usuário poderia estabelecer, por exemplo, que uma negociação longa será inserida uma vez que a média móvel de 50 dias cruza acima da média móvel de 200 dias em um gráfico de cinco minutos de um determinado instrumento de negociação. Os usuários também podem inserir o tipo de ordem (mercado ou limite, por exemplo) e quando a negociação será acionada (por exemplo, ao fechar a barra ou abrir a próxima barra) ou usar as entradas padrão das plataformas. Muitos comerciantes, no entanto, optar por programar seus próprios indicadores personalizados e estratégias ou trabalhar em estreita colaboração com um programador para desenvolver o sistema. Embora isso normalmente requer mais esforço do que usar o assistente de plataformas, ele permite um grau muito maior de flexibilidade e os resultados podem ser mais gratificante. (Infelizmente, não há uma estratégia de investimento perfeita que garanta o sucesso.) Uma vez que as regras foram estabelecidas, o computador pode monitorar os mercados para encontrar oportunidades de compra ou venda com base na negociação Especificações da estratégia. Dependendo das regras específicas, assim que uma negociação for inserida, quaisquer pedidos de perda de parada de proteção. Arrastar paradas e metas de lucro serão automaticamente gerados. Em mercados em rápido movimento, esta entrada de ordem instantânea pode significar a diferença entre uma pequena perda e uma perda catastrófica no caso de o comércio se move contra o comerciante. Vantagens dos sistemas automatizados de negociação Há uma longa lista de vantagens em ter um computador monitorar os mercados para oportunidades de negociação e executar os negócios, incluindo: minimizar emoções. Os sistemas de negociação automatizados minimizam as emoções ao longo do processo de negociação. Ao manter as emoções em cheque, os comerciantes normalmente têm um tempo mais fácil aderindo ao plano. Uma vez que as ordens comerciais são executadas automaticamente uma vez que as regras comerciais foram cumpridas, os comerciantes não será capaz de hesitar ou questionar o comércio. Além de ajudar os comerciantes que têm medo de puxar o gatilho, o comércio automatizado pode frear aqueles que são aptos a overtrade compra e venda em cada oportunidade percebida. Capacidade de Backtest. Backtesting aplica regras de negociação a dados de mercado históricos para determinar a viabilidade da idéia. Ao projetar um sistema para negociação automatizada, todas as regras precisam ser absolutas, sem espaço para interpretação (o computador não pode fazer suposições que tem que ser dito exatamente o que fazer). Os comerciantes podem tomar estes conjuntos precisos de regras e testá-los em dados históricos antes de arriscar dinheiro em negociação ao vivo. Backtesting cuidadoso permite que os comerciantes avaliem e aperfeiçoem uma idéia negociando, e para determinar a expectativa de sistemas a quantidade média que um comerciante pode esperar ganhar (ou perder) por a unidade de risco. (Nós oferecemos algumas dicas sobre este processo que podem ajudar a refind suas estratégias de negociação atuais. Para mais, veja Backtesting: Interpretando o Passado.) Preserve Discipline. Como as regras comerciais são estabelecidas e a execução do comércio é executada automaticamente, a disciplina é preservada mesmo em mercados voláteis. A disciplina é muitas vezes perdida devido a fatores emocionais, como medo de ter uma perda, ou o desejo de eke um pouco mais de lucro de um comércio. Negociação automatizada ajuda a garantir que a disciplina é mantida porque o plano de negociação será seguido exatamente. Além disso, o erro-piloto é minimizado, e uma ordem para comprar 100 ações não será incorretamente inserido como uma ordem para vender 1.000 ações. Consiga a Consistência. Um dos maiores desafios em negociação é planejar o comércio e comércio do plano. Mesmo se um plano de negociação tem o potencial de ser rentável, os comerciantes que ignoram as regras estão alterando qualquer expectativa que o sistema teria tido. Não há tal coisa como um plano de negociação que ganha 100 das perdas de tempo são uma parte do jogo. Mas as perdas podem ser psicologicamente traumatizantes, de modo que um comerciante que tenha dois ou três negócios perdidos em uma fileira pode decidir ignorar o próximo comércio. Se este próximo comércio teria sido um vencedor, o comerciante já destruiu qualquer expectativa que o sistema tinha. Sistemas de negociação automatizados permitem que os comerciantes para alcançar a consistência pela negociação do plano. (É impossível evitar o desastre sem regras de negociação. Para obter mais informações, consulte 10 etapas para a construção de um plano de negociação vencedor.) Velocidade de entrada de ordem melhorada. Uma vez que os computadores respondem imediatamente às mudanças das condições de mercado, os sistemas automatizados são capazes de gerar ordens assim que os critérios comerciais forem atendidos. Entrando ou saindo de um comércio alguns segundos mais cedo pode fazer uma grande diferença no resultado das negociações. Assim que uma posição é inserida, todas as outras ordens são geradas automaticamente, incluindo perdas de parada de proteção e metas de lucro. Os mercados podem se mover rapidamente, e é desmoralizante ter um comércio alcançar o objetivo de lucro ou soprar passado um nível de perda de parada antes que as ordens podem até mesmo ser inserido. Um sistema automatizado de comércio impede que isso aconteça. Diversificar Trading. Os sistemas de negociação automatizados permitem que o usuário negocie várias contas ou várias estratégias ao mesmo tempo. Isto tem o potencial de espalhar o risco sobre vários instrumentos ao criar um hedge de encontro a posições perdedoras. O que seria incrivelmente desafiador para um ser humano para realizar é eficientemente executado por um computador em questão de milissegundos. O computador é capaz de procurar oportunidades comerciais em uma variedade de mercados, gerar ordens e monitorar negócios. Desvantagens e Realidades dos Sistemas de Negociação Automatizada Os sistemas de negociação automatizados possuem muitas vantagens, mas há algumas quedas e realidades às quais os comerciantes devem estar atentos. Falhas mecânicas. A teoria por trás do comércio automatizado faz parecer simples: configurar o software, programar as regras e vê-lo comércio. Na realidade, no entanto, a negociação automatizada é um método sofisticado de negociação, mas não infalível. Dependendo da plataforma de negociação, uma ordem comercial poderia residir em um computador e não em um servidor. O que isso significa é que se uma conexão com a Internet é perdida, uma ordem pode não ser enviada para o mercado. Também pode haver uma discrepância entre os ofícios teóricos gerados pela estratégia eo componente da plataforma de entrada de pedidos que os transforma em negócios reais. A maioria dos comerciantes deve esperar uma curva de aprendizado ao usar sistemas automatizados de negociação, e geralmente é uma boa idéia começar com pequenos tamanhos comerciais enquanto o processo é refinado. Monitorização. Embora seria ótimo para ligar o computador e sair para o dia, automatizado sistemas de negociação requerem monitoramento. Isto é devido fazer o potencial para falhas mecânicas, tais como problemas de conectividade, perdas de energia ou falhas de computador, e para quirks sistema. É possível que um sistema de negociação automatizado experimente anomalias que possam resultar em ordens erradas, encomendas em falta ou ordens duplicadas. Se o sistema for monitorado, esses eventos podem ser identificados e resolvidos rapidamente. Sobre-otimização. Embora não seja específico para sistemas de negociação automatizados, os comerciantes que empregam técnicas de backtesting podem criar sistemas que ficam ótimos no papel e ter um desempenho terrivelmente em um mercado vivo. Sobre-otimização refere-se a excessiva curva de montagem que produz um plano de negociação que não é confiável na negociação ao vivo. É possível, por exemplo, ajustar uma estratégia para obter resultados excepcionais sobre os dados históricos nos quais foi testado. Os comerciantes, por vezes, incorretamente assumem que um plano de negociação deve ter cerca de 100 negócios rentáveis ou nunca deve experimentar uma redução para ser um plano viável. Como tal, os parâmetros podem ser ajustados para criar um plano quase perfeito que falha completamente logo que é aplicado a um mercado vivo. (Esta sobre-otimização cria sistemas que parecem bons em apenas papel. Para obter mais informações, consulte Testes Backtesting e Forward: A Importância da Correlação.) Os comerciantes de automação com base em servidor têm a opção de executar seus sistemas de negociação automatizada através de uma negociação baseada em servidor Como o Strategy Runner. Estas plataformas freqüentemente oferecem estratégias comerciais para venda, um assistente para que os comerciantes possam projetar seus próprios sistemas, ou a capacidade de hospedar sistemas existentes na plataforma baseada em servidor. Por uma taxa, o sistema de negociação automatizado pode procurar, executar e monitorar negócios com todas as ordens que residem em seu servidor, resultando em entradas de ordem potencialmente mais rápidas e mais confiáveis. Conclusão Embora um ppealing para uma variedade de fatores, automatizado sistemas de negociação não deve ser considerado um substituto para a negociação cuidadosamente executado. Falhas mecânicas podem acontecer, e como tal, esses sistemas requerem monitoramento. Plataformas baseadas em servidor podem fornecer uma solução para os comerciantes que desejam minimizar os riscos de falhas mecânicas. (Se você ainda está procurando uma vantagem nos mercados, os sistemas de negociação automatizados são a melhor maneira de obtê-lo. Saber mais. White Paper: Construindo Sistemas de Negociação Usando a Geração Automática de Código À medida que mais e mais traders se mudaram para a negociação automatizada, o interesse em estratégias de negociação sistemáticas aumentou. Enquanto alguns comerciantes desenvolvem suas próprias estratégias de negociação, muitos comerciantes não têm as habilidades necessárias para implementar suas idéias. Uma solução recentemente desenvolvida para este problema é o uso de algoritmos de computador para gerar automaticamente o código do sistema de negociação. O objetivo desta abordagem é automatizar muitas das etapas no processo tradicional de desenvolvimento de sistemas de negociação. Este artigo apresenta uma visão geral dos métodos de geração automática de código para a construção de sistemas de negociação. São discutidos métodos simples e complexos. Um método ad hoc simples é apresentado que pode ser implementado na linguagem de script TradeStations EasyLanguage para encontrar estratégias básicas baseadas em padrões de preço. Uma abordagem mais complexa baseada na programação genética é também discutida. Técnicas automáticas de geração de código têm o potencial de gerar estratégias comerciais robustas sem codificação para praticamente qualquer mercado e tempo em uma fração do tempo exigido pelos métodos tradicionais. Se você gostaria de ser informado sobre novidades, novidades e ofertas especiais da Adaptrade Software, por favor junte-se à nossa lista de e-mails. Até agora, discutimos os componentes básicos dos sistemas de negociação, os critérios que eles têm de cumprir e algumas das muitas decisões empíricas que um designer de sistemas deve fazer. Nesta seção, vamos examinar o processo de construção de um sistema de comércio, as considerações que precisam ser feitas, e alguns pontos-chave a lembrar. A Construção do Sistema de Seis Passos 1. Configuração - Para começar a construir um sistema de negociação você precisará de várias coisas: Dados - Porque o designer do sistema deve usar backtesting extensa. História do preço passado é essencial para a construção de um sistema comercial. Esses dados podem ser integrados no software de desenvolvimento do sistema de negociação, ou como um feed de dados separado. Os dados ao vivo são frequentemente fornecidos por uma taxa mensal, enquanto dados envelhecidos podem ser obtidos gratuitamente. Software - Embora seja possível desenvolver um sistema comercial sem software, é altamente impraticável. Desde o final dos anos 90, o software tornou-se parte integrante da construção de sistemas de negociação. Alguns recursos comuns permitem que o comerciante faça o seguinte: Coloque automaticamente negócios - Isso geralmente requer permissão do proprietário do corretor porque uma conexão constante deve estar no lugar entre seu software ea corretora. As operações devem ser executadas imediatamente ea preços exatos para garantir a conformidade. Para ter o seu software colocar negócios para você, tudo que você precisa fazer é inserir o número da conta e senha, e tudo o mais é feito automaticamente. Observe que a utilização deste recurso é estritamente opcional. Código de um sistema de negociação - Este recurso de software implementa uma linguagem de programação proprietária que permite que você crie regras facilmente. Por exemplo, MetaTrader usa MQL (MetaQuotes Language). Heres um exemplo de seu código para vender se a margem livre é inferior a 5.000: Se FreeMargin lt 5000, em seguida, saia Muitas vezes, basta ler o manual e experimentação deve permitir que você pegar no básico do idioma seu software usa. Backtest sua estratégia - Desenvolvimento de sistema sem backtesting é como jogar tênis sem uma raquete. Software de desenvolvimento de sistema geralmente contém um aplicativo de backtesting simples que permite definir uma fonte de dados, informações de conta de entrada e backtest para qualquer quantidade de tempo com o clique de um mouse. Aqui está um exemplo do MetaTrader: Depois que o teste de volta é executado, um relatório é gerado que descreve as especificidades dos resultados. Este relatório geralmente inclui lucro, número de negócios sem êxito, dias consecutivos para baixo, número de negócios e muitas outras coisas que podem ser úteis ao tentar determinar como solucionar problemas ou melhorar o sistema. Finalmente, o software geralmente cria um gráfico mostrando o crescimento do investimento ao longo do período de tempo testado. 2. Design - O design é o conceito por trás do seu sistema, a forma como os parâmetros são usados para gerar um lucro ou perda. Você implementa essas regras e parâmetros ao programá-los. Às vezes, esta programação pode ser feita automaticamente através de uma interface gráfica do usuário. Isso permite que você crie regras sem aprender uma linguagem de programação. Aqui está um exemplo de um sistema cross-over de média móvel: Se SMA (20) CrossOver EMA (13), em seguida, insira SMA (20) CrossUnder EMA (13), em seguida, saia Regras como estas que são colocadas em código permitem que o software automaticamente Gerar entradas e saídas nos pontos em que as regras são aplicáveis. Aqui está o aspecto da interface de design no MetaTrader: O sistema é criado simplesmente digitando as regras na janela e salvando-as. Referências para as diferentes funções disponíveis (por exemplo, osciladores e outros) podem ser encontradas clicando no ícone do livro. A maioria de software terão uma referência similar disponível dentro do programa próprio ou em seu Web site. Depois de criar as regras desejadas e codificar o sistema, basta salvar o arquivo. Então você pode colocá-lo em uso, selecionando-o na tela principal. 3. Tomada de Decisão - Há muitas decisões a serem tomadas neste ponto: Que mercado eu quero negociar em 13 Qual período de tempo devo usar 13 Que série de preços devo usar 13 Que subconjunto de ações devo usar para testes Manter em Mente que os sistemas de negociação deve fazer consistentemente um lucro em muitos mercados. Ao personalizar o período de tempo e série de preços muito, você pode manchar os resultados e produzir resultados inusitados. Prática - Backtesting e papel de negociação são essenciais para o desenvolvimento bem sucedido de um sistema de comércio: Executar vários backtests em diferentes períodos de tempo e certifique-se que os resultados são consistentes e satisfatórios. Livro de comércio do sistema (dinheiro imaginário uso, mas gravar os comércios e os resultados), e novamente, olhar para rentabilidade consistente. Verifique cuidadosamente para erros no programa, ou comércios não intencionais. Estes podem ser o resultado de programação defeituosa ou falha em prever certas circunstâncias que têm repercussões indesejadas. 5. Repita - Repetição é necessária. Continue trabalhando no sistema até que você possa fazer um lucro consistentemente na maioria dos mercados e condições. Sempre há eventos imprevistos que ocorrem assim que um sistema é ativado. Aqui estão alguns fatores que muitas vezes causam resultados distorcidos: Custos de transação - Certifique-se de que você está usando a comissão real. E alguns extra para conta de preenchimentos imprecisos (diferença entre lance e pedir preços). Em outras palavras, evite a derrapagem (Para rever o que é e como isso ocorre, consulte a seção anterior deste tutorial.) Watchfulness - Não ignore perder trades manter um olho em todos os ofícios. Otimização - Não sobre otimizar o sistema. Em outras palavras, não adaptar o sistema a um ambiente de mercado muito específico tentar ser rentável em um ambiente tão amplo quanto possível. Risco - Nunca ignorar ou esquecer o risco. É muito importante ter formas de limitar as perdas (também conhecidas como stop-loss), e formas de lock-in lucros (tomar lucros). 6. Comércio - Experimente, mas espere resultados não desejados. Certifique-se de usar a negociação não automatizada até que você esteja confiante no desempenho e consistência dos sistemas. Demora muito tempo para desenvolver um sistema de negociação bem sucedido e antes de aperfeiçoá-lo, você pode ter de suportar algumas perdas de negociação ao vivo para detectar falhas: teste de volta não pode perfeitamente representar condições de mercado ao vivo, e negociação de papel pode ser impreciso. Se o seu sistema perde dinheiro, volte para a prancheta e veja onde correu mal (veja o passo 5). Conclusão Estes seis passos dar-lhe uma visão geral de todo o processo de construção de um sistema comercial. Na próxima seção, vamos construir sobre este conhecimento e ter um olhar mais aprofundado na resolução de problemas e modificações. Trading Systems: Solução de problemas e otimização
No comments:
Post a Comment