Setting up automated trading system


Os prós e contras de sistemas de negociação automatizada Traders e investidores podem transformar 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 de negociação, uma vez que os comércios são colocados automaticamente uma vez determinados critérios são atendidos. Este artigo irá introduzir os leitores e explicar algumas das vantagens e desvantagens, bem como as realidades, de sistemas de negociação automatizada. O que é um sistema de negociação automatizado Sistemas de negociação automatizados, também conhecidos como sistemas de negociação mecânica, negociação algorítmica. Negociação automatizada ou sistema de negociação, permitem que os comerciantes estabeleçam regras específicas para entradas comerciais e saídas que, uma vez programadas, podem ser executadas automaticamente através de um computador. As regras de entrada e saída de comércio podem ser baseadas 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 de negociação automatizados 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 comumente 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 gratificantes. (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 alvos de lucro serão automaticamente gerados. Em mercados de 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 de Negociação Automatizada Há uma longa lista de vantagens de ter um computador monitorar os mercados para oportunidades de negociação e executar os negócios, incluindo: Minimizar Emoções. Os sistemas automatizados de negociação 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, negociação automatizada pode conter 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 pode 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 ea 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 o 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 eo 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 existe 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 Passos 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 nas 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 de 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 mesmo ser inseridas. 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 humano realizar é eficientemente executado por um computador em questão de milissegundos. O computador é capaz de procurar oportunidades de negociação em uma variedade de mercados, gerar encomendas e monitorar negócios. Desvantagens e Realidades dos Sistemas de Negociação Automatizada Os sistemas de negociação automatizados possuem muitas vantagens, mas existem 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, sistemas de negociação automatizados 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, ordens faltantes 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 os sistemas de negociação automatizada, os comerciantes que empregam técnicas de backtesting podem criar sistemas que ficam ótimos no papel e executar terrivelmente em um mercado ao 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 em que 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 Backtesting e teste direto: 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 residindo 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, sistemas automatizados de negociação não deve ser considerado um substituto para a negociação cuidadosamente executada. 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. O curso concentra-se o máximo possível em exemplos práticos de problemas reais envolvidos na negociação quantitativa. Vamos começar com a criação de ambiente em desenvolvimento e obter dados de preços históricos. Depois disso, vamos backtest um par de estratégias comerciais típicas. Uma parte final do curso enfoca a negociação automatizada através da Interactive Brokers API. Parte teórica (ciência matemática amp amp) será mantida a um mínimo e apenas tratadas onde necessário. Antes de fazer o curso você irá configurar seu próprio ambiente Python e obter uma sensação básica do idioma. Esta parte do curso está disponível gratuitamente. Vamos saltar para a direita e usar dois estudos de caso para se acostumar a trabalhar com ferramentas científicas. Por que Python Configurando o ambiente Python Princípios básicos do Python Escrevendo, executando e depurando código. Introdução ao Numpy Plotting com matplotlib Monte-carlo simulação de etfs alavancado. Antes de começar com a parte divertida do desenvolvimento da estratégia, precisamos coletar e classificar os dados de preços. Esta semana é sobre como obter os dados de várias fontes. Para apimentá-lo com um caso de teste, vamos baixar o universo inteiro SampP500 preços diários de finanças yahoo. Introdução a Pandas Trabalhando com tempos e datas. Leitura e escrita de arquivos CSV Leitura de arquivos do Excel Leitura de arquivos HDF5 Obtendo dados da web (Yahoo finance, CBOE, etc.) Sazonalidade do SPY: existe uma borda baseada no dia da semana Obtenha todo o histórico do universo SampP500 e salve-o em um banco de dados. Esta é a parte divertida, que é limitada apenas pela sua própria criatividade. Vamos passar por vários casos de teste de estratégia. Calculando pnl e métricas de desempenho. Sharpe en drawdown Estratégia de momentum simples usando médias móveis Estratégia de carteira permanente Estratégia XLP Estratégia de negociação de pares Estratégias de volatilidade Estratégia de ETFs alavancada A última coisa que você precisa para construir um sistema de negociação automatizado é uma conexão com um corretor. Esta semana vamos nos concentrar em usar Interactive Brokers API para receber dados em tempo real e enviar pedidos. Conectando a Interactive Brokers com ibpy Fazendo download de dados intraday históricos Obtendo dados de estoque em tempo real Colocando pedidosF para Quantitative Finance Capítulo 8. Configurando o Projeto de Sistema de Negociação Neste capítulo, crie bem o sistema de negociação, que bem se desenvolverá ao longo do restante deste livro. O sistema de comércio irá resumir as coisas que aprendemos até agora. Também é uma boa maneira de ilustrar o poder de F em combinação com as ferramentas existentes e bibliotecas. Bem, comece por configurar o projeto no Visual Studio e, em seguida, adicionando as referências necessárias para testar e conectar ao Microsoft SQL Server. Os provedores de tipo e LINQ (Language-INtegrated-Query) serão brevemente apresentados aqui, e mais detalhes serão abordados no próximo capítulo. Neste capítulo, vamos aprender: Mais sobre a negociação automatizada Desenvolvimento orientado a testes Requisitos para o sistema de negociação Configurando o projeto Conectando. O melhor conteúdo para sua carreira. Descubra o aprendizado ilimitado sob demanda por cerca de 1 dia. Recomendado para você Noções básicas sobre testes de software e desenvolvimento orientado por teste Copyright copy 2017 Safari Books Online.

Comments