Programação De Sistema Comercial


Sistemas de Negociação: Construindo um Sistema 13 Até agora, discutimos os componentes básicos dos sistemas de negociação, os critérios que eles têm que atender e algumas das muitas decisões empíricas que um designer de sistemas deve fazer. Nesta seção, examinaremos o processo de construção de um sistema comercial, as considerações que precisam ser feitas e alguns pontos principais para lembrar. The Six-Step System Construction 1. Configuração - Para começar a construir um sistema de negociação, você precisará de várias coisas: Dados - Como o designer do sistema deve usar backtesting extensivo. O histórico de preços passados ​​é 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 geralmente são fornecidos para uma taxa mensal, enquanto os dados de idade 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 trades - Isso muitas vezes requer permissão do final do corretor porque uma conexão constante deve estar instalada entre o software e a corretora. As negociações devem ser executadas imediatamente e a preços exatos para garantir a conformidade. Para que seu software coloque trades para você, tudo o que você precisa fazer é inserir o número da conta e a senha e tudo o resto é feito automaticamente. Observe que usar este recurso é estritamente opcional. Código de um sistema de comércio - Este recurso de software implementa uma linguagem de programação proprietária que permite que você crie regras com facilidade. Por exemplo, o MetaTrader usa MQL (MetaQuotes Language). Este é um exemplo de seu código para vender se a margem livre for inferior a 5.000: se for FreeMargin lt 5000, então saia Frequentemente, apenas lendo o manual e a experimentação devem permitir que você adote os conceitos básicos do idioma que seu software usa. Backtest sua estratégia - O desenvolvimento do sistema sem backtesting é como jogar tênis sem raquete. O software de desenvolvimento de sistemas geralmente contém um aplicativo de backtesting simples que permite definir uma fonte de dados, informações de conta de entrada e backtest por qualquer período de tempo com o clique de um mouse. Aqui está um exemplo do MetaTrader: após o teste de volta ser executado, é gerado um relatório que descreve as especificidades dos resultados. Este relatório geralmente inclui lucro, número de negociações un / bem sucedidas, dias consecutivos baixos, número de negociações 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 que mostra 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 maneira como os parâmetros são usados ​​para gerar lucro ou perda. Você implementa essas regras e parâmetros, programando-os. Às vezes, esta programação pode ser feita automaticamente através de uma interface de usuário gráfica. Isso permite que você crie regras sem aprender uma linguagem de programação. Aqui é um exemplo de um sistema de cross-over médio móvel: Se SMA (20) CrossOver EMA (13), então, insira Se SMA (20) CrossUnder EMA (13), então saia Regras como essas que são colocadas em código permitem que o software automaticamente Gerar entradas e saídas nos pontos quando 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 tal) podem ser encontradas clicando no ícone do livro. A maioria dos softwares terá uma referência similar disponível no próprio programa ou em seu site. Depois de criar as regras desejadas e codificar o sistema, basta salvar o arquivo. Então você pode usá-lo selecionando-o na tela principal. 3. Tomada de decisão - Há muitas decisões a serem feitas neste ponto: Em que mercado eu quero negociar em 13 Que período de tempo devo usar 13 Quais séries de preços devo usar 13 Que subconjunto de ações devo usar para testes Manter em Tenha em mente que os sistemas de negociação devem ser consistentemente lucrativos em muitos mercados. Ao personalizar o período de tempo e a série de preços demais, você pode manchar os resultados e produzir resultados não característicos.4. Prática - Backtesting e papel comercial são essenciais para o desenvolvimento bem sucedido de um sistema comercial: Execute vários backtests em diferentes períodos de tempo e certifique-se de que os resultados sejam consistentes e satisfatórios. O comércio de papel é o sistema (use dinheiro imaginário, mas registre os negócios e os resultados), e novamente, procure uma rentabilidade consistente. Verifique cuidadosamente se há erros no programa ou trocas não intencionais. Estes podem ser o resultado de uma programação defeituosa ou falha em prever certas circunstâncias que tenham repercussões indesejadas. 5. Repetir - Repetição é necessária. Continue trabalhando no sistema até que você possa obter um lucro consistente na maioria dos mercados e condições. Sempre há eventos imprevistos que ocorrem assim que um sistema é atualizado. Aqui estão alguns fatores que muitas vezes causam resultados negativos: custos de transação - Certifique-se de que você está usando a comissão real. E alguns extras para explicar enchimentos imprecisos (diferença entre os preços de oferta e de venda). Em outras palavras, evite o deslizamento (Para analisar o que é e como isso ocorre, veja a seção anterior deste tutorial.) Vigilância - Não ignore a perda de negociações, mantenha um olho em todos os negócios. Otimização - Não sobre otimize o sistema. Em outras palavras, não adapte o sistema a um ambiente de mercado muito específico, tente ser rentável em um ambiente tão amplo quanto possível. Risco - Nunca ignore ou se esqueça do risco. É muito importante ter maneiras de limitar perdas (também conhecidas como stop-loss) e formas de bloquear os lucros (tirar lucros). 6. Comércio - Experimente, mas espere resultados não desejados. Certifique-se de usar operações não automatizadas até estar 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 que suportar algumas perdas de negociação ao vivo para detectar falhas: os testes de volta não podem representar perfeitamente as condições do mercado ao vivo e a negociação de papel pode ser imprecisa. Se o seu sistema perde dinheiro, volte para o quadro de desenho e veja onde ele deu errado (veja o passo 5). Conclusão Estas seis etapas fornecem uma visão geral de todo o processo de construção de um sistema comercial. Na próxima seção, construiremos esse conhecimento e analisaremos mais detalhadamente a solução de problemas e a modificação. Sistemas de Negociação: Solução de Problemas e Otimização. Criar um Sistema de Negociação no Sistema de Negociação O Laboratório do Sistema de Negociação do Laboratório gerará automaticamente Sistemas de Negociação em qualquer mercado em poucos minutos, usando um programa de computador muito avançado conhecido como AIMGP (Indução Automática de Código de Máquina com Programação Genética). A criação de um sistema de negociação no Trade System Lab é realizada em 3 etapas fáceis. Primeiro, é executado um pré-processador simples que extrai e pré-processa automaticamente os dados necessários do mercado com o qual você deseja trabalhar. A TSL aceita dados CSI, MetaStock, AIQ, TradeStation, dados de Internet gratuitos, ASCII, TXT, CSV, CompuTrac, DowJones, FutureSource, TeleChart2000v3, TechTools, XML, Binário e Internet. Em segundo lugar, o Trading System Generator (GP) é executado por vários minutos, ou mais, para evoluir um novo sistema de negociação. Você pode usar seus próprios dados, padrões, indicadores, relações inter-mercado ou dados fundamentais dentro da TSL. Terceiro, o Sistema de Negociação evoluído é formatado para produzir novos sinais do Sistema de Negociação dentro da TradeStation ou muitas outras plataformas de negociação. TSL escreverá automaticamente Easy Language, Java, Assembler, código C, código C e WealthLab Script Language. O Trading System pode então ser negociado manualmente, negociado através de um corretor ou negociado automaticamente. Você pode criar o Trading System você mesmo ou podemos fazer isso por você. Então, você ou o seu corretor podem trocar o sistema manualmente ou automaticamente. O Programa de Genética de Laboratórios de Sistemas de Negociação contém vários recursos que reduzem a possibilidade de ajuste de curva ou produzem um Sistema de Negociação que não continua a atuar no futuro. Primeiro, os Sistemas de Negociação evoluídos têm seu tamanho reduzido ao tamanho mais baixo possível através do que é chamado de Pressão Parsimonia, extraindo do conceito de comprimento mínimo da descrição. Assim, o Sistema de Negociação resultante é o mais simples possível e, em geral, acredita-se que quanto mais simples for o Sistema de Negociação, melhor será no futuro. Em segundo lugar, a aleatoriedade é introduzida no processo evolutivo, o que reduz a possibilidade de encontrar soluções que sejam localmente, mas não globalmente otimizadas. A aleatoriedade é introduzida não apenas sobre as combinações do material genético utilizado nos Sistemas de Negociação evoluídos, mas em Parsimony Pressure, Mutation, Crossover e outros parâmetros de GP de nível superior. O teste de fora da amostra é realizado enquanto o treinamento está em andamento com informações estatísticas apresentadas nos testes de teste de amostra e fora do teste de amostra. Os registros de execução são apresentados ao usuário para os dados de Treinamento, Validação e Fora da Amostra. Bem comportado O desempenho fora da amostra pode ser indicativo de que o Sistema de Negociação está evoluindo com características robustas. A deterioração substancial no teste automático de Out of Sample em comparação com o teste In Sample pode implicar que a criação de um Sistema de Negociação robusto está em dúvida ou que o Terminal ou Conjunto de Entrada pode precisar ser alterado. Finalmente, o Conjunto de terminais é cuidadosamente escolhido de modo a não implicar excessivamente a seleção do material genético inicial em relação a qualquer viés ou sentimento de mercado específico. A TSL não começa a ser executada com um Sistema de Negociação predefinido. Na verdade, apenas o conjunto de entrada e uma seleção do modo ou modos de entrada no mercado, para busca e atribuição automática de entrada, são feitos inicialmente. Um padrão ou comportamento indicador que pode ser pensado como uma situação de alta pode ser usado, descartado ou invertido dentro do GP. Nenhum padrão ou indicador é pré-atribuído a qualquer viés de movimento de mercado específico. Esta é uma saída radical do desenvolvimento do sistema de negociação gerado manualmente. Um Sistema de Negociação é um conjunto lógico de instruções que dizem ao comerciante quando comprar ou vender um mercado específico. Essas instruções raramente requerem intervenção de um comerciante. Os Sistemas de Negociação podem ser negociados manualmente, observando as instruções de negociação em uma tela do computador, ou podem ser negociados, permitindo que o computador entre em negociações no mercado automaticamente. Ambos os métodos estão em uso generalizado hoje. Existem mais gerentes de dinheiro profissionais que se consideram comerciantes sistemáticos ou mecânicos do que aqueles que se consideram discricionários, e o desempenho dos gerentes de dinheiro sistemáticos é geralmente superior ao dos gestores de dinheiro discrecional. Estudos mostraram que as contas de negociação geralmente perdem dinheiro com mais freqüência se o cliente não estiver usando um Sistema de Negociação. O aumento significativo nos Sistemas de Negociação nos últimos 10 anos é evidente, especialmente nas corretora de commodities, no entanto, as corretoras de mercado de ações e títulos estão cada vez mais conscientes dos benefícios através do uso de Sistemas de Negociação e alguns começaram a oferecer Sistemas de Negociação aos seus Clientes de varejo. A maioria dos gestores de fundos mútuos já estão usando algoritmos computacionais sofisticados para orientar suas decisões sobre o estoque quente a escolher ou a rotação do setor a favor. Computadores e algoritmos tornaram-se mainstream no investimento e esperamos que essa tendência continue a ser mais jovem, os investidores mais experientes em computador continuam a permitir que partes do seu dinheiro sejam gerenciadas pelos Trading Systems para reduzir o risco e aumentar os retornos. As enormes perdas experimentadas por investidores que participam da compra e detenção de ações e fundos de investimento como o mercado de ações derretido nos últimos anos está promovendo esse movimento para uma abordagem mais disciplinada e lógica para investir no mercado de ações. O investidor médio percebe que ele ou ela atualmente permite que muitos aspectos de suas vidas e a vida de seus entes queridos sejam mantidos ou controlados por computadores, como os automóveis e as aeronaves que usamos para o transporte, o equipamento de diagnóstico médico que usamos para a manutenção da saúde, Os controladores de aquecimento e refrigeração que usamos para controle de temperatura, as redes que usamos para informações baseadas na internet, até mesmo os jogos que jogamos para entretenimento. Por que, então, alguns investidores de varejo acreditam que eles podem disparar do quadril em suas decisões sobre o estoque ou o fundo mútuo para comprar ou vender e esperar ganhar dinheiro. Finalmente, o investidor médio tornou-se desconfiado dos conselhos e informações encaminhadas por corretores sem escrúpulos , Contadores, diretores corporativos e consultores financeiros. Nos últimos 20 anos, matemáticos e desenvolvedores de software pesquisaram indicadores e padrões em mercados de ações e commodities buscando informações que possam apontar para a direção do mercado. Esta informação pode ser usada para melhorar o desempenho dos Sistemas de Negociação. Geralmente, este processo de descoberta é realizado através de uma combinação de tentativa e erro e mais sofisticada mineração de dados. Normalmente, o desenvolvedor levará semanas ou meses de crunching de números para produzir um potencial Sistema de Negociação. Muitas vezes, este sistema de negociação não funcionará bem quando usado no futuro devido ao que é chamado de ajuste de curva. Ao longo dos anos, tem havido muitos Sistemas de Negociação (e empresas de desenvolvimento do Sistema de Negociação) que vieram e foram assim que seus sistemas falharam na negociação ao vivo. O desenvolvimento de sistemas de negociação que continuam a atuar no futuro é difícil, mas não é impossível de realizar, embora nenhum desenvolvedor ético ou gerente de dinheiro dê uma garantia incondicional de que qualquer Sistema de Negociação ou, por isso, qualquer ação, vínculo ou fundo mútuo, continuará Para produzir lucros no futuro para sempre. O que levou semanas ou meses para que o desenvolvedor do Sistema de Negociação produza no passado pode agora ser produzido em minutos através do uso do Trading System Lab. O Trading System Lab é uma plataforma para a geração automática de sistemas de negociação e indicadores de negociação. A TSL faz uso de um mecanismo de programação genética de alta velocidade e produzirá sistemas de negociação a uma taxa de mais de 16 milhões de barras de sistema por segundo com base em 56 entradas. Note-se que apenas alguns insumos serão realmente utilizados ou necessários, resultando em estruturas de estratégia geralmente simples desenvolvidas. Com aproximadamente 40.000 a 200.000 sistemas necessários para uma convergência, o tempo de convergência para qualquer conjunto de dados pode ser aproximado. Note-se que não estamos simplesmente executando uma otimização de força bruta de indicadores existentes que procuram parâmetros ótimos a partir dos quais usar em um Sistema de Negociação já estruturado. O Trading System Generator começa em uma origem de ponto zero, não fazendo suposições sobre o movimento do mercado no futuro e, em seguida, evolui Trading Systems a uma taxa muito alta combinando informações presentes no mercado e formulando novos filtros, funções, condições e relacionamentos como ele Progride para um Sistema de Negociação geneticamente modificado. O resultado é que um excelente sistema de negociação pode ser gerado em poucos minutos em 20-30 anos de dados de mercado diários em praticamente qualquer mercado. Ao longo dos últimos anos, houve várias abordagens para a otimização do Sistema de Negociação que empregam o Algoritmo Genético menos poderoso. Os Programas Genéticos (GPs) são superiores aos Algoritmos Genéticos (GAs) por vários motivos. Primeiro, os GPs convergem em uma solução a uma taxa exponencial (muito rápido e ficando mais rápido) enquanto os Algoritmos Genéticos convergem em uma taxa linear (muito mais lenta e não está ficando mais rápida). Em segundo lugar, os GPs realmente geram o código da máquina do Sistema de Negociação que combinava o material genético (indicadores, padrões, dados inter-mercado) de maneiras únicas. Essas combinações únicas podem não ser intuitivamente óbvias e não requerem definições iniciais pelo desenvolvedor do sistema. As relações matemáticas únicas criadas podem se tornar novos indicadores, ou variantes na Análise Técnica, ainda não desenvolvidas ou descobertas. Os GAs, por outro lado, simplesmente buscam soluções ótimas à medida que progridem no intervalo de parâmetros, não descobrem novas relações matemáticas e não escrevem seu próprio código de Sistema de Negociação. Os GPs criam o código do Sistema de Negociação de vários comprimentos, usando genomas de comprimento variável, modificarão o comprimento do Sistema de Negociação por meio do crossover não homólogo e descartarão completamente um indicador ou padrão que não contribua para a eficiência do Sistema de Negociação. Os GAs usam apenas blocos de instruções de tamanho fixo, fazendo uso de apenas crossover homólogos e não produzem código de código de troca de comprimento variável, nem descartarão um indicador ou padrão ineficiente tão prontamente quanto um GP. Finalmente, os Programas Genéticos são um avanço recente no domínio da aprendizagem por máquinas, enquanto os Algoritmos Genéticos foram descobertos há 30 anos. Os programas genéticos incluem todas as principais funcionalidades do cruzamento, reprodução, mutação e aptidão de Algoritmos Genéticos, no entanto, os GPs incluem recursos muito mais rápidos e robustos, tornando os GPs a melhor escolha para a produção de Sistemas de Negociação. O GP empregado no TSLs Trading System Generator é o GP mais rápido atualmente disponível e não está disponível em nenhum outro software de mercado financeiro no mundo. O Algoritmo de Programação Genética, o Simulador de Negociação e os Motores Fitness utilizados na TSL levaram 8 anos para produzir. O Trading System Lab é o resultado de anos de trabalho árduo por uma equipe de engenheiros, cientistas, programadores e comerciantes, e acreditamos que representa a tecnologia mais avançada disponível hoje para comercializar os mercados.

Comments

Popular Posts