Sunday, November 6, 2016

Backtesting E Data Mining

Scott Percival Introdução Neste artigo vamos dar uma olhada em duas práticas relacionadas que são amplamente utilizados por comerciantes chamados Backtesting e Data Mining. Estas são as técnicas que são poderosos e valioso se nós usá-los corretamente, no entanto, muitas vezes os comerciantes desvio-los. Portanto, nós também vamos explorar duas armadilhas comuns dessas técnicas, conhecido como o problema hipótese múltipla e overfitting e como superar essas armadilhas. Backtesting Backtesting é apenas o processo de utilização de dados históricos para testar o desempenho de alguma estratégia de negociação. Backtesting geralmente começa com uma estratégia que gostaríamos de testar, por exemplo, a compra de GBP / USD quando cruza acima dos 20 dias de média móvel e vender quando cruza abaixo dessa média. Agora nós poderíamos testar essa estratégia, observando que o mercado não vai para a frente, mas isso levaria muito tempo. É por isso que usar dados históricos que já está disponível. & quot; Mas espere, espere & quot!; Eu ouço você dizer. & quot; Você não poderia enganar ou, pelo menos, ser tendencioso, porque você já sabe o que aconteceu no passado? & quot; Isso é definitivamente uma preocupação, portanto, um backtest válida será aquela na qual não estamos familiarizados com os dados históricos. Podemos fazer isso escolhendo períodos aleatórios ou escolhendo muitos períodos de tempo diferentes em que para realizar o teste. Agora eu posso ouvir um outro grupo de você dizendo, & quot; mas tudo o que dados históricos apenas sentado lá esperando para ser analisado é tentador, não é? Talvez existam segredos profundos em que os dados apenas esperando para geeks como nós a descobri-lo. Seria tão errado para nós que para examinar os dados históricos em primeiro lugar, para analisá-lo e ver se podemos encontrar padrões escondidos dentro dela? & Quot; Este argumento também é válido, mas ela nos leva em uma área cheia de perigos. o mundo do Data Mining Mineração de dados Mineração de dados envolve a busca por meio de dados, a fim de localizar padrões e encontrar possíveis correlações entre variáveis. No exemplo acima envolvendo o móvel de 20 dias estratégia média, nós só veio com esse indicador específico fora do azul, mas suponho que não tínhamos idéia de que tipo de estratégia que queria testar? Isso é quando a mineração de dados vem a calhar. Poderíamos busca através de nossa dados históricos sobre GBP / USD para ver como o preço se comportou depois que cruzou muitas médias móveis diferentes. Poderíamos verificar movimentos de preços contra muitos outros tipos de indicadores de bem e ver quais correspondem a grandes movimentos de preços. O tema da mineração de dados pode ser controverso, porque como eu discutido acima parece um pouco como fazer batota ou & quot; olhando para frente & quot; nos dados. Mineração de dados é uma técnica científica válida? Por um lado, o método científico diz que nós deveríamos fazer uma hipótese e depois testá-lo contra os nossos dados, mas, por outro lado, parece apropriado fazer algum & quot; exploração & quot; dos dados no primeiro fim de sugerir uma hipótese. Então, o que é certo? Podemos olhar para as etapas do método científico para uma pista para a origem da confusão. O processo em geral parece com isso: Observação (dados) & gt; & gt; & gt; Hypothesis & gt; & gt; & gt; Predição & gt; & gt; & gt; Experiment (dados) Observe que podemos lidar com dados durante ambos os estágios observação e experimentação. Assim, ambos os pontos de vista estão certos. Devemos utilizar os dados, a fim de criar uma hipótese razoável, mas também testar essa hipótese usando os dados. O truque é simplesmente para se certificar de que os dois conjuntos de dados não são os mesmos! Nunca devemos testar a nossa hipótese utilizando o mesmo conjunto de dados que usamos para sugerir nossa hipótese. Em outras palavras, se você usar a mineração de dados, a fim de avançar com ideias de estratégia, certifique-se de usar um conjunto diferente de dados para backtest essas idéias. Agora vamos voltar nossa atenção para as principais armadilhas do uso de mineração de dados e backtesting incorretamente. O problema geral é conhecido como & quot; excesso de otimização & quot; e eu prefiro quebrar esse problema em dois tipos distintos. Estes são o problema hipótese múltipla e superajuste. Em certo sentido, eles são maneiras opostas de cometer o mesmo erro. O problema hipótese múltipla envolve a escolha de muitas hipóteses simples enquanto overfitting envolve a criação de uma hipótese muito complexo. O Multiple Hipótese Problem Para ver como esse problema surge, vamos voltar ao nosso exemplo onde nós backtested o móvel de 20 dias estratégia média. Vamos supor que nós backtest a estratégia contra dez anos de dados de mercado históricos e eis que adivinhem? Os resultados não são muito animadores. No entanto, sendo os comerciantes embaralhado como somos, decidimos não desistir tão facilmente. Que tal uma média móvel de 10 dias? Isso pode funcionar um pouco melhor, então vamos backtest-lo! Corremos outro backtest e nós achamos que os resultados ainda não são estelares, mas eles são um pouco melhores do que os resultados de 20 dias. Nós decidimos explorar um pouco e fazer testes similares com 5 dias e 30 dias de médias móveis. Finalmente, ocorre-nos que poderíamos simplesmente testar cada média móvel simples até algum momento e ver como todos eles desempenham. Assim, nós testamos a 2 dias, 3 dias, 4 dias, e assim por diante, todo o caminho até à média móvel de 50 dias. Agora, certamente, algumas dessas médias irá executar mal e os outros vão executar razoavelmente bem, mas lá terá que ser um deles que é o melhor absoluto. Por exemplo, podemos descobrir que a média móvel de 32 dias acabou por ser o melhor intérprete durante este período especial de dez anos. Será que isso significa que há algo de especial sobre a média de 32 dias e que devemos estar confiante de que terá um bom desempenho no futuro? Infelizmente, muitos comerciantes assumem que este seja o caso, e eles simplesmente parar a sua análise neste momento, pensando que eles descobriram algo profundo. Eles caíram na & quot; múltipla Hipótese Problema & quot; armadilha. O problema é que não há nada incomum ou significativa sobre o fato de que alguns médio acabou por ser o melhor. Afinal de contas, nós testamos quase cinqüenta deles contra os mesmos dados, de modo que seria de esperar para encontrar alguns bons executantes, apenas por acaso. Isso não significa que não há nada de especial sobre a média móvel especial que & quot; won & quot; nesse caso. O problema surge porque nós testamos várias hipóteses até encontramos um que trabalhou, em vez de escolher uma única hipótese e testá-lo. Aqui está uma boa analogia clássica. Poderíamos chegar a uma única hipótese, como & quot; Scott é grande a virar cabeças em uma moeda. & Quot; A partir daí, poderíamos criar uma previsão que diz: & quot;. Se a hipótese for verdadeira, Scott será capaz de 10 caras em uma fileira & quot; Então, podemos realizar um experimento simples para testar essa hipótese. Se eu conseguir 10 caras em uma fileira que realmente não prova a hipótese. No entanto, se eu não posso realizar esta façanha, definitivamente, refuta a hipótese. Ao fazermos experiências que não conseguem refutar a hipótese repetida, então a nossa confiança em sua verdade cresce. Esse é o caminho certo para fazê-lo. No entanto, o que se tinha vindo acima com 1.000 hipóteses em vez de apenas a uma sobre eu ser uma boa flipper moeda? Nós poderíamos fazer a mesma hipótese cerca de 1.000 pessoas diferentes. me, Ed, Cindy, Bill, Sam, etc. Ok, agora vamos testar nossas hipóteses múltiplas. Pedimos a todos os mil pessoas a jogar uma moeda. Haverá, provavelmente, cerca de 500 que virar cabeças. Todo o resto pode ir para casa. Agora pedimos essas 500 pessoas virar novamente, e desta vez cerca de 250 vai virar cabeças. No terceiro aleta cerca de 125 pessoas virar cabeças, no quarto cerca de 63 pessoas estão à esquerda, e no quinto aleta existem cerca de 32. Estas 32 pessoas são todos bastante surpreendente não são? Eles todos capotou cinco cabeças em uma fila! Se jogarmos mais cinco vezes e eliminar metade das pessoas de cada vez, em média, vamos acabar com 16 anos, em seguida, 8, depois 4, depois 2 e, finalmente, uma pessoa que tenha deixado capotou dez cabeças em uma fileira. É Bill! Bill é um & quot; fantabulous & quot; flipper de moedas! Ou é ele? Bem, nós realmente não sabemos, e esse é o ponto. Bill pode ter ganho o nosso concurso de puro acaso, ou ele pode muito bem ser a melhor flipper de cabeças deste lado da galáxia de Andrômeda. Da mesma forma, não sabemos se a média móvel de 32 dias a partir de nosso exemplo acima apenas teve um bom desempenho em nosso teste por puro acaso, ou se há realmente algo especial sobre ele. Mas tudo o que fizemos até agora é encontrar uma hipótese, ou seja, que o movimento estratégia média de 32 dias é rentável (ou que Bill é um grande aleta moeda). Nós não realmente testado essa hipótese ainda. Portanto, agora que entendemos que não temos realmente descobriu algo significativo ainda sobre os 32 dias de média móvel ou sobre a capacidade de Bill para virar moedas, a pergunta natural perguntar é o que devemos fazer em seguida? Como eu mencionei acima, muitos comerciantes não percebem que há um próximo passo necessário em tudo. Bem, no caso de Bill você provavelmente perguntar: & quot; Aha, mas ele pode virar dez cabeças em uma linha novamente? & Quot; No caso de a média móvel de 32 dias, nós gostaria de testá-lo novamente, mas certamente não contra a mesma amostra de dados que usamos para escolher essa hipótese. Ficaremos escolher outro período de dez anos e ver se a estratégia funcionou tão bem. Poderíamos continuar a fazer esta experiência como muitas vezes como queríamos até a nossa oferta de novos períodos de dez anos saiu correndo. Nós nos referimos a isso como & quot; de testes & quot ;, amostra e é a maneira de evitar essa armadilha. Existem vários métodos de tais testes, um dos quais é & quot; validação cruzada & quot ;, mas não vamos entrar nessa muitos detalhes aqui. Overfitting Overfitting é realmente um tipo de inversão do problema acima. No exemplo hipótese múltipla acima, nós olhamos muitas hipóteses simples e pegou o que teve melhor desempenho no passado. Em overfitting primeiro olhar para o passado e, em seguida, construir uma única hipótese complexo que se encaixa bem com o que aconteceu. Por exemplo, se eu olhar para a taxa USD / JPY ao longo dos últimos 10 dias, eu poderia ver que o fecha diárias fez isso: cima, para cima, para baixo, para cima, para cima, para cima, para baixo, para baixo, para baixo, para cima. Entendi? Ver o padrão? Sim, nem eu, na verdade. Mas se eu queria usar esses dados para sugerir uma hipótese, eu poderia vir acima com. Meu surpreendente hipótese: Se o preço de fechamento sobe duas vezes seguidas, em seguida, para baixo por um dia, ou se ele vai para baixo por três dias em uma fila que devemos comprar, mas se o preço de fechamento vai até três dias seguidos devemos vender, mas se ele vai para cima de três dias em uma fila e, em seguida, para baixo três dias seguidos devemos comprar. Huh? Soa como uma hipótese whacky certo? Mas se tivéssemos usado esta estratégia nos últimos 10 dias, nós teria sido certo em cada comércio único que fizemos! O & quot; overfitter & quot; usa backtesting e mineração de dados de forma diferente do que os & quot; vários tomadores de hipóteses & quot; Faz. O & quot; overfitter & quot; não chegar a 400 estratégias diferentes para BACKTEST. De jeito nenhum! O & quot; overfitter & quot; usa ferramentas de mineração de dados para descobrir apenas uma estratégia, não importa o quão complexo, que teria tido o melhor desempenho durante o período de backtesting. Será que vai funcionar no futuro? Não é provável, mas poderíamos manter sempre aprimorando o modelo e testar a estratégia em diferentes amostras (de testes por amostragem novamente) para ver se o nosso desempenho melhora. Quando parar de receber melhorias de desempenho ea única coisa que está a aumentar é a complexidade de nosso modelo, então sabemos que cruzou a linha em overfitting. Conclusão Então, em resumo, temos visto que a mineração de dados é uma maneira de usar nossos dados históricos de preços para sugerir uma estratégia de negociação viável, mas que temos de estar cientes das armadilhas do problema hipótese múltipla e overfitting. O caminho para se certificar de que não cedam a essas armadilhas é backtest nossa estratégia usando um conjunto de dados diferente do que foi utilizado durante a exploração de mineração de dados. Nós geralmente se referem a isso como & quot; fora do teste da amostra & quot ;.


No comments:

Post a Comment