Thursday 23 November 2017

Walk Forward Optimization Amibroker Forex


Otimização de marcha para frente Se você estava caminhando e aleatoriamente começou a chover, você consideraria levar um guarda-chuva amanhã, é claro que você faria. A razão pela qual faço uma pergunta retórica como essa é quando as pessoas observam um comportamento, elas respondem de acordo. Se eles esperam que algo aconteça novamente, eles mudam seu comportamento para acomodar a mudança nos resultados. Quando você pensa em robôs forex, todos têm o sonho de desenvolver uma estratégia que funcione para sempre. Não requer mudanças. As configurações iniciais sempre funcionam. Ligue-o e mude para a praia. A realidade, é claro, é mais complicada do que isso. Otimização da frente para a frente otimiza continuamente ao longo do tempo em vez de procurar um conjunto de configurações estáticas. Isso leva a expectativas sobre o que você precisa fazer quando sua estratégia inevitavelmente vai mal. It8217s é muito possível que você venha com uma estratégia que funcione e faça incrivelmente bem no mercado atual. No entanto, um passado de gênio não significa futuro gênio. Há sempre a chance de sua estratégia não funcionar mais no futuro. Por que isso é o mesmo motivo que você pode ter um guarda-chuva amanhã, se chover hoje. As pessoas observam o mercado de forma consistente. À medida que mais e mais pessoas fazem a observação, as pessoas começam a negociar. O mercado responde a essas mudanças e, eventualmente, a oportunidade desaparece completamente, já que muitas pessoas ouviram o assunto. O teste Walk forward é o processo para determinar se a sua estratégia foi lavada ou não. Ao testar em um conjunto de dados, e testá-lo em um conjunto cego, você pode dar-se uma indicação de se sua estratégia é ruim ou não. O objetivo de avançar não é provar que sua estratégia é boa. It8217s para provar que sua estratégia não é conhecida por ser ruim. O processo de avançar o teste é muito simples. Você identifica um conjunto de informações que deseja usar para o seu teste e otimização. Usando um exemplo real, agora é o início de 2014. Então, talvez você queira olhar e testar dados de 2011 a 2012. Isso seria o seu em dados de amostra e, em seguida, seus dados fora de amostra podem ser todos de 2013. Em ordem Para realizar um teste para avançar, você testaria e analisaria sua estratégia 2011-2012. Então, para determinar se ela não é conhecida como ruim8221, então, avance para 2103 para ver a revisão do desempenho. O que você fez é um teste cego. Você não sabia o que a estratégia funcionaria em 2013 quando você testou isso em 2011-2012. Ao colocá-lo em uma amostra cega, você dá a oportunidade de falhar. A razão pela qual muitos comerciantes colocam sua fé em avançar o teste é porque é a melhor ferramenta para identificar fracos na sua otimização. Quando você está testando uma estratégia, é muito provável que você seja superado para oportunidades passadas. Loops de auto-feedback no mercado atual Deixe-me dar-lhe um exemplo. Nos mercados atuais, muitos comerciantes estão batendo ouro no mercado aberto onde todos os dias no mercado abrem. Eles vendem tanto ouro quanto possível. Às vezes, vários múltiplos da produção anual são de alguns minutos. O que você vê é uma queda livre absoluta por cinco ou dez minutos. Esse estado persiste por dias de cada vez. Mas isso não dura para sempre. Quando comerciantes suficientes começam a ver que as pessoas atacam o ouro, eles começam a fazer o mesmo. Efectivamente, quem quer que o ouro se apague no mercado aberto ensinou outros comerciantes a fazerem esse comércio por eles. À medida que as pessoas esperam que o ouro caia nos primeiros cinco minutos do aberto, eles mudam seu comportamento. Alguns tentam saltar sobre bater abertos e ficarem curtos. Outros começam a modificar seu comportamento. Eles percebem que o ouro livre cai por cinco minutos. Então, de repente, ele pára, e mais do que gosta de reverter para o meio. Eles começaram a mudar sua pegada e compraram depois de tantos minutos decorrerem da abertura. Eles esperam que o volume pesado que precedeu a venda acabará por retornar ao normal. À medida que as pessoas mudam de comportamento, outras pessoas respondem em espécie. Se pessoas suficientes começam a vender em aberto e depois comprando em aberto cinco minutos depois, você pode ver que um padrão está se formando onde uma pessoa responde às ações de outra. It8217s é um loop de auto-feedback onde o estado que estava funcionando durante os primeiros dois dias já não funciona no futuro. Se você pode identificar uma estratégia que é capaz de sobreviver a essas condições e é capaz de sobreviver às condições em que você não fez nenhum teste e otimização, você se dará melhores chances de sucesso no futuro. Isso significa que muitos comerciantes não se interessaram por essa oportunidade comercial que você descobriu. A abordagem para avançar o teste é o antídoto para o problema conhecido como ajuste de curva. O encaixe da curva é a estratégia final do woulda coulda shoulda. Isso era semelhante ao de abrir um gráfico de ontem e dizer que eu devia comprar aqui e eu gostaria de vender aqui, já sabendo o que aconteceu. Claro que você está indo para calcular dinheiro8221 nessa situação. Você sabe com informações perfeitas o que o mercado fez. No futuro, você não conhece a informação perfeita. O objetivo de uma estratégia é lidar com essa ambiguidade. O encaixe da curva significa que você se encaixa perfeitamente perfeitamente às condições de mercado anteriores que, quando surgirem inevitavelmente novas situações, semelhante à frase, a história não se repete, mas rima, 8221 sua estratégia faz o mesmo. Você quer uma estratégia que funcione bem na performance passada, mas você não está apresentando uma estratégia para ganhar dinheiro com os mercados históricos. O objetivo do desenvolvimento de uma estratégia é ganhar dinheiro nos futuros mercados. Quando você está testando, você está tentando encontrar o equilíbrio entre o desempenho histórico sólido e, o mais importante, certificando-se de que esse conhecimento histórico extrapola para o desempenho futuro. Seu objetivo é ganhar dinheiro. Rolling Walk Forward Optimization A otimização de Rolling Walk forward leva a idéia de caminhar para a frente e melhora continuamente a estratégia, expondo-a a novos dados. Então let8217s dizem que você tem um período de amostra de vinte e quatro meses. Um caminho a seguir seria otimizar sua estratégia por um período de dois meses e, em seguida, avançar para o terceiro mês. Você observa o comportamento e você reoptimiza para o segundo e terceiro mês, e avança para o quarto mês. Ao fazê-lo continuamente, você elimina o tempo de decaimento da estratégia e dá-lhe a chance de se adaptar às condições de mercado em curso. É uma espécie de enteado ruivo para aprender a máquina. A experiência e as perdas dão à estratégia a oportunidade de melhorar e se adaptar às mudanças do mercado através da otimização de avançar. 8230 você elimina o tempo de decaimento da estratégia e dá-lhe a chance de se adaptar às condições do mercado em curso. Outra consideração importante para a análise progressiva é os graus de liberdade dentro de um sistema. Por exemplo, let8217s dizem que você está analisando uma cruz em movimento. You8217re usando duas médias móveis e use um stoploss fixo e obtenha lucro. Isso lhe daria quatro graus de liberdade. A média rápida é o primeiro grau. A média lenta é o segundo grau. O terceiro é o stoploss e o quarto é o lucro obtido. Os mais graus de liberdade que você permite em um sistema aumentam consideravelmente as chances de que a curva seja adequada aos seus dados históricos. Os melhores sistemas absolutos mantêm 12 graus de liberdade ou menos. Você quer encontrar oportunidades de negociação que tenham um grande número de negócios e que ofereçam desempenho que você achar satisfatório. Outro elemento a considerar na sua otimização é o que você está otimizando. A maioria das pessoas se concentra no retorno absoluto. Os retornos são ótimos, mas a maioria dos comerciantes se importa muito com a forma como eles ganham dinheiro em vez de quanto. Deixe-me dar um exemplo. Se eu tivesse um sistema que fizesse 25 mil anos no ano passado, você iria querer Quase todo mundo diz que sim. Se eu tiver um sistema que tenha feito 25 mil no ano passado, mas você precisava perder 15 mil antes de ganhar dinheiro. A maioria das pessoas não quer esse sistema. O que isso significa é que você se importa muito com o desempenho no dia-a-dia e não com o resultado final. O problema com otimização e até mesmo otimização da frente é que you8217re não está necessariamente focado no que você gosta no mundo real: a maneira como você está fazendo o seu dinheiro. A maioria dos pacotes de gráficos focados no resultado líquido e que podem causar alguns pontos fracos no seu sistema. Se a negociação da gama You8217re, o que você realmente fez é escolher os resultados que são menos afetados por notícias substanciais. Na verdade, you8217ve escolheu as configurações que ainda não foram afetadas pelas caudas de gordura. Se you8217re negociação de tendências, you8217ve fez exatamente o oposto. Você escolheu intencionalmente as configurações que maximizam as colas gordas que aconteceram no passado. Com estratégias de negociação de tendências, você provavelmente não encontrará um desempenho consistente. Em vez disso, o que você achou que a otimização freqüentemente causa longas e contínuas secas de remoção incessante. Então, de repente, quase do nada, encontra um vencedor mega monster que retorna vários múltiplos da redução que você experimentou. Isso é bom para um hipotético backteste, mas no mundo real onde você está sofrendo perdas em uma base quase diária, a maioria dos comerciantes pode tomar a dor. A fraqueza que encontro com a maioria das otimizações é que eles não consideram a consistência do desempenho. Um potencial substituto para otimizar uma estratégia seria analisar a regressão linear da curva de equidade ao longo do tempo. A melhor curva de equidade possui a maior inclinação de regressão linear. Os pacotes de gráficos populares que implementam a otimização do passo a passo são Amibroker, TradeStation, Multicarts e NinjaTrader. Avançar a otimização no NinjaTrader Abra o Analisador de Estratégia do Centro de Controle. Clique em Arquivo Novo Analisador de Estratégia. Abra o analisador de estratégia no NinjaTrader Clique com o botão esquerdo do mouse em um instrumento ou lista de instrumentos e clique com o botão direito do mouse para exibir o menu do botão direito do mouse. Selecione o item de menu Walk Forward. Você também pode clicar no ícone 8220w8221 na barra de ferramentas do Analisador Estratégico. Se você preferir as teclas rápidas, você também pode usar CTRL W. Por fim, você também pode inserir o ícone 8220W8221 no canto superior esquerdo do Strategy Analyzer. Selecione uma estratégia no menu Deslizar Estratégia Defina as propriedades Avançar Avançar (Consulte a seção 8220Understanding Walk Forward8221 abaixo para as definições da propriedade) e pressione o botão OK. Existem várias maneiras de selecionar a otimização de avançar no NinjaTrader. O progresso Walk Forward será mostrado na Barra de Status do Centro de Controle. Praveen Baratam diz que recentemente eu comecei a experimentar com a WFA e fiz uma observação surpreendente. Quando tudo o resto é igual, o resultado de um WFA, ou seja, Walk Forward Efficiency pode variar muito se a data de início do primeiro período In-Sample for deslocada por apenas um mês. Google Spread Sheet mostrando ambos os WFA executa 8211 goo. gl6VHRDU No caso 1, o primeiro passo do IS-OS começa em 2 de agosto de 2006 e desliza para a frente em 6 meses em cada etapa. No caso 2, começa em 2 de julho de 2006. Com efeito, no caso 1, o WFA deixa de fora um mês no início e inclui um mês no final quando comparado ao caso 2. Caso 1 WFE. 100 Caso 2 WFE. -12 Isto é um caso de variação sazonal Qualquer outra explicação É realmente surpreendente ver essa grande diferença entre eles. Por outro lado, o fenômeno inverte-se quando mudamos de 6 meses fora do período de Amostra para 2 meses. Nessa situação, a instância WFA a partir de 2 de julho de 2006 supera a que começa a partir de 2 de agosto de 2006. Google Spread Sheet mostrando as corridas de WFA e a inversão de resultado 8211 goo. glAkH4ID Pode ser que você possa lançar mais luz sobre esse fenômeno. Deixe uma resposta Cancelar replyami broker 12 de fevereiro de 2008 O AmiBroker 5.05 BETA, recentemente lançado, possui o modo automático de otimização do Walk-Forward. A otimização automática de marcha para frente é uma técnica de projeto e validação de sistema na qual você otimiza os valores dos parâmetros em um segmento passado de dados de mercado (8220in-sample8221) e, em seguida, teste o sistema no tempo em dados após o segmento de otimização (8220out-of - Amostra8221). Você avalia o sistema com base em quão bem ele executa nos dados do teste (8220out-of-sample8221), e não nos dados em que foi otimizado. Para usar a otimização Walk-Forward, siga estas etapas: Goto Ferramentas-Análise automática Clique no botão Configurações, depois mude para a guia 8220Walk-Forward8221 Aqui você pode ver as configurações de Walk forward para otimização na amostra, fora de amostra backtest 8220Start8221 e 8220End8221 datas Marcar o período inicial começar fim Este período será movido para a frente por 8220Step8221 até que o 8220End8221 atinja a data 8220Last8221. A data 8220Start8221 pode avançar até 8220step8221 também, ou pode ser ancorada (constante) se a verificação 8220Anchored8221 estiver ativada. Se você marcar 8220Use hoje8221, a data 8220Last8221 entrada será ignorada e HOJE (data atual) será usada Por padrão, um 8220EASY MODE8221 é selecionado, o que simplifica o processo de configuração de parâmetros WF. Assume-se que: a) O segmento fora da amostra segue imediatamente o segmento na amostra b) o comprimento do segmento fora da amostra é igual ao passo walk-forward Com base nestas duas premissas, o modo 8220EASY8221 toma a data da amostra END E apresenta a data de INÍCIO fora de amostra para o dia seguinte. Em seguida, adiciona STEP na amostra e isso se torna a data de END da amostra. Os valores de passo na 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. No modo 8220ADVANCED8221, o usuário tem controle completo sobre todos os valores, na medida em que eles não possam constituir um procedimento WF válido. A interface permite desativar seletivamente as fases na amostra e fora da amostra usando caixas de seleção na parte superior (para coisas especiais, como backsets seqüenciais runnign 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 8220Optimization target8221 define o código de otimização COLUMN NAME que será usado para classificar resultados e encontrar o BEST. Qualquer coluna incorporada pode ser usada (como aparece na saída de otimização), ou você pode usar qualquer métrica personalizada que você defina no backtester personalizado. O padrão é CARMDD, você pode, no entanto, selecionar qualquer outra medida incorporada do combo. Você também pode selecionar qualquer métrica personalizada que você adicionou via interface de backtester personalizada. Depois de definir as configurações de Walk-Forward, vá para Análise automática e pressione a SETA desdobrável no botão Otimizar e selecione 8220Walk Forward Optimization8221 Isso executará a seqüência de otimizações e backtest e os resultados serão exibidos no documento 8220Walk Forward8221 que está aberto em O quadro de aplicação principal. Quando a otimização está sendo executada, você pode clicar no botão 8220MINIMIZE8221 na caixa de diálogo Progresso para minimizá-la 8211, isso permite ver a saída Walk Forward durante as etapas de otimização. Equivalência combinada IN-SAMPLE e OUT-OF-SAMPLE As ações combinadas em amostra e fora da amostra estão disponíveis por tickers compostos OSEQUITY (períodos consecutivos de IS e OOS são concatenados e dimensionados para manter a linha de continuidade da equidade 8211, essa abordagem assume que você geralmente Falando estão acumulando lucros) Para exibir IS e OOS equity você pode usar, por exemplo, isso: Artigos relacionados:

No comments:

Post a Comment