Sistema de comércio fora da amostra
Sistema comercial fora da amostra
O AmiBroker 5.10 possui o modo automático de teste 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 passado de dados de mercado (& # 8221; in-sample & # 8221;); então, verifique o desempenho do sistema testando-o para a frente no tempo em dados que seguem o segmento de otimização (& # 8221; out-of-sample & # 8221;). Você avalia o sistema com base em quão bem ele executa nos dados do teste (& # 8221; out-of-sample & # 8221;), e não nos dados em que foi otimizado. O processo pode ser repetido em segmentos de tempo subsequentes. A seguinte ilustração mostra como o processo funciona.
O objetivo do teste walk-forward é determinar sempre que o desempenho do sistema de negociação otimizado seja o realista ou o resultado do ajuste de curva. O desempenho do sistema pode ser considerado realista se tiver valor preditivo e funcionar bem em dados de mercado não vistos (fora da amostra). Quando o sistema é projetado corretamente, o desempenho comercial em tempo real deve ser em relação ao descoberto durante a otimização. Se o sistema estiver funcionando na negociação real, primeiro deve passar por um teste de caminhada. Em outras palavras, nós realmente não nos interessamos nos resultados na amostra, pois eles são (ou devem ser) sempre bons. O que interessa é 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 é fraco, então você não deve trocar esse sistema.
A premissa de realizar várias etapas de otimização / teste 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 bem adaptados às condições de mercado que seguem imediatamente. Isso pode ou não ser o caso, à medida que os mercados passam pelo ciclo urso / touro, então deve-se tomar cuidado ao escolher o período de in-sample. Para obter mais informações sobre o design e a verificação do sistema usando o procedimento walk-forward e todas as questões envolvidas, podemos recomendar o livro de Howard Bandy: "Quantitative Trading Systems & quot; (veja links na página AmiBroker).
Para usar a otimização Walk-Forward, siga estas etapas:
As datas de início e término marcam o início do período inicial / final.
Este período será movido para a frente pelo passo até o final atingir a última data.
Por padrão, um & # 8220; EASY MODE & # 8221; é selecionado, o que simplifica o processo de configuração de parâmetros WF.
a) O segmento fora da amostra imediatamente segue o segmento na amostra.
b) o comprimento do segmento fora da amostra é igual ao passo walk-forward.
entre períodos. O modo Intraday define a data de INÍCIO do próximo período como PRÓXIMO DIA após o final do período anterior. Isso garante.
esse dia limite não é contado duas vezes ao testar dados intraday.
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 executar backtests seqüenciais sem otimização).
Todas as configurações são imediatamente refletidas na lista PREVIEW que mostra todos os segmentos IS / OOS gerados e suas datas.
será usado para classificar os resultados e encontrar o melhor. Qualquer coluna embutida 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 é CAR / MDD, você pode, no entanto, selecionar qualquer outra medida incorporada do combo.
Você também pode selecionar qualquer métrica personalizada que você tenha adicionado via interface de backtester personalizada.
MUDANÇO combinado em amostra e fora de amostra.
As ações combinadas em amostra e fora da amostra estão disponíveis por.
Os tickers compostos OSEQUITY (períodos consecutivos de IS e OOS são concatenados e dimensionados para manter a linha de continuidade da equidade - essa abordagem pressupõe que, geralmente, você está combinando lucros).
ISEQUITY "," In-Sample Equity ", colorRed, styleLine);
OSEQUIDADE "," Out-Of-Sample Equity ", colorGreen, styleLine);
Relatório de resumo OUT-OF-SAMPLE (novo em 5.60)
A versão 5.60 traz um novo relatório de resumo walk-forward que cobre todas as etapas fora da amostra. É visível no Report Explorer como o último e tem o "& quot; PS"; tipo.
Houve mudanças significativas para avançar os testes realizados para permitir um relatório sumário fora da amostra. A mudança mais importante é que cada teste subsequente de fora da amostra usa o patrimônio inicial igual ao passo anterior que termina o patrimônio. (Anteriormente, usou equidade inicial constante). Essa alteração é necessária para o cálculo adequado de todas as estatísticas / métricas em todas as seções de teste fora da amostra.
O relatório de resumo mostra a nota de que as métricas integradas representam corretamente todas as etapas fora da amostra, mas as métricas personalizadas de resumo são compostas usando o método definível pelo usuário:
1 valor do primeiro passo, 2 valor do último passo, 3 soma, 4 média, 5 mínimo, 6 máximo.
Por padrão, o relatório de resumo mostra o valor da última etapa das métricas personalizadas, A MENOS QUE o usuário especifique o método de combinação diferente em.
bo. AddCustomMetrics agora possui novo parâmetro opcional - CombineMethod.
bool AddCustomMetric (string Title, variant Value, [opcional] variante LongOnlyValue, [opcional] variante ShortOnlyValue, [opcional] variante DecPlaces = 2, [opcional] variante CombineMethod = 2)
Este método adiciona métrica personalizada ao relatório de backtest, backtest & quot; summary & quot; e lista de resultados de otimização. O título é um nome da métrica a ser exibida no relatório, o valor é o valor da métrica, os argumentos opcionais LongOnlyValue, ShortOnlyValue permitem fornecer valores para colunas longas / curtas adicionais no relatório de teste posterior. O último argumento DecPlaces controla quantas casas decimais devem ser usadas para exibir o valor.
Os valores CombineMethod suportados são:
1 valor de primeiro passo, - relatório de resumo mostrará o valor da métrica personalizada desde o primeiro passo fora da amostra.
2 valor do último passo (padrão), - relatório de resumo mostrará o valor da métrica personalizada a partir da última etapa fora da amostra.
3 soma, - relatório de resumo mostrará a soma dos valores da métrica personalizada de todas as etapas da amostra.
4 média, - o relatório de resumo mostrará a média dos valores da métrica personalizada de todas as etapas da amostra.
5 mínimo, - o relatório de resumo mostrará o menor valor da métrica personalizada a partir de todas as etapas da amostra.
6 máximo.- relatório de resumo mostrará o maior valor da métrica personalizada a partir de todas as etapas da amostra.
Observe que determinados métodos de cálculo de métricas são complexos e, por exemplo, a média deles não levaria a uma representação matematicamente correta de todos os testes fora da amostra. Os resumos de todas as métricas incorporadas são matematicamente corretos fora da caixa (ou seja, são * não * médias, mas métricas adequadamente calculadas usando um método apropriado para determinado valor). Isso contrasta com as 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 esse motivo, o relatório inclui a nota que explica que método utilizável pelo usuário foi usado para combinar métricas personalizadas.
Sistema comercial fora da amostra
Folha de cálculo do Sample Trading System.
Esta planilha do Excel mostra como a resposta do CFB aos dados diários de um mercado de futuros é usada para controlar a taxa de redução de uma banda colocada em torno do preço. As decisões de compra / venda são então feitas quando o preço se destaca dessa banda modificada dinamicamente.
Esta é também uma boa maneira de ver como se pode criar um sistema de comércio experimental em uma planilha.
Para baixar nossa planilha para o Microsoft Excel,.
CLIQUE PARA RIGHT neste link e selecione & quot; SAVE TO. & quot; ou "SAVE TARGET AS". & quot; Clique duas vezes no arquivo ZIP baixado para extrair um arquivo de planilha XLS e um arquivo de ajuda HLP. Recomendamos que você leia o arquivo de ajuda primeiro.
Sistema comercial fora da amostra
Definições: na amostra refere-se aos dados que são reservados para testes completos. No teste de amostra inclui otimização de parâmetros e deve ser usado para realizar todos os testes preparatórios para executar o sistema ao vivo ou executar um teste fora da amostra para fins de validação.
A amostra fora da amostra é o dado separado de dados de amostra e é usado para validar que os testes de amostra produziram resultados válidos. Os dados fora da amostra não devem ser usados para otimizar ou testar além de uma simples validação no final do processo. Os dados fora da amostra são dados novos que nunca foram usados para testar o sistema e, como resultado, replica o que você obteria se você executasse o teste para o período não testado, como em um teste para frente.
Grande otimização de dados de amostra. O excesso de otimização do período de amostragem arrisca uma chance maior de que por sorte sozinho, um teste superior será encontrado. Quanto mais parâmetros forem testados na granularidade mais fina, maior será a chance de que os resultados da amostra se ajustem a apenas nos dados da amostra e não serão generalizáveis a outros dados.
Os dados têm uma mudança de regime no final do período de teste da amostra, o que faz com que os dados fora da amostra se comportem de forma diferente. Uma instância de uma mudança de regime pode ser uma mudança marcada na volatilidade que ocorre apenas no final do período de teste da amostra, o que faz com que o sistema perca a lucratividade.
Os filtros que podem melhorar o desempenho do sistema de exemplo podem paradoxalmente diminuir o desempenho fora da amostra. Uma maneira de testar se este é o caso é remover sistematicamente os filtros um de cada vez para determinar se os filtros são muito específicos para o tempo atual e não generalizáveis o suficiente para outras vezes. Para testar isso corretamente, você precisará de um período de teste adicional que pode ser usado para validar cada alteração do sistema, preservando os dados fora da amostra para a validação final.
Um dos cálculos matemáticos é implementado incorretamente. Se você usa a função matemática, como desvio padrão, correlação, etc., tome cuidado para garantir que os cálculos sejam realizados corretamente, verificando contra uma fonte conhecida de bons cálculos para sua função matemática específica.
Devido a uma grande quantidade de testes, (bons) resultados foram obtidos por sorte. Isso é semelhante ao # 1. Se você torturar os dados por tempo suficiente, ele acabará por ceder e fornecer-lhe um resultado de teste superior. Infelizmente, a maior parte do tempo, este resultado no resultado da amostra não pode ser replicado fora da amostra. É mais arte do que ciência para determinar a quantidade de testes apropriados. Você terá que experimentar para determinar quanto tempo / quantas iterações executar para seus testes para obter melhores resultados.
Os dados utilizados no teste são muito inconsistentes para fundamentar uma estratégia sistemática. Isso pode acontecer se você estiver usando dados de baixa qualidade como uma entrada para o seu sistema, ou se você está perguntando mais de seus dados do que o que é capaz de produzir.
Seu método de teste está apresentando olhar para frente do viés de bisbilhoto de dados. O viés de snooping de dados é onde você usa informações sobre o futuro em sua metodologia de desenvolvimento ou teste do sistema. É realmente fácil introduzir um viés de snooping de dados no seu teste se você executar backtests manuais. Esta é uma das razões pelas quais eu acho que é melhor fazer backtesting automatizado. Leve algum tempo para garantir que nenhum dado do período de amostragem não esteja incluído no período de amostra.
Sua metodologia de teste é a introdução do viés de seleção. O viés de seleção pode ser introduzido na fase de teste da amostra onde você seleciona os parâmetros com base no melhor desempenho. De um modo geral, os parâmetros devem ser selecionados com base em subconjuntos do período de amostra, em vez de serem baseados em todo no período de amostragem. Este é um viés muito difícil de superar, particularmente com o software de backtesting tradicional. Posso publicar um futuro artigo sobre este tópico.
A otimização no período de amostra favorece resultados altamente lucrativos. Como resultado, sua estratégia de perda de chance pode não ter a chance de ser totalmente testada. Um exemplo disto é usar uma meta de lucro muito pequena com uma perda de stop maior. Com base na otimização, você pode pensar que o critério de parada raramente dispara, mas quando novos dados com diferentes características de volatilidade são usados no período de amostragem, seu sistema acaba com uma série de perdas de parada. Como a perda de parada é grande, raramente é desencadeada porque seu processo de otimização naturalmente selecionará sistemas com baixa freqüência de parada. Mas se as condições se alinharem nos dados não vistos, de modo que várias perdas de parada ocorram em sequência, você pode achar que seus parâmetros de saída de perda não são tão ótimos quanto o seu teste indicaria. Para superar este problema, reduza a gama de valores permitidos para saídas de perda adversas para obter uma sensação melhor de como as perdas regulares durante o período de teste farão.
Os dados têm furos nela ou falta dados que podem causar sinais imprevisíveis a serem disparados durante o teste. Sempre verifique os dados antes de testar, procurando por períodos em que falta dados. Durante a minha última rodada de testes, descobri que faltava uma semana para o EURUSD que estava causando resultados não confiáveis no teste.
Backtesting e Teste Avançado: 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 nos resultados de backtesting para determinar se o sistema será lucrativo. Enquanto o backtesting pode fornecer aos comerciantes informações valiosas, muitas vezes é enganoso e é apenas uma parte do processo de avaliação. Testes fora da amostra e testes de desempenho avançado fornecem confirmação adicional quanto à eficácia de um sistema e podem mostrar as cores verdadeiras do sistema, antes que o dinheiro real esteja na linha. Uma boa correlação entre resultados de teste de backtesting, out-of-sample e forward performance é vital para determinar a viabilidade de um sistema de negociação. (Oferecemos algumas dicas sobre este processo que podem ajudar a refinar suas estratégias de negociação atuais. Para saber mais, leia Backtesting: Interpreting the Past.)
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 que o comerciante "ajuste" 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.)
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 o que a 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 alcançado o melhor resultado. Por exemplo, os comerciantes podem dizer ao programa quais insumos gostariam de adicionar à sua estratégia; estes seriam então 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. O próximo passo de um comerciante é 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 plotada em um gráfico, é uma poderosa ferramenta visual de tendência-mancha. Para mais informações, leia Médias móveis simples, faça as tendências se destacarem.)
Dados em amostra versus dados fora da amostra.
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, os procedimentos típicos teriam a porção fora da amostra imediatamente anterior ao desempenho para a frente.
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 os dados na 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égias 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.
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 teste de desempenho para a frente. (Para mais informações sobre previsão, consulte Previsão Financeira: o Método Bayesiano.)
Princípios básicos do teste de desempenho avançado.
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. Mais uma vez, 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 frente está pronto para ser implementado em um mercado ao vivo.
Design Deterministic Machine de Sistemas de Negociação com Strict Cross-Validation.
Um sistema de negociação de alta taxa de ganhos para SPY foi usinado com um método determinista e um simples preditor de preço. A validação cruzada de resultados na amostra foi realizada em amostras fora de SPY e de uma segurança anti-correlacionada. Os resultados mostram que os sistemas de negociação de alta taxa de ganhos com risco apropriado: a relação de recompensa pode ser usinada projetada e que seja mesmo lucrativa em um mercado anti-correlacionado.
Definições.
O design determinista da máquina dos sistemas de negociação é um processo que produz o mesmo resultado cada vez que minima os mesmos dados com os mesmos parâmetros de projeto. Este é um processo compatível com os requisitos de testes e análises científicas. Note-se que a maioria dos algos de design de máquinas baseados em redes neurais ou algoritmos genéticos não produzem, em geral, o mesmo resultado quando alimentados com os mesmos dados e os mesmos parâmetros devido a aleatoriedade em condições iniciais.
A validação cruzada é o processo de avaliação de como os resultados do projeto da máquina executam em um conjunto de dados independente com a finalidade de proteger contra erros de Tipo III, isto é, o teste de hipóteses sugeridas pelos dados. No entanto, no caso do design da máquina, é sabido que a validação cruzada simples não é suficiente devido ao teste de hipóteses múltiplas e ao snooping de dados. Procedimentos mais avançados de validação cruzada são necessários para avaliar o significado dos sistemas de negociação desenvolvidos através do design da máquina. Neste blog, além do teste fora da amostra, outro teste rigoroso é realizado em uma segurança anti-correlacionada durante o mesmo período de dados não vistos.
Processo de Design de Máquinas.
Configuração de dados e parâmetros de desempenho na amostra.
Usaremos o Price Action Lab para projetar a máquina um sistema de comércio de SPY que será composto por uma série de padrões de preços de curto prazo. O fechamento das barras diárias será usado como preditor de preço com um período máximo de 9 barras. A amostra de dados disponíveis desde o início deste ETF é dividida da seguinte forma:
In-sample: 01/29/1993 - 31/12/2008 Excluído da amostra 01/02/2009 - 04/02/2018.
A taxa mínima de ganhos exigida para cada um dos padrões é de 85%. O objetivo do lucro é fixado em 2% porque gostaríamos de evitar, tanto quanto possível, as saídas dos dados. O stop-loss é definido como 4% com base na exigência de um fator de lucro mínimo de 1,5 por padrão identificado na amostra. Também exigimos que cada padrão na amostra tenha mais de 20 negócios e não mais do que 7 perdedores consecutivos. Abaixo está o espaço de trabalho para o design da máquina em amostra:
Cada linha nos resultados corresponde a um padrão de preço que satisfaça os parâmetros de desempenho especificados pelo usuário. Trade on é o ponto de entrada, neste caso o Open of next bar. P é a taxa de sucesso do padrão, PF é o fator de lucro, Trades é o número de trades históricos, CL é o número máximo de perdedores consecutivos, Type é LONGO para padrões longos e SHORT para padrões curtos, Target é o alvo de lucro, Stop é o stop-loss e C indica% ou pontos para as saídas, neste caso, é%. Última data e primeira data são a última e primeira data no arquivo de dados históricos.
O laboratório de ação de preço identificou 30 padrões distintos que satisfaziam os critérios especificados no espaço de trabalho, 23 longos e 7 curtos. Uma vez que o bom desempenho é garantido na amostra por design, continuaremos com testes fora da amostra. Nós apenas mencionamos que, na amostra, o retorno anual composto foi de 22% eo índice de Sharpe foi de 2,57.
Em seguida, o código Amibroker foi gerado para os padrões de preços e eles foram combinados com o operador OR em um sistema comercial final.
Os resultados de backtest no out-of-sample são mostrados abaixo:
A curva de equidade é aceitável, embora abaixo de comprar e manter (dados não ajustados). No entanto, não devemos esperar que um único sistema superar a compra e a retenção, especialmente quando há uma forte tendência nos últimos dois anos. O retorno anual composto é de 9,84%, o retorno líquido é de 79,76%, máx. drawdown é de -14,92%, o fator de lucro é de 1,47 e a razão de Sharpe é de 1. Um total de 150 negócios foram gerados na amostra fora de amostra, 109 de comprimento e 41 de curto. Os negócios curtos contribuíram com cerca de 4,8% para o retorno anual composto. Observe que a comissão de US $ 0,01 por ação foi incluída no teste e o capital inicial foi de $ 100K. O capital próprio foi totalmente investido em cada nova posição.
Os resultados aceitáveis no fora da amostra não são suficientes para proteger os erros do Tipo III. Isso é verdade porque o processo de design da máquina testou muitos sistemas no in-sample antes de oferecer um resultado final. São necessários testes adicionais. Uma vez que a validação cruzada do k-fold e outros métodos de particionamento de dados são difíceis de aplicar no caso de sistemas de negociação, recorreremos a testes de aleatorização e testes em títulos comparáveis mas anti-correlacionados.
Abaixo está a distribuição dos retornos líquidos de 20.000 sistemas de negociação aleatórios / longos SPY que iniciam posições no fechamento da barra diária na saída da amostra com base no resultado de um lance justo de moeda (cabeças = longas, caudas = curta) . As posições longas são fechadas quando as caudas aparecem e as posições curtas são fechadas quando as cabeças aparecem. O capital de partida é de $ 100K, a comissão é fixada em US $ 0,01 por ação e o capital próprio é totalmente investido em cada posição:
O retorno líquido de 79,76% na saída da amostra do sistema projetado pela máquina para SPY obtém valores superiores a 96,09% dos sistemas aleatórios, resultando em um valor p de 0,0391. Portanto, dado que a hipótese nula é verdadeira, a probabilidade de obter o retorno testado na saída da amostra por acaso é de cerca de 4%. Mas é mesmo? A resposta é que talvez não seja e é realmente maior. Precisamos de validação adicional.
Um teste de validação cruzada estrita.
Uma vez que o nosso sistema foi desenvolvido através da realização de testes múltiplos, a análise de randomização acima é um primeiro passo para descartar erros de Tipo III, mas não é suficiente. Podemos usar essa análise para economizar tempo no sentido de que, se o valor p for superior a 0,05, podemos então rejeitar o sistema. Mas um alto valor de p não exclui um sistema falso devido a testes múltiplos, ou seja, um sistema que teve a sorte de passar no teste de randomização.
Com o objetivo de aumentar as chances de que nosso resultado não seja espúrio, identificaremos uma segurança anti-correlacionada no período fora da amostra e testaremos o sistema. Um bom candidato para este teste é o TLT, conforme mostrado abaixo:
A correlação média de 120 dias de SPY e TLT durante o período fora da amostra foi de -0,34 com um período de quase dois anos, que está marcado no gráfico, de alta correlação. Abaixo está o desempenho de equidade do sistema desenvolvido para SPY em dados TLT no mesmo período fora da amostra:
No caso do TLT, o sistema supera a compra e retenção com retorno anual composto de 9,43% e retorno líquido de 75,60%. Max. drawdown é -11,14% e Sharpe é 1,06 com fator de lucro igual a 1,49.
Este é um resultado significativo. Um sistema desenvolvido para o SPY funciona ainda melhor no TLT, uma segurança anti-correlacionada. Assim, a probabilidade de os padrões identificados durante a concepção da máquina ter um poder preditivo é alto. No entanto, note que este teste deve ser executado apenas uma vez. Se os resultados não forem satisfatórios, a busca de outra segurança anti-correlacionada que proporcionará um resultado positivo, ou para outro sistema que irá fornecer um resultado positivo com o mesmo teste, apresenta um viés de bisbilhotagem e invalida o significado desses testes. O mesmo se aplica a qualquer processo que reutilize dados para executar testes em uma amostra fora da amostra. Se os dados forem reutilizados muitas vezes, a pesca de dados é garantida juntamente com resultados espúrios. Aparentemente, isso é o que prejudica os esforços de muitos desenvolvedores de sistemas que usam redes neurais e algoritmos genéticos para o meu por bordas. É também por isso que o determinismo é importante: se um sistema diferente é minado em cada nova avaliação, ou há muitos sistemas diferentes com bom desempenho, isso facilita o snooping de dados. No entanto, com o Price Action Lab, isso não é possível porque, com os mesmos parâmetros, o mesmo sistema será encontrado e todos os padrões são usados para desenvolver o sistema final, ou seja, não há nenhum viés de seleção.
Abaixo está a distribuição dos retornos líquidos de 20.000 sistemas de negociação TLT aleatórios / longos que iniciam posições no final de cada barra diária no fora da amostra com base no resultado de um lance justo de moeda (cabeças = longas, caudas = curta ). O capital de partida é de $ 100K, a comissão é fixada em US $ 0,01 por ação e o capital próprio é totalmente investido em cada posição:
O retorno líquido de 75,60% do sistema projetado pela máquina para pontuações TLT é superior a 97,47% dos sistemas aleatórios, resultando em um valor p de 0,0253. Portanto, dado que a hipótese nula é verdadeira, a probabilidade de obter o sistema resulta na falta de amostra por chance é de cerca de 2,5%.
Conclusão.
Preditores simples de ação de preço, como o fechamento de barras diárias, ainda possuem poder preditivo apesar de uma arbitragem contínua de oportunidades nos mercados. Isso foi demonstrado neste blog. É importante que o projeto da máquina que use um preditor simples para desenvolver um algo seja determinista; De outra forma, testes complexos devem ser usados para evitar erros de Tipo III e pesca de dados. A complexidade dos testes necessários torna a aplicação do design da máquina com base em condições iniciais aleatórias extremamente difícil no caso do desenvolvimento do sistema de negociação. Devido à natureza determinística do algoritmo de projeto da máquina usado neste exemplo, um teste mais simples, mas rigoroso, foi utilizado com base no desempenho do sistema em uma segurança anti-correlacionada. No entanto, qualquer abuso desses tipos de testes torna-os ineficazes na proteção contra erros de Tipo III. Obviamente, o desenvolvimento do sistema de negociação não é fácil e está ficando mais difícil à medida que a tecnologia avança. Os comerciantes têm duas opções ao desenvolver sistemas: a primeira opção é baseada em conceber uma hipótese para testar que deve ser única, caso contrário, pode ser um artefato do viés de mineração de dados. A segunda opção envolve o uso do design da máquina. Ambas as opções têm armadilhas. A primeira opção requer singularidade e a segunda opção requer testes efetivos de validação cruzada. Pode ser o caso de uma hipótese única ter baixas chances devido à mineração de dados implacável nos últimos 25 anos usando computadores e testes de backtest.
Sobre o autor Michael Harris.
Michael Harris é um especialista em negociação e um desenvolvedor de software avançado de reconhecimento de padrões para o benefício da posição e swing traders. Michael desenvolveu o software APS Automatic Pattern Search, que recebeu grande aclamação e recentemente Price Action Lab, um programa que inclui um indicador de análise técnica avançada com base em padrões de preços, chamado p-Indicator. Ele também fornece serviços de consultoria sobre desenvolvimento de sistemas de negociação e análise de mercado para investidores institucionais e fundos de hedge.
Nos últimos anos, Michael também fez trabalho para várias empresas financeiras diferentes, onde desenvolveu um programa de otimização de carteira de títulos e sistemas de negociação de commodities e ações. Desde 1989, ele tem sido um comerciante ativo.
Michael também é um autor mais vendido. Seu primeiro livro "Short-Term Trading with Price Patterns" foi publicado em 1999. Os outros dois livros "Stock Trading Techniques with Price Patterns" e "Rentabilidade e negociação sistemática" foram publicados em 2000 e 2008, respectivamente.
Posts Relacionados.
Estratégia quebrada ou mudança de mercado: investigação de desempenho insuficiente.
Descobrindo o que funciona, e o que não funciona.
Trading The Equity Curve & # 038; Além.
Publicações populares.
Connors 2-Period RSI Update para 2018.
Este indicador simples faz dinheiro novamente e novamente.
The Ivy Portfolio.
Melhorando a Estratégia de Identidade Simples, Parte 1.
Copyright © 2017 da Capital Evolution LLC. - Projetado por temas Thrive | Powered by WordPress.
Por favor faça login novamente. A página de login será aberta em uma nova janela. Depois de efetuar o login, você pode fechá-lo e retornar a esta página.
No comments:
Post a Comment