Saturday 16 March 2019

Trading system optimisation


Mesmo depois de projetar com sucesso e construir um sistema de negociação de trabalho, um comerciante pode achar que seu sistema é imperfeito. Pode haver alguns problemas, como um evento que mantém gerando perdas ou talvez as regras sejam muito amplas e precisam ser otimizadas. O que é a maneira mais fácil de corrigir o problema Como eficaz é otimização Esta seção irá mostrar-lhe como solucionar problemas e otimizar seu sistema de comércio para maximizar os lucros e minimizar as perdas. Solução de problemas A solução de problemas é um aspecto muito importante do desenvolvimento do sistema. Um sistema de comércio decente será rentável na maioria das condições de mercado, mas se ocasionalmente torna grandes perdas, você pode trabalhar para identificar e resolver o problema. Aqui estão quatro etapas fáceis: 1. Identificar o problema - Encontre todas as instâncias em que o problema ocorreu durante o backtesting e / ou inicie a gravação quando o problema ocorre durante a negociação ao vivo. Durante cada instância, tome nota de qualquer tendência dos seguintes quatro fatores: Padrão de gráfico ou série de preços - Pico nos preços.13 Volume - volume grande inicialmente e baixo volume depois disso.13 spread Bid / Ask - Spike no preço em baixo volume muitas vezes Indica um grande spread.13 Margem (se usado). 13 13Essas são algumas das áreas nas quais os problemas podem ocorrer, o que podemos ver analisando o quadro abaixo. Observe os picos de preços em baixo volume pela seta verde. Observe também o grande volume (perto da seta azul) seguido de baixo volume depois disso. Se nenhum destes revela-se para ser o culpado, há outros fatores que podem ser analisados, tais como o bloco-tamanhos e padrões avançados do gráfico. Avaliar o problema - Use as informações coletadas para determinar o que exatamente causou o mau funcionamento do sistema ou gerar uma perda. Isso geralmente é feito usando o senso comum, ou analisando logs de transações (fornecidos pelo seu corretor). Aqui estão alguns exemplos de como algumas condições dos quatro fatores listados acima podem ser a razão para um problema identificado: Padrão de gráfico ou série de preços - O sistema é incapaz de vender durante declínios acentuados ou comprar durante subidas íngremes. Talvez o sistema não tenha tempo suficiente para comprar ou vender. Volume - O sistema é incapaz de vender durante declínios ou comprar durante aumentos. Talvez a equidade tenha um volume de negociação tão baixo que o sistema é incapaz de comprar ou vender a um preço. Durante essas instâncias, o preço pode ser enganoso sem uma consideração de volume e bid / ask. Bid / Ask spread - O sistema faz uma compra, mas doesnt lucro tanto quanto deveria quando vender. Isso poderia ser devido ao fato de que o comerciante esqueceu de considerar spreads bid / ask. Se um sistema é programado para comprar e vender ao preço atual que realmente paga a pedir. E quando vendido, não vende a preço atual mas ao preço de oferta. Às vezes, as diferenças entre a oferta e pedir pode ser grande, levando a perdas indesejadas. Margin - O sistema de repente vende sem razão aparente. Se isso ocorrer, você pode ter esquecido de considerar chamadas de margem. 13 3. Considere as alternativas - Basta tentar algumas soluções para os problemas que você identificou. Considere as seguintes alternativas correspondentes aos problemas acima. Padrão gráfico ou série de preços - Uma alternativa é simplesmente dizer ao sistema para esperar até que o preço se estabilize antes de comprar. Isso pode ser feito usando as diferenças entre os preços anteriores eo preço atual para criar uma regra. Volume - Para resolver esse problema, você pode criar uma regra que exige o patrimônio para ter uma certa quantidade de volume antes de executar um trade. Bid / Pedir spread - Aqui você pode querer comprar e vender com base no lance e pedir preços em vez do preço atual. Margin - Usando margem pode ser rentável se o risco é gerenciado de forma eficaz. Limitar a desvantagem deve impedi-lo de receber chamadas de margem. Isso pode ser feito com trailing stop pontos de perda ou outras táticas similares para limitar o lado negativo. 13 4. Implementar uma solução - Finalmente, precisamos aplicar a solução e ver como ela funciona. Negociação de papel ou teste de volta antes de negociação ao vivo é muitas vezes uma boa idéia depois de aplicar uma solução, porque às vezes as soluções têm consequências não intencionais. Por exemplo, regras adicionais podem limitar estes dias de baixa, mas também diminuir os lucros globais (devido a oportunidades perdidas). Otimização Otimização significa simplesmente encontrar os melhores conjuntos de parâmetros para um determinado mercado. Este processo pode melhorar marginalmente os resultados. No entanto, também traz muitos riscos porque a sua suposição subjacente é que o desempenho passado é indicativo de futuros movimentos de preços. A otimização pode ser realizada alterando os valores do parâmetro que você deseja otimizar e depois testar novamente essas alterações. Tenha em mente que os outros parâmetros devem permanecer constantes para que os efeitos das alterações sejam determinados. Depois de encontrar o valor que produz o maior desempenho no teste de volta, implementá-lo no sistema de comércio. Vamos considerar um exemplo. Digamos que um comerciante analisou o SampP 500 e descobriu que ele ou ela poderia otimizar o sistema usando um gráfico diário. Este mesmo processo também pode ser levado a um grau mais elevado. Por exemplo, se uma média móvel simples de 6 funciona melhor do que 8 para uma estratégia MA-crossover em um determinado mercado, então 6 seria usado. O problema aqui não é apenas no pressuposto, mas também no fato de que o sistema pode ter um desempenho pior em muitos outros mercados, tornando-o assim menos universal. Muitos desenvolvedores de sistemas abandonam o estágio de otimização por duas razões: A otimização muitas vezes exagera os resultados. Isso ocorre porque os parâmetros são tão específicos e não universais que qualquer mudança no mercado (ou seja, o futuro) pode causar instabilidade. Em muitos casos, a otimização não melhorará o desempenho de forma significativa. Pequenas melhorias podem ser evidentes no entanto, a perda da universalidade é um preço alto a pagar. 13 Como regra geral, a otimização só deve definir configurações amplas para parâmetros, em vez de estabelecer regras específicas - mesmo se tiver sucesso no backtesting e na negociação de papel. Conclusão A solução de problemas é crucial para tornar seu sistema funcionando da maneira que você deseja. É importante identificar os problemas observando os casos em que eles ocorreram e, em seguida, avaliar como certas condições de vários fatores - como padrão de preços, volume, spread bid / ask e margem - podem ter causado o problema. A otimização pode melhorar seus resultados, mas é importante lembrar que ele tem suas limitações. Não só é baseado no pressuposto de que o desempenho passado indica o futuro, mas não é o estágio em que o comerciante cria regras específicas - otimização é apenas definir definições amplas. Na próxima e última parcela, iremos fornecer uma visão geral de tudo weve coberto, juntamente com alguns conselhos e recursos para ajudá-lo a ganhar um conhecimento de trabalho de design do sistema de negociação e desenvolvimento. Trading Systems: ConclusionTrading Strategy Optimization Uma estratégia de negociação é criada através da tomada de conceitos comerciais, idéias e observações sobre o comportamento histórico do mercado e implementá-los em um sistema comercial. Sempre que você encontrar uma solução ideal para fazer qualquer coisa na vida cotidiana, você está realmente realizando otimização implícita. Portanto, as pessoas costumam usar a otimização do sistema de negociação ao criar estratégias de negociação também. Para obter informações técnicas sobre este recurso, consulte a página Wiki relacionada. Como funciona? O objetivo de qualquer otimização é ajustar os sistemas de negociação em uma tentativa de torná-lo mais eficaz. A otimização de estratégias está buscando parâmetros ótimos para critérios predefinidos. Ao testar uma gama de valores de entrada de estratégia, a otimização seleciona valores que correspondem ao desempenho ótima da estratégia com base em dados históricos. Como resultado, um comerciante recebe muitas combinações de entrada possível para encontrar aqueles que resultam no melhor desempenho. Opções extensivas O MultiCharts oferece otimização genética e exaustiva, bem como testes de walk-forward. Cada tipo de otimização oferece suas próprias vantagens e desvantagens, e cada um é ótimo para realizar certas tarefas. Você pode usá-los separadamente, ou pode combiná-los para obter um olhar completo sobre o desempenho da estratégia. Walk-forward teste combina otimização e backtesting. Durante o processo, insumos ótimos são testados contra as condições reais do mercado para ver como eles iriam realizar. Acelerar a otimização MultiCharts usa multi-threading, que é uma tecnologia para distribuir ciclos de otimização em todas as CPUs disponíveis. Se você tiver múltiplos núcleos, todos eles serão usados ​​como instâncias de sua otimização executando simultaneamente. Os dados são carregados separadamente em cada núcleo ao mesmo tempo para otimização rápida, criando essencialmente um gráfico virtual. A versão de 64 bits do MultiCharts pode facilmente lidar com enormes volumes de dados necessários para esta operação, resultando em você usando o seu tempo de forma mais eficiente e eficaz durante as otimizações. Relatório de otimização Este relatório mostra os resultados de otimização, as colunas representam 18 campos de desempenho da estratégia, bem como todas as entradas que foram otimizadas durante a execução atual. Cada linha representa um conjunto de resultados de teste para uma dada combinação de entradas. Você pode filtrar as saídas por um ou mais critérios. Por exemplo, para encontrar uma estratégia com o lucro líquido máximo e mínimo drawdownfirst máximo por lucro líquido em ordem crescente e, em seguida, por redução em ordem decrescente. Escolha entre Pesquisa Exaustiva e Algoritmo Genético Cada tipo de otimização tem seus benefícios e desvantagens. Você deve escolher a ferramenta certa para fazer o trabalho, e encontrar o resultado que você precisa. Se você está testando muitas possibilidades, otimização exaustiva leva muito tempo, mesmo com multi-threading. A vantagem da otimização exaustiva é que é garantido para encontrar as entradas otimizadas absolutas na faixa de teste. Portanto, ele deve ser usado onde o número de possibilidades é relativamente pequeno, ou onde você deve encontrar a melhor solução absoluta. Outra nuance é que os melhores insumos absolutos pode realmente ser um outlier, o que não resulta em bom desempenho em uma base consistente. Otimização genética aborda esse problema, porque ele executa otimização de estratégia de forma diferente. Exaustiva (Brute-Force) Otimização da estratégia Otimização é feita para encontrar bons parâmetros, e eliminar os maus. Otimização exaustiva sistematicamente passa por todas as combinações potenciais como ele procura a solução com os melhores resultados para os critérios que você escolher. Você pode encontrar os insumos que maximizam a renda líquida, minimizam o drawdown, ou resultam em poucos comércios. A quantidade de tempo que o recurso de otimização exaustiva precisa para encontrar a solução está diretamente relacionada ao número de combinações possíveis que ele precisa para testar as combinações mais você tem, mais demorará. Se apenas alguns parâmetros são testados para um curto alcance, este método é definitivamente otimizado para encontrar os melhores insumos. Otimização genética A otimização de Algoritmos Genéticos avalia apenas combinações mais promissoras, encontrando soluções quase ótimas em uma fração de tempo que seria requerida pela abordagem de força bruta, tornando a otimização de Algoritmos Genéticos poderosa o suficiente para analisar estratégias com centenas de parâmetros. As configurações do Otimizador Genético adicionam flexibilidade a essa técnica. O algoritmo começa por testar um número de combinações aleatórias, selecionar as mais potenciais e, em seguida, combiná-las e modificá-las ainda mais para finalmente chegar às melhores configurações de entrada. Em vez de verificar mecanicamente cada combinação conservável, os algoritmos genéticos reduzem rapidamente o número de vencedores potenciais, encontrando e concentrando-se nas áreas mais rentáveis ​​e mais estáveis. Assim, os algoritmos genéticos evitam cálculos supérfluos nas zonas de menor potencial de lucro líquido. Otimização da função Fitness personalizada Com esse recurso, você pode otimizar sua estratégia usando várias condições, ao contrário de apenas uma. Por exemplo, você pode encontrar uma estratégia que combina o maior lucro, menor drawdown, ea maior porcentagem de negócios rentáveis. Você pode usar a otimização da função de fitness personalizado em backtestingas regulares e de carteira bem como com a otimização genética e exaustiva do sistema de negociação. PowerLanguage tem uma palavra-chave chamada SetCustomFitnessValue. Essa palavra pode ser usada com outras palavras-chave, como GrossProfit e TotalTrades, para criar uma equação personalizada para a qual sua estratégia será otimizada. Você também pode criar uma equação similar no script Java, se você estiver mais familiarizado com esse idioma. Informações mais específicas são encontradas na página Wiki relacionada. Gráficos de otimização 3D Gráficos de otimização 3D fornecem representações visuais de como os parâmetros da estratégia afetam o desempenho comercial. O gráfico 3D revela as zonas de parâmetros mais robustas, e é uma ótima ferramenta para evitar a sobre-otimização, que também conhecida como ajuste de curva. Uma estratégia que tem desagregação abrupta do desempenho com apenas pequenas mudanças de parâmetros não pode ser considerada robusta. Você pode sobrepor resultados de diferentes otimizações uns sobre os outros para comparar os resultados e ver se as entradas ideais encontradas são confirmadas por outros testes. Você pode usar superposição para comparar resultados de otimização genética e exaustiva, e você pode avaliar quão robustas são suas descobertas. As superfícies 3D podem ser desenhadas por qualquer critério disponível no relatório de otimização, por exemplo, lucro líquido, porcentagem lucrativa e redução máxima. Valores relevantes de entrada e saída são exibidos quando o cursor do mouse paira sobre um ponto específico na superfície dos gráficos. MULTICHARTS, LLC 19992017 Todas as marcas comerciais e direitos de autor são propriedade de seus proprietários respectivos. Negociação do sistema O mercado eletrônico atual é uma arena dinâmica e complexa onde existem infinitas possibilidades a qualquer momento. É comum para os indivíduos novos para os mercados financeiros, e para a negociação em geral, para se tornar oprimido com a velocidade ea magnitude das flutuações do mercado. Na tentativa de gerenciar a volatilidade que está presente durante a negociação de instrumentos financeiros, os indivíduos são muitas vezes inclinados a desenvolver uma abordagem sistemática de visualização dos mercados financeiros. O que é System Trading Um 8220trading system8221 é definido como sendo um conjunto definitivo de regras que identifica automaticamente os pontos de entrada e saída do mercado, sem intervenção humana discricionária. Por conseguinte, 8220system trading8221 é a aplicação do sistema de comércio8217s orientações como o único método pelo qual um comerciante identifica e executa um comércio. Como todas as facetas do mercado tornaram-se informatizado, o escopo do sistema de negociação tem se expandido muito. Um sistema Trader8217s 8220Edge8221 O objetivo de qualquer sistema de comércio é criar um 8220edge, 8221 ou uma expectativa positiva a longo prazo para o comerciante. Uma borda é o valor percebido presente dentro de um determinado comércio que tenha sido criado pelo sistema de comércio. Sem um limite válido, o sistema de negociação deixa de ser viável. Os princípios orientadores de um sistema de negociação podem ser fundamentados em praticamente qualquer disciplina. Um sistema de comércio pode ser enraizado profundamente na análise técnica ou baseado na análise fundamental tradicional. Alguns sistemas de negociação são baseados unicamente na ação de preço e impulso, enquanto outros incorporam algoritmos derivados de matemática intrincada. A imaginação do trader8217s e as capacidades tecnológicas actuam como as únicas limitações relativas à criação de um sistema comercial. Desenvolvimento de Sistemas Um conjunto concreto de regras é necessário para que exista um sistema de negociação. Muitas táticas são usadas na elaboração de regras de um sistema e, em última instância, a validade dessas regras serve como base para toda a abordagem de negociação. Backtesting de dados históricos é um dos aspectos mais comuns do desenvolvimento do sistema. Backtesting é definido como sendo o processo de aplicação de uma estratégia de negociação ou método analítico para dados históricos, a fim de ver quão precisamente a estratégia ou método teria previsto os resultados reais. Embora seja uma ferramenta valiosa no desenvolvimento de um sistema de comércio viável, backtesting é suscetível a muitas armadilhas. O viés histórico, a adaptação dos dados e a ausência de dados históricos precisos são apenas algumas maneiras pelas quais os resultados do estudo de backtesting podem se tornar imprecisos. Outra maneira popular pela qual os desenvolvedores do sistema testar uma validade trading8217s é chamado de otimização para a frente. Isso é mais complexo do que backtesting, mas no seu núcleo, é simplesmente testar uma validade trading8217s sobre conjuntos de dados históricos aleatórios dados calendários variáveis. Embora o backtesting seja propenso a produzir resultados obsoletos, a otimização para a frente visa simular o desempenho futuro. O desenvolvimento de sistemas era uma vez uma disciplina disponível apenas para grandes investidores institucionais e gestores de fundos. No entanto, à medida que a tecnologia dos sistemas de informação avançava, a disponibilidade de dados e software tornou-se acessível e disponível para o comerciante varejista. Muitas plataformas de negociação eletrônicas oferecem opções de desenvolvimento de sistema incluídas no pacote de software client8217s. MetaTrader 4, Mirror Trader, NinjaTrader e Trading Station são algumas plataformas que oferecem os produtos comerciante varejo útil no desenvolvimento do sistema. Leia mais sobre eles aqui . Aplicações do Sistema Trading Tecnologia e sistema de negociação andam de mãos dadas, e muitas vezes funcionam como um no today8217s mercado eletrônico. A negociação automatizada, a negociação algorítmica ea negociação de alta freqüência são exemplos de metodologias de negociação dependentes do sistema que se tornaram predominantes no mercado global. Negociação automatizada é uma abordagem para os mercados onde os negócios individuais são colocados e gerenciados exclusivamente por computadores. Os computadores são programados de acordo com as regras de um sistema de negociação e executam o sistema automaticamente. Por exemplo, após o reconhecimento de uma configuração comercial definida pelas diretrizes do sistema de comércio programado, o computador se comporta como um comerciante humano. Ele automaticamente coloca ordens de entrada no mercado, ordens de perda de perda e metas de lucro de acordo com as diretrizes do sistema de negociação. Freqüentemente, os sistemas de negociação automatizados são guiados por algoritmos complexos, daí o termo "trading" 8220algorítmico. Negociação de alta freqüência é a prática de trocar grandes volumes via automação direcionada por algoritmos. Essencialmente, a negociação de alta freqüência é a aplicação básica de um sistema de negociação. No entanto, a negociação ocorre em velocidades medidas em milissegundos e volumes medidos em milhares. Estima-se que cerca de 50 de todas as ações negociadas nos Estados Unidos podem ser atribuídas a sistemas de negociação de alta freqüência. Se um participante no mercado é um pequeno comerciante varejista, ou um grande investidor institucional, a prática do sistema de negociação, sem dúvida, representa uma parte substancial das operações de negociação. O sistema de negociação fornece uma visão estruturada do mercado e serve como um elemento essencial em qualquer abordagem de negociação automatizada, algorítmica ou de alta freqüência. Os artigos contêm informações gerais e não representam a oferta de produtos ou o aconselhamento comercial da FXCMs. As informações são apenas para fins educacionais. Esta não é uma solicitação ou uma oferta de compra / venda. Conduzir sua própria due diligence ou procurar aconselhamento de um consultor financeiro independente antes de fazer um investimento. Aviso de Investimento de Alto Risco: Negociar divisas e / ou contratos de margem de diferenças traz um alto nível de risco e pode não ser adequado para todos os investidores. A possibilidade existe que você poderia sustentar uma perda em excesso de seus fundos depositados e, portanto, você não deve especular com capital que você não pode perder. Antes de decidir negociar os produtos oferecidos por FXCM você deve considerar com cuidado seus objetivos, situação financeira, necessidades e nível de experiência. Você deve estar ciente de todos os riscos associados à negociação em margem. FXCM fornece aconselhamento geral que não leva em conta seus objetivos, situação financeira ou necessidades. O conteúdo deste Website não deve ser interpretado como um conselho pessoal. FXCM recomenda que você procure o conselho de um conselheiro financeiro separado. Clique aqui para ler o aviso de risco total. A FXCM é uma Comerciante de Mercadorias e Comerciante de Câmbio de Varejo com a Commodity Futures Trading Commission e é membro da National Futures Association. NFA 0308179 Forex Capital Markets, LLC (FXCM LLC) é uma subsidiária operacional dentro do grupo de empresas FXCM (coletivamente, o Grupo FXCM). Todas as referências neste site para FXCM referem-se ao Grupo FXCM. Tenha em atenção que as informações contidas neste website destinam-se apenas a clientes de retalho, e certas declarações aqui contidas podem não ser aplicáveis ​​a Participantes elegíveis do contrato (isto é, clientes institucionais), tal como definido no Commodity Exchange Act 1 (a) (12). Copyright 2017 Forex Capital Markets. Todos os direitos reservados. 55 Water St. 50th Floor, Nova Iorque, NY 10041 EUA

No comments:

Post a Comment