Walk forward testing trading system


AmiBroker 5.10 apresenta o modo de teste automático Walk-Forward. O teste automático Walk forward é uma técnica de projeto e validação do sistema na qual você otimiza os valores dos parâmetros em um segmento de dados de mercado passado (8221in-sample8221) e verifica o desempenho do sistema testando-o em tempo nos dados após a otimização Segmento (8221out-of-sample8221). Você avalia o sistema com base em quão bem ele executa nos dados de teste (8221out-of-sample8221) e não nos dados em que foi otimizado. O processo pode ser repetido em segmentos de tempo subsequentes. A ilustração a seguir mostra como o processo funciona. A finalidade do teste walk-forward é determinar sempre que o desempenho do sistema de negociação otimizado é o realista ou o resultado da curva-montagem. O desempenho do sistema pode ser considerado realista se tiver valor preditivo e obtiver resultados positivos em dados de mercado não vistos (fora da amostra). Quando o sistema é projetado corretamente, o desempenho de negociação em tempo real deve ser em relação ao descoberto durante a otimização. Se o sistema está indo trabalhar na troca real, deve primeiramente passar um teste walk-forward. Em outras palavras, nós realmente não se preocupam com os resultados da amostra como eles são (ou deve ser) sempre bom. O que importa é o desempenho do sistema fora da amostra. É a estimativa realista de como o sistema funcionaria na negociação real e rapidamente revelará quaisquer problemas de ajuste de curva. Se o desempenho fora da amostra é ruim, então você não deve trocar esse sistema. A premissa de executar várias etapas de otimização testa ao longo do tempo é que o passado recente é uma base melhor para selecionar valores de parâmetros do sistema do que o passado distante. Esperamos que os valores dos parâmetros escolhidos no segmento de otimização sejam adequados às condições de mercado que se seguem imediatamente. Isso pode ou não ser o caso como mercados passa por ciclo bearbull, por isso deve ter cuidado ao escolher a duração do período de amostragem. Para obter mais informações sobre o projeto do sistema e verificação usando walk-forward procedimento e todas as questões envolvidas, podemos recomendar Howard livro Bandys: QuotQuantitative Trading Systemsquot (ver links na página AmiBroker). Para usar a otimização do Walk-Forward, siga estas etapas: Ir para Ferramentas-gtAnalisação Automática Clique no botão Configurações e, em seguida, alterne para a guia Avançar-para-Avançar Aqui você pode ver as configurações Avançar para a otimização In-sample, Marca o período inicial começa fim Este período será movido para a frente pela etapa até que o fim alcança a última data. A data de começo pode mover para a frente por a etapa demasiado, ou pode ser ancorada (constante) se a verificação ancinada está ligada. Se você marcar Usar hoje, então A última data inserida será ignorada e HOJE (data atual) será usada em vez disso. Por padrão é selecionado um 8220EASY MODE8221 que simplifica o processo de configuração de parâmetros WF. Ele assume que: a) O segmento fora da amostra segue imediatamente o segmento da amostra b) o comprimento do segmento fora da amostra é igual ao passo para a frente Com base nessas duas suposições, o modo 8220EASY8221 leva a data de END da amostra E estabelece a data START fora da amostra para o dia seguinte. Em seguida, adiciona o STEP na amostra e isso torna-se data de END fora da amostra. Os valores de etapa dentro da amostra e fora da amostra são definidos para os mesmos valores. O modo 8220EASY8221 garante a correção das configurações do procedimento WF. Você deve usar o modo Easy (EOD) ao testar dados de fim de dia ou o modo Fácil (Intraday) ao testar dados intradiários. A diferença é que no modo EOD a data END do período anterior ea data START do próximo período são as mesmas - evitando assim a diferença entre os períodos. O modo Intraday define a data START do próximo período como NEXT DAY após END do período anterior. Isso garante que o dia limite não é contado duas vezes ao testar dados intradiários. No modo Avançado. O usuário tem controle completo sobre todos os valores, na medida em que eles não podem constituir válido WF procedimento. A interface permite desativar seletivamente as fases de amostra e fora da amostra usando caixas de seleção no topo (para coisas especiais como executar backtests sequenciais sem otimização). Todas as configurações são imediatamente refletidas na lista PREVIEW que mostra todos os segmentos ISOOS gerados e suas datas. O campo 8220 Optimization target 8221 define o raport de otimização COLUMN NAME que será usado para classificar os resultados e encontrar o BEST. Qualquer coluna interna pode ser usada (como aparece na saída de otimização) ou você pode usar qualquer métrica personalizada que você definir no backtester personalizado. O padrão é CARMDD, mas você pode selecionar qualquer outra métrica interna do combo. Você também pode TYPE-IN qualquer métrica personalizada que você adicionou via interface backtester personalizada. Depois de definir as configurações do Walk-Forward, vá para Análise Automática e pressione a seta para baixo no botão Otimizar e selecione 8220Walk Forward Otimização8221Esta seqüência será executada de otimizaitons e backtest e os resultados serão exibidos no 8220Walk Forward8221 documento que está aberto no Principal da aplicação. Quando a otimização estiver em execução, você pode clicar no botão 8220MINIMIZE8221 na caixa de diálogo Progresso para minimizá-lo - isso permite ver a saída Walk Forward durante as etapas de otimização. Equidade combinada IN-SAMPLE e OUT-OF-SAMPLE As equidades combinadas de amostra e de amostra estão disponíveis por tickers compostos do OSEQUITY (períodos consecutivos de IS e OOS são concatenados e escalados para manter a continuidade da linha de equivalência patrimonial - esta abordagem pressupõe que você geralmente Falar são lucros compostos). Para exibir a equidade IS e OOS você pode usar por exemplo este: ISEQUITY. Equidade na Amostra. cor vermelha . StyleLine) PlotForeign (relatório de sumário de OUT-OF-SAMPLE (novo em 5.60) A versão 5.60 traz um novo relatório de sumário que abrange todas as etapas fora da amostra. Ele é visível no Report Explorer como último e tem quotPSquot tipo. As mudanças mais importantes são que cada teste subseqüente fora da amostra usa o capital inicial igual ao passo anterior, eliminando o capital próprio (Anteriormente, ele usava o valor inicial constante Equity).Esta alteração é necessária para o cálculo adequado de todos os statisticsmetrics em todas as seções do teste de fora da amostra. O relatório de resumo mostra que as métricas embutidas representam corretamente todas as etapas fora da amostra, mas as métricas personalizadas resumidas são compostas usando Método definido pelo usuário: 1 valor do primeiro passo, 2 valor do último passo, 3 soma, 4 média, 5 mínimo, máximo 6. Por padrão, o relatório de resumo mostra o valor da última etapa de métricas personalizadas, A MENOS que o usuário especifique um método de combinação diferente no bo. AddCustom Chamada Metrics (). Bo. AddCustomMetrics agora tem um novo parâmetro opcional - CombineMethod bool AddCustomMetric (string Título, variante Valor, variante opcional LongOnlyValue, variante opcional ShortOnlyValue. Variante opcional DecPlaces 2, variante opcional CombineMethod 2) Este método adiciona métrica personalizada ao backtest report, backtest quotsummaryquot e Lista de resultados de otimização. Title é um nome da métrica a ser exibida no relatório, Value é o valor da métrica, os argumentos opcionais LongOnlyValue, ShortOnlyValue permitem fornecer valores para colunas longshort somente adicionais no relatório de backtest. O último argumento DecPlaces controla quantas casas decimais devem ser usadas para exibir o valor. Os valores de CombineMethod suportados são: 1 valor de primeiro passo, - relatório de resumo mostrará o valor da métrica personalizada a partir da primeira etapa fora da amostra 2 valor da última etapa (padrão), - relatório de resumo mostrará o valor da métrica personalizada da última Fora da amostra passo 3 soma, - relatório de resumo mostrará a soma dos valores de métrica personalizada de todas as etapas fora da amostra 4 média, - relatório de resumo mostrará a média dos valores de métrica personalizada de todas as etapas da amostra 5 relatório de sumário mínimo mostrará o menor valor de métrica personalizada de todas as etapas de amostra 6 máximo relatório de sumário mostrará o maior valor de métrica personalizada de todas as etapas da amostra Observe que determinados métodos de cálculo de métricas são complexos e para Exemplo de sua média não levaria a correção matematicamente correta de todos os fora do teste de amostra. Resumos de todas as métricas internas são matematicamente corretos out-of-the-box (ou seja, eles não são médias, mas métricas calculadas corretamente usando o método que é apropriado para determinado valor). Isso contrasta com métricas personalizadas, porque elas são definíveis pelo usuário e cabe ao usuário selecionar o método de combinação, e ainda pode acontecer que nenhum dos métodos disponíveis seja apropriado. Por essa razão, o relatório inclui a nota que explica o método definido pelo usuário foi usado para combinar métricas personalizadas. Testes Avançados e Forward: A Importância da Correlação Os comerciantes que estão ansiosos para tentar uma idéia de negociação em um mercado vivo muitas vezes cometem o erro de confiar Inteiramente em backtesting resultados para determinar se o sistema será rentável. Embora backtesting pode fornecer comerciantes com informações valiosas, muitas vezes é enganosa e é apenas uma parte do processo de avaliação. Os testes fora da amostra e os testes de desempenho avançados fornecem uma confirmação adicional sobre a eficácia de um sistema e podem mostrar cores verdadeiras do sistema antes que o dinheiro real esteja na linha. Boa correlação entre backtesting, out-of-sample e resultados de teste de desempenho forward é vital para determinar a viabilidade de um sistema de negociação. Backtesting Basics O backtesting refere-se à aplicação de um sistema de negociação a dados históricos para verificar como um sistema teria sido executado durante o processo de negociação. O período de tempo especificado. Muitas das plataformas de negociação de hoje suportam backtesting. Os comerciantes podem testar idéias com algumas 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 como um crossover médio móvel seria executar em dados históricos, ou sistemas mais complexos com uma variedade entradas e gatilhos. Enquanto uma idéia pode ser quantificada, ela pode ser testada. 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 codificando 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 profissional ajustar o sistema. Um exemplo disto seria no simples sistema de cruzamento de média móvel observado acima: o operador seria capaz de introduzir (ou alterar) os comprimentos das duas médias móveis utilizadas no sistema. O comerciante poderia backtest para determinar quais comprimentos de médias móveis teria realizado o melhor sobre os dados históricos. (Obtenha mais informações sobre o Electronic Trading Tutorial.) Estudos de Otimização Muitas plataformas de negociação também permitem estudos de otimização. Isso implica inserir um intervalo para a entrada especificada e deixar o computador fazer a matemática para descobrir qual entrada 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 obtido o melhor resultado. Por exemplo, os comerciantes podem dizer ao programa quais os insumos que gostariam de adicionar à sua estratégia, que então seriam otimizados para seus pesos ideais dados os dados históricos testados. Backtesting pode ser emocionante em que um sistema não rentável muitas vezes pode ser magicamente transformado em uma máquina de fazer dinheiro com algumas otimizações. Infelizmente, ajustar um sistema para atingir o maior nível de rentabilidade do passado muitas vezes leva a um sistema que irá funcionar mal na negociação real. Esta sobre-otimização cria sistemas que parecem bons apenas no papel. O ajuste de curva é 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 nos resultados de backtesting, o encaixe da curva leva a sistemas não confiáveis, uma vez que os resultados são, essencialmente, projetados especificamente para esses dados e período de tempo. Backtesting e otimização fornecem muitos benefícios para um comerciante, mas isso é apenas parte do processo quando se avalia um potencial sistema comercial. Um próximo passo dos comerciantes é aplicar o sistema a dados históricos que não tenham sido usados ​​na fase de backtesting inicial. (A média móvel é fácil de calcular e, uma vez plotada em um gráfico, é uma poderosa ferramenta de detecção de tendências visuais. Para obter mais informações, leia Médias Móveis Simples Destaque as tendências.) Dados dentro da amostra versus fora da amostra Ao testar uma idéia 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 sobre os quais a idéia é testada e otimizada são chamados de 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 tenham sido um componente no modelo de otimização. Como resultado, a idéia não terá sido influenciada de qualquer forma 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 vida real de negociação. 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 no teste fora da amostra. Somente os dados da 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, os procedimentos típicos teriam a porção fora da amostra imediatamente anterior ao desempenho direto. Figura 1: Uma linha de tempo que representa o comprimento relativo de dados dentro da amostra e fora da amostra usados ​​no processo de backtesting. Uma vez que um sistema de negociação foi desenvolvido usando dados dentro da amostra, ele está pronto para ser aplicado aos dados fora da amostra. Os comerciantes podem avaliar e comparar os resultados de desempenho entre os dados dentro da amostra e fora da amostra. 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 de relatórios de desempenho de 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, maior será a probabilidade de um sistema funcionar bem em testes de desempenho avançado e em negociação ao vivo. A Figura 2 ilustra dois sistemas diferentes que foram testados e otimizados em dados na amostra, aplicados a dados fora da amostra. O gráfico à esquerda mostra um sistema que estava claramente ajustado à curva para funcionar bem nos dados da amostra e falhou completamente nos dados fora da amostra. O gráfico à direita mostra um sistema que funcionou bem em dados dentro e fora da amostra. Figura 2: Duas curvas patrimoniais. Os dados comerciais antes de cada seta amarela representam os testes na amostra. Os negócios gerados entre as setas amarela e vermelha indicam testes fora da amostra. As negociações após as setas vermelhas são das fases de teste de desempenho avançadas. Se houver pouca correlação entre o teste dentro da amostra e fora da amostra, como o gráfico esquerdo na Figura 2, é provável que o sistema tenha sido superotimizado e não tenha um bom desempenho na negociação ao vivo. Se houver forte correlação no desempenho, como visto no gráfico direito na Figura 2, a próxima fase de avaliação envolve um tipo adicional de teste fora da amostra conhecido como teste de desempenho avançado. (Para obter mais informações sobre a previsão, consulte Previsão Financeira: O Método Bayesiano.) Princípios Básicos de Teste de Desempenho Avançado Teste de desempenho avançado, também conhecido como negociação de papel. Fornece aos comerciantes um 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 de sistemas em um mercado real. É também chamado de negociação de papel, uma vez que todos os comércios são executados em papel apenas que é, entradas de comércio e saídas são documentadas junto com qualquer lucro ou perda para o sistema, mas não são realizadas operações reais. Um aspecto importante do teste de desempenho avançado é seguir exatamente a lógica dos sistemas, torna-se difícil, se não impossível, avaliar com precisão esta etapa do processo. Os comerciantes devem ser honestos sobre qualquer comércio entradas e saídas e evitar comportamento como cereja colheita comércios ou não incluindo um comércio em papel racionalização que eu nunca teria tomado esse comércio. Se o comércio tivesse ocorrido seguindo a lógica dos sistemas, deveria ser documentado e avaliado. Muitos corretores oferecem uma conta de negociação simulada onde os negócios podem ser colocados eo lucro correspondente e perda calculada. Usando uma conta de negociação simulada pode criar uma atmosfera semi-realista em que a prática de negociação e avaliar ainda mais o sistema. A Figura 2 também mostra os resultados para testes de desempenho avançado em dois sistemas. Novamente, o sistema representado no gráfico esquerdo não consegue fazer muito além do teste inicial em dados incluídos na amostra. O sistema mostrado no gráfico à direita, no entanto, continua a apresentar um bom desempenho em todas as fases, incluindo o teste de desempenho avançado. Um sistema que mostra resultados positivos com boa correlação entre os testes de desempenho dentro da amostra, fora da amostra e para a frente está pronto para ser implementado em um mercado vivo. The Bottom Line Backtesting é uma ferramenta valiosa disponível na maioria das plataformas de negociação. A divisão de dados históricos em vários conjuntos para fornecer testes in-sample e out-of-sample 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 avaliar o sistema em dados limpos para determinar sua viabilidade. Continuar o teste fora da amostra com testes de desempenho avançados fornece outra camada de segurança antes de colocar um sistema no mercado arriscando dinheiro real. Resultados positivos e boa correlação entre testes de backtesting dentro e fora da amostra e testes de desempenho avançados aumentam a probabilidade de um sistema funcionar bem na negociação real. (Para uma visão geral abrangente sobre análise técnica, veja Análise Técnica: Introdução.) O valor total de mercado em dólar de todas as ações em circulação de uma empresa. A capitalização de mercado é calculada pela multiplicação. Frexit curto para quotFrancês exitquot é um spin-off francês do termo Brexit, que surgiu quando o Reino Unido votou. Uma ordem colocada com um corretor que combina as características de ordem de parada com as de uma ordem de limite. Uma ordem de stop-limite será. Uma rodada de financiamento onde os investidores comprar ações de uma empresa com uma avaliação menor do que a avaliação colocada sobre a. Uma teoria econômica da despesa total na economia e seus efeitos no produto e na inflação. A economia keynesiana foi desenvolvida. A detenção de um activo numa carteira. Um investimento de carteira é feito com a expectativa de ganhar um retorno sobre ele. Isso é o processo de otimização de um sistema de negociação usando um conjunto limitado de parâmetros e, em seguida, testar o melhor conjunto de parâmetros otimizados em dados fora da amostra. Isso é semelhante à maneira como você usaria seu consultor especialista em negociação ao vivo. Os princípios de uma análise prospectiva foram descritos pela primeira vez no livro A avaliação e otimização de estratégias de negociação por Robert Pardo. Para realizar uma análise de progresso no MetaTrader, primeiro otimize o consultor especialista no Strategy Tester. Em seguida, escolha o resultado mais lucrativo na guia Resultados de otimização e execute um backtest durante um período de tempo imediatamente após o período de otimização. A data final do período de otimização é a mesma que a data de início do período de teste. Este processo é repetido uma e outra até que se obtenha um tamanho de amostra satisfatório. Se o conselheiro perito executa bem em testes, em relação aos resultados de otimização, então pode-se concluir que o consultor perito será provavelmente rentável em negociação ao vivo. Se, por outro lado, o consultor especialista tiver um mau desempenho nos testes, então os parâmetros de otimização ou o comprimento dos períodos de teste e otimização precisarão ser ajustados. Se, após muitas tentativas, o consultor perito ainda não executar bem no teste, então pode-se concluir que o sistema de comércio não é rentável. A animação à direita ilustra o procedimento de análise para a frente. Uma otimização é realizada em um período mais longo (os dados na amostra) e, em seguida, o conjunto de parâmetros otimizado é testado em um período menor subseqüente (os dados fora da amostra). Os períodos de optimização e de teste são deslocados para a frente, e o processo é repetido até ser obtido um tamanho de amostra adequado. Fonte Um Exemplo de uma Análise Avançada Vamos dar um exemplo real: Vamos fazer uma análise em um consultor perito, usando o EURUSD M30. Bem otimizar este perito conselheiro durante um período de 120 dias. Weve escolheu os 3 ou 4 parâmetros mais importantes para otimizar, de modo a não sobre-otimizar ou curva ajustar os resultados. Além disso, menos parâmetros significa um teste mais rápido. Bem, selecione o resultado mais rentável e backtest esses parâmetros durante um período de 30 dias imediatamente após o período de otimização. Recomenda-se usar um período de teste de aproximadamente 25 do comprimento do período de otimização. Uma vez que nós gravamos nossos resultados, movemos bem o próximo período de otimização e teste em 30 dias. Depois de 12 rodadas consecutivas de otimização e testes, bem ter um ano de valor de dados de análise em andamento. Comparamos o lucro médio diário dos períodos de otimização com o lucro médio diário para os períodos de teste. Isso nos dará um cálculo chamado de relação de eficiência para frente. Um rácio de eficiência em marcha para frente superior a 0,5 é considerado um resultado muito bom. Isso é o que chamamos de sistema de negociação robusto. No entanto, um consultor perito é negociável, desde que seja consistentemente rentável ao longo de vários períodos de teste. Se o rácio de eficiência para a frente for negativo, isso significa que o consultor especialista não teve bons resultados relativamente aos seus resultados de optimização. Claro, você pode fazer uma análise passo a passo manualmente no MetaTraders Strategy Tester. Mas o processo é tedioso, demorado e propenso a erros. É aqui que entra o software Walk Forward Analyzer. O programa executará automaticamente uma análise de andamento avançado usando o MetaTraders Strategy Tester em qualquer período de tempo, com apenas algumas configurações fornecidas pelo usuário.

Comments

Popular posts from this blog

Sistemas automatizados de estoque de negociação

Marketsworld binário forex trading

Usando macd no forex trading