Saturday 18 November 2017

Testando sistemas de negociação em dados históricos


Análise de Backtesting e Forward: A Importância de Correlation Os comerciantes que estão ansiosos para tentar uma idéia comercial em um mercado ao vivo geralmente cometem o erro de confiar inteiramente em resultados de backtesting para determinar se o sistema será lucrativo. Embora o backtesting possa fornecer aos comerciantes informações valiosas, muitas vezes é enganador e é apenas uma parte do processo de avaliação. Testes fora da amostra e testes de desempenho avançado fornecem uma confirmação adicional quanto à eficácia de um sistema, e podem mostrar cores verdadeiras dos sistemas, antes que o dinheiro real esteja na linha. Uma boa correlação entre resultados de teste de backtesting, out-of-sample e forward é vital para determinar a viabilidade de um sistema de comércio. (Oferecemos algumas dicas sobre este processo que podem ajudar a refinar suas estratégias comerciais atuais. Para saber mais, leia Backtesting: Interpreting the Past.) Backtesting Basics Backtesting refere-se à aplicação de um sistema de negociação a dados históricos para verificar como um sistema teria realizado durante O período de tempo especificado. Muitas das plataformas de negociação de hoje suportam backtesting. Os comerciantes podem testar idéias com algumas batidas de teclas e obter informações sobre a eficácia de uma idéia sem arriscar fundos em uma conta comercial. Backtesting pode avaliar idéias simples, como a forma como um crossover médio móvel seria executado em dados históricos, ou sistemas mais complexos com uma variedade de insumos e disparadores. Enquanto uma idéia pode ser quantificada, ela pode ser testada novamente. Alguns comerciantes e investidores podem procurar a experiência de um programador qualificado para desenvolver a idéia em uma forma testável. Normalmente, isso envolve um programador que codifica a idéia na linguagem proprietária hospedada pela plataforma de negociação. O programador pode incorporar variáveis ​​de entrada definidas pelo usuário que permitem ao comerciante ajustar o sistema. Um exemplo disso seria no sistema de cruzamento de média móvel simples observado acima: o comerciante seria capaz de inserir (ou alterar) os comprimentos das duas médias móveis usadas no sistema. O comerciante poderia voltar a testar para determinar quais comprimentos de médias móveis teriam realizado o melhor nos dados históricos. (Obtenha mais informações no Tutorial de Negociação Eletrônica.) Estudos de Otimização Muitas plataformas de negociação também permitem estudos de otimização. Isso implica entrar em um intervalo para a entrada especificada e deixar o computador fazer a matemática para descobrir qual a entrada que teria realizado o melhor. Uma otimização multi-variável pode fazer a matemática para duas ou mais variáveis ​​combinadas para determinar quais níveis juntos teriam alcançado o melhor resultado. Por exemplo, os comerciantes podem dizer ao programa quais os insumos que eles gostariam de adicionar à sua estratégia, então eles seriam otimizados para seus pesos ideais, dado os dados históricos testados. Backtesting pode ser emocionante na medida em que um sistema não lucrativo muitas vezes pode ser magicamente transformado em uma máquina de fazer dinheiro com algumas otimizações. Infelizmente, ajustar um sistema para alcançar o maior nível de rentabilidade passada muitas vezes leva a um sistema que funcionará mal na negociação real. Esta sobre-otimização cria sistemas que parecem bons apenas em papel. Curve fitting é o uso de análises de otimização para criar o maior número de negócios vencedores com o maior lucro nos dados históricos usados ​​no período de teste. Embora pareça impressionante em resultados de backtesting, o ajuste de curva leva a sistemas não confiáveis, uma vez que os resultados são essencialmente personalizados para apenas esse dado e período de tempo específicos. Backtesting e otimização fornecem muitos benefícios para um comerciante, mas isso é apenas parte do processo ao avaliar um sistema comercial potencial. Um próximo passo dos comerciantes é aplicar o sistema a dados históricos que não foram utilizados na fase inicial de teste posterior. (A média móvel é fácil de calcular e, uma vez traçada em um gráfico, é uma poderosa ferramenta de manchas visuais. Para obter mais informações, leia as Médias móveis simples, faça com que as tendências se destatem.) Dados em amostra versus dados fora da amostra Ao testar uma ideia sobre dados históricos, é benéfico reservar um período de tempo de dados históricos para fins de teste. Os dados históricos iniciais em que a ideia é testada e otimizada são referidos como dados na amostra. O conjunto de dados que foi reservado é conhecido como dados fora da amostra. Esta configuração é uma parte importante do processo de avaliação porque fornece uma maneira de testar a idéia em dados que não foram um componente no modelo de otimização. Como resultado, a idéia não será influenciada de forma alguma pelos dados fora da amostra e os comerciantes serão capazes de determinar o quão bem o sistema pode executar em novos dados, ou seja, na negociação da vida real. Antes de iniciar qualquer backtesting ou otimização, os comerciantes podem reservar uma porcentagem dos dados históricos a serem reservados para testes fora da amostra. Um método é dividir os dados históricos em terços e segregar um terço para uso nos testes fora da amostra. Apenas os dados na amostra devem ser usados ​​para o teste inicial e qualquer otimização. A Figura 1 mostra uma linha de tempo onde um terço dos dados históricos é reservado para testes fora da amostra e dois terços são usados ​​para o teste na amostra. Embora a Figura 1 represente os dados fora da amostra no início do teste, procedimentos típicos teriam a porção fora da amostra imediatamente anterior ao desempenho para a frente. Figura 1: uma linha de tempo que representa o comprimento relativo de dados na amostra e fora da amostra usados ​​no processo de teste posterior. Uma vez que um sistema comercial foi desenvolvido usando dados na amostra, está pronto para ser aplicado aos dados fora da amostra. Os comerciantes podem avaliar e comparar os resultados de desempenho entre dados in-sample e out-of-sample. A correlação refere-se a semelhanças entre os desempenhos e as tendências gerais dos dois conjuntos de dados. As métricas de correlação podem ser usadas na avaliação dos relatórios de desempenho da estratégia criados durante o período de teste (um recurso que a maioria das plataformas de negociação fornece). Quanto mais forte for a correlação entre os dois, melhor será a probabilidade de um sistema funcionar bem no teste de desempenho direto e na negociação ao vivo. A Figura 2 ilustra dois sistemas diferentes que foram testados e otimizados em dados na amostra, depois aplicados a dados fora da amostra. O gráfico à esquerda mostra um sistema claramente ajustável para funcionar bem nos dados na amostra e falhou completamente nos dados fora da amostra. O gráfico à direita mostra um sistema que funcionou bem em dados internos e fora da amostra. Figura 2: duas curvas de equidade. Os dados comerciais antes de cada seta amarela representam testes na amostra. Os negócios gerados entre as setas amarelas e vermelhas indicam testes fora da amostra. Os negócios após as setas vermelhas são das fases de teste de desempenho para frente. Se houver pouca correlação entre o teste na amostra e fora da amostra, como o gráfico esquerdo na Figura 2, é provável que o sistema tenha sido superestimado e não funcionará bem na negociação ao vivo. Se houver uma forte correlação no desempenho, como visto no gráfico certo na Figura 2, a próxima fase da avaliação envolve um tipo adicional de testes fora da amostra, conhecidos como testes de desempenho para a frente. (Para obter mais informações sobre a previsão, consulte Previsão Financeira: O Método Bayesiano.) Princípios básicos do teste de desempenho avançado Teste de desempenho para o futuro, também conhecido como comércio de papel. Fornece aos comerciantes outro conjunto de dados fora da amostra sobre os quais avaliar um sistema. O teste de desempenho avançado é uma simulação de negociação real e envolve seguir a lógica dos sistemas em um mercado ao vivo. Também é chamado de papel comercial, uma vez que todas as negociações são executadas apenas em papel, as entradas de comércio e as saídas são documentadas juntamente com qualquer lucro ou perda do sistema, mas nenhuma transação real é executada. Um aspecto importante do teste de desempenho para frente é seguir a lógica dos sistemas exatamente o contrário, torna-se difícil, se não impossível, avaliar com precisão esta etapa do processo. Os comerciantes devem ser honestos sobre quaisquer entradas e saídas de comércio e evitar comportamentos como cereais, ou não incluir um comércio de papel racionalizando que eu nunca teria negociado. Se o comércio tivesse ocorrido na sequência da lógica dos sistemas, ele deveria ser documentado e avaliado. Muitos corretores oferecem uma conta de negociação simulada onde os negócios podem ser colocados e o lucro e perda correspondente calculados. O uso de uma conta de negociação simulada pode criar uma atmosfera semi-realista para praticar o comércio e avaliar ainda mais o sistema. A Figura 2 também mostra os resultados para o teste de desempenho para frente em dois sistemas. Novamente, o sistema representado no gráfico à esquerda não consegue ir muito além do teste inicial em dados na amostra. O sistema mostrado no gráfico certo, no entanto, continua a funcionar bem em todas as fases, incluindo o teste de desempenho para frente. Um sistema que mostra resultados positivos com boa correlação entre os testes de desempenho na amostra, fora da amostra e para a frente está pronto para ser implementado em um mercado ao vivo. The Bottom Line Backtesting é uma valiosa ferramenta disponível na maioria das plataformas de negociação. A divisão de dados históricos em conjuntos múltiplos para fornecer testes em amostra e fora da amostra pode fornecer aos comerciantes um meio prático e eficiente para avaliar uma idéia e sistema de negociação. Como a maioria dos comerciantes emprega técnicas de otimização no backtesting, é importante então avaliar o sistema em dados limpos para determinar sua viabilidade. A continuação dos testes fora da amostra com testes de desempenho para frente fornece outra camada de segurança antes de colocar um sistema no mercado arriscando dinheiro real. Os resultados positivos e a boa correlação entre os testes de backtesting e teste de desempenho avançado na amostra e fora da amostra aumentam a probabilidade de um sistema funcionar bem na negociação real. (Para obter uma visão abrangente sobre análise técnica, consulte Análise Técnica: Introdução.) Teste suas estratégias de negociação nesses sites. Não seria ótimo se você pudesse conceber uma estratégia de negociação, teste-a contra dados históricos por cinco meses, cinco anos, seja lá o que for, E então deixe esse sistema funcionar automaticamente por um tempo - troca de papel para que você possa ver como ele funciona De fato, o software permite que você faça exatamente o que existe há anos. O problema é que os programas foram tão difíceis que só os programadores hardcore poderiam usá-los. Ou então - como eu falei em uma coluna em março - o software estava bloqueado nos backrooms das empresas de investimento. Agora, o software de negociação analítica está começando a aparecer na Web. Se é bom ou não, podemos resolver um momento. Mas o fato é que, no momento, você pode se registrar com vários sites e testar software de desenvolvimento de estratégia de unidade de graça. Além disso, pelo menos uma corretora online planeja fazer do comércio analítico uma grande parte do pacote de serviços. Robotrader Primeiro, o que exatamente são programas analíticos e como eles funcionam. Muitos funcionam um pouco como as telas de estoque que eu escrevi sobre em junho. Para usá-los, você primeiro planeja uma série de regras que você acha que devem governar sua negociação. Um exemplo pode ser: Não posso comprar apenas ações de empresas de componentes ópticos com alto crescimento de ganhos de dois dígitos que atualmente estão sendo negociados abaixo da média móvel de 50 dias. Estou usando apenas ações como exemplo. Diferentes programas permitem que você crie estratégias de negociação para futuros, opções e moedas. Em todos os casos, basta preencher os espaços em branco, como em um questionário, indicando todos os critérios que você deseja usar. Uma tela em estoque então cuspiu uma lista de empresas que se enquadram na conta. Mas os programas analíticos vão um passo adiante. Eles procurarão empresas que atendessem aos seus critérios, digamos, há dois anos. Então, agindo como se adquiriram ações dessas ações há dois anos, acompanharão o progresso do investimento usando dados históricos do mercado. Dessa forma, eles são capazes de testar se a sua estratégia o tornaria rico ou pobre. O termo para isso está de volta ao teste. Como próximo passo, os programas analíticos irão negociar os estoques comerciais que atendam aos seus critérios de seleção. Isso é chamado de teste para frente. E aqui novamente, você obtém uma visão contínua do funcionamento do seu sistema. Finalmente, no curso de sua negociação ao vivo, os melhores desses programas digitalizam os terabytes de dados de mercado em tempo real e alertam você quando surge uma oportunidade de negociação - como sempre, com base nas regras definidas. Essa é a gama de coisas que esses programas podem fazer por você. Alguns sites da Web agora oferecem peças dessa funcionalidade de graça. Por exemplo, a tela de estoque no CNBC permite que você crie uma pesquisa bastante complexa que traz uma lista de empresas. Além disso, um bom gráfico aparece para mostrar o quão bem a sua estratégia teria realizado mês a mês no ano passado. Outro site, Tradetrek. Na verdade escolhe ações para você com seu software analítico. E desse modo o site é semelhante ao siXer. EquityTrader e StockConsultant. Todos esses sites gratuitos usam software analítico para gerar sinais de compra e venda. Tradetrek difere ligeiramente porque incorpora um recurso de back-testing que permite ver o desempenho do software no passado. Basta escolher uma data, clicar em uma das recomendações de ações que apareceram nessa data e depois clicar no próximo dia. E você vê se a recomendação dos programas teria feito ou perder dinheiro. (Seria bom se mais sites financeiros fossem estes próximos.) Tradetrek é gratuito se você usar dados atrasados. As assinaturas dão acesso a dados em tempo real e custam 25 por mês. O AboveTrade continua ainda mais, permitindo que você crie e teste estratégias de negociação de teste para ações individuais. Então, digamos que você escolhe a America Online (AOL). Diga ao programa o quanto de um ganho que quiser cada vez que você entra em uma posição longa. Digamos que você gostaria de fazer 4 em cada comércio. Agora, Heres, onde AboveTrade recebe um pouco de caricatura. Você então escolheu um punhado de estratégias enlatadas. Cada um tem um nome descritivo, como o cauteloso Dr. Trend ou o Agressivo Major Bullmaker. Em seguida, você escolhe uma calculadora de analista do setor que dê peso especial, por exemplo, às taxas de juros ou ao setor em que a sua ação se enquadra, neste caso, o setor da Internet. Pressione o botão Ver resultados e você vê o quão bem a sua estratégia para o estoque pode ter funcionado ao longo de dois anos. Especificamente, um gráfico do estoque aparece mostrando seus pontos de entrada e saída sugeridos para o período de teste. Se a sua estratégia for um vencedor, você pode procurar paralelos entre a forma como o estoque traçou no passado e como ele é o gráfico atualmente e depois troca conforme. Projetar até mesmo esse tipo de estratégia simplificada pode levar muito tempo. Os sistemas de negociação que eu construí em AboveTrade invariavelmente voltaram mostrando retornos negativos. Talvez essa fosse apenas a minha sorte. Felizmente, o AboveTrade possui uma característica que mostra as estratégias vencedoras escolhidas por outros membros. Descobri, por exemplo, que uma estratégia de membros, chamada AOL e asha, teria me dado um ganho de 104 no ano passado até a quarta-feira (vs. um retorno de 12,5 se você tivesse comprado e mantido o estoque durante esse período). Este recurso me lembra as recomendações de ações amadoras que você encontra em sites como ClearStation e iexchange. Exceto que, em vez de trocar as recomendações de estoque, as pessoas da AboveTrade podem trocar estratégias de negociação. É muito divertido. Mas, como eu sugeri anteriormente, o AboveTrade parece mais um brinquedo do que uma aplicação séria. Por um lado, não tenho ideia de quais critérios específicos o Major Bullmaker agressivo baseia decisões comerciais. Por essa questão, eu não aposto que a casa em uma estratégia cuspiu pela tela de estoque CNBC ou o mecanismo de estoque da ponta da Tradetrek, quer - não sem fazer muito mais diligência. Material sério Muitas empresas comercializam programas analíticos mais sérios na Net. A revista Technical Analysis of Stocks and Commodities (traders) contém o que é provavelmente a lista mais completa disponível. O líder nesta categoria há muito tempo foi a TradeStation da Omega Research. A TradeStation tem sua própria linguagem de programação, bem como uma extensa lista de estratégias enlatadas para escolher. Os usuários de programas sempre foram uma subcultura bem unida, como os proprietários de trailers da Airstream. Eles se reúnem em convenções anuais e pertencem a clubes de usuários em todo o país. E eles ativamente vendem ou trocam as estratégias comerciais que eles inventaram. Até recentemente, o conjunto completo de programas do TradeStation teria custado cerca de 5.000. Mas em algum momento em setembro, a Omega Research planeja se fundir com a corretora de ativos e comerciantes da Internet OnlineTrading. Quando isso acontece, a TradeStation não será vendida como um pacote autônomo. Em vez disso, ele será integrado à plataforma de execução do OnlineTradings, que leva uma comissão por comércio e já contém os sinalizadores de sineis e assobios que procuram. A ideia, é claro, é que você pode programar em uma estratégia de negociação usando o TradeStation, depois teste de volta e teste direto. E quando você estiver pronto para ir ao vivo, você simplesmente puxa o gatilho sempre que seu sistema encontrar uma oportunidade - um bom pacote. E o co-fundador da Omega Research, Ralph Cruz, acredita que pode contar com a base de clientes do TradeStations 45.000 para estar entre os primeiros a migrar para o novo serviço, que será chamado de TradeStation. Você poderia pensar em TradeStation como concorrente do CyBerCorp, diz Cruz. Uma corretora popular de daytrading, a CyBerCorp possui uma plataforma de execução de nível profissional que também inclui um programa analítico chamado CyBerQuant. O CyBerQuant permite que você faça triagem em estoque em tempo real, mas não faz uma análise dos resultados. Então, voltaremos a testar e outras ferramentas sofisticadas de desenvolvimento de estratégias comerciais se tornarão parte de todos os comerciantes ativos. O arsenal Cruz acredita que deixá-lo para um computador para planejar e executar suas negociações vai demorar muita angústia e incerteza no trabalho. Os comerciantes agora estão sobrecarregados com informações, ele diz. Mas no fundo eles percebem que, em última instância, o maior obstáculo para o seu próprio sucesso são suas próprias emoções, especificamente o medo e a ganância. A TradeStation baseia-se na premissa de que a melhor maneira de ser bem sucedido é isolar suas emoções da sua tomada de decisão. Mark Ingebretsen é editor em grande escala com a revista Online Investor. Ele escreveu para uma grande variedade de publicações comerciais e financeiras. Atualmente, ele não possui cargos nos estoques das empresas mencionadas nesta coluna. Enquanto Ingebretsen não pode fornecer conselhos ou recomendações de investimento, ele agradece seus comentários no mingebretsenonlineinvestor. Usando Excel para Back Test Trading Strategies Como rever o teste com o Excel, fiz uma boa quantidade de testes de back-up da estratégia de negociação. Eu usei linguagens e algoritmos de programação sofisticados e eu também fiz isso com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar várias estratégias de negociação. Se você pode operar uma planilha eletrônica, como o Excel, você pode voltar testar muitas estratégias. O objetivo deste artigo é mostrar-lhe como rever um teste de uma estratégia comercial usando o Excel e uma fonte de dados acessível ao público. Isso não deve custar-lhe mais do que o tempo necessário para fazer o teste. Antes de começar a testar qualquer estratégia, você precisa de um conjunto de dados. No mínimo, esta é uma série de data e preços. Mais realista, você precisa dos preços de data e hora, aberto, alto, baixo e fechado. Você geralmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradiária. Se você quer trabalhar e aprender a fazer uma volta com o Excel enquanto estiver lendo isso, siga as etapas que eu descrevo em cada seção. Nós precisamos obter alguns dados para o símbolo que vamos voltar a testar. Ir para: Finanças do Yahoo No campo Símbolo de inserir digite: IBM e clique em Ir sob Cotações no lado esquerdo, clique em Preços históricos e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desça até a parte inferior da página e clique em Baixar para Folha de cálculo Salve o arquivo com um nome (como ibm. csv) e para um local que você possa encontrar mais tarde. Preparando os dados Abra o arquivo (que você baixou acima) usando o Excel. Devido à natureza dinâmica da Internet, as instruções que você leu acima e o arquivo que você abriu podem ter mudado no momento em que você lê isso. Quando eu baixei este arquivo, as melhores linhas pareciam assim: agora você pode excluir as colunas que você não vai usar. Para o teste que estou prestes a fazer, só usarei a data, abrir e fechar valores, então eu exclui o Alto, o Baixo, o Volume e o Adj. Fechar. Eu também ordenou os dados para que a data mais antiga fosse primeiro e a última data estava na parte inferior. Use as opções do menu Classificar dados para fazer isso. Em vez de testar uma estratégia, eu vou tentar encontrar o dia da semana que forneceu o melhor retorno se você seguiu uma compra aberta e venda a estratégia de fechamento. Lembre-se de que este artigo está aqui para apresentá-lo sobre como usar o Excel para apoiar as estratégias de teste. Podemos construir sobre isso no futuro. Aqui está o arquivo ibm. zip que contém a planilha com os dados e as fórmulas para este teste. Meus dados agora residem nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, tenho fórmulas de lugar para determinar o retorno em um dia específico. Inserindo as fórmulas A parte complicada (a menos que você seja um especialista do Excel) esteja trabalhando as fórmulas para usar. Isso é apenas uma questão de prática e quanto mais você pratica, mais fórmulas você descobrirá e mais flexibilidade você terá com seus testes. Se você baixou a planilha e veja a fórmula na célula D2. Parece assim: esta fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada uma vez que foi copiada. Vou explicar brevemente a fórmula. A fórmula IF tem uma condição, parte verdadeira e falsa. A condição é: se o dia da semana (convertido em um número de 1 a 5 que corresponde de segunda a sexta-feira) é o mesmo que o dia da semana na primeira linha desta coluna (D1). A verdadeira parte da declaração (C2-B2) simplesmente nos dá o valor do Close-Open. Isso indica que compramos o Open e vendemos o Close e este é o nosso profitloss. A parte falsa da declaração é um par de aspas duplas () que não coloca nada na célula se o dia da semana não for combinado. Os sinais à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou a linha para que, quando esta copiou, essa parte da referência da célula não muda. Então, aqui em nosso exemplo, quando a fórmula é copiada, a referência para a célula de data A2 mudará o número da linha se for copiada para uma nova linha, mas a coluna permanecerá na coluna A. Você pode aninhar as fórmulas e fazer regras excepcionalmente poderosas E expressões. Os resultados Na parte inferior das colunas da semana, coloquei algumas funções de resumo. Nomeadamente, as funções média e soma. Estes nos mostram que, durante 2004, o dia mais lucrativo para implementar esta estratégia foi em uma terça-feira e isso foi seguido de perto por uma quarta-feira. Quando eu testei a estratégia de Vencimento às Sextas - Bullish ou Bearish e escrevi esse artigo, usei uma abordagem muito similar com uma planilha e fórmulas como esta. O objetivo desse teste foi ver se as sextas de caducidade eram geralmente de alta ou baixa. Experimente. Baixe alguns dados do Yahoo Finance. Carregue no Excel e experimente as fórmulas e veja o que pode surgir. Publique suas perguntas no fórum. Boa sorte e estratégia lucrativa

No comments:

Post a Comment