Saturday 9 December 2017

Quanto tempo você deve backtest um sistema comercial


Quanto tempo você deve backtest um sistema que eu sou perguntado freqüentemente quanto tempo um deve backtest um sistema negociando. Embora theres nenhuma resposta fácil, eu vou lhe fornecer algumas orientações. Há alguns fatores que você precisa considerar ao determinar o período para backtesting seu sistema de comércio: Freqüência comercial Quantas negociações por dia faz o seu sistema de negociação gerar Não é importante quanto tempo você backtest um sistema comercial é importante que você recebe o suficiente para comércios para Fazer suposições estatisticamente válidas: Se o seu sistema de negociação gera três negócios por dia, ou seja, 600 negócios por ano, em seguida, um ano de testes dá-lhe dados suficientes para fazer suposições confiáveis. Mas se o seu sistema de negociação gera apenas três operações por mês, ou seja, 36 negócios por ano, então você deve backtest um par de anos para receber dados confiáveis. Contrato subjacente Você deve considerar as características do contrato subjacente. O gráfico abaixo mostra o volume médio diário do e-mini SP: Não faz sentido backtest um sistema de negociação para o e-mini SampP antes de 1999, porque eles contrato simplesmente não existe No meu opnion não faz sentido backtest um e - mini sistema de comércio antes de 2002, porque naquela época o mercado era completamente diferente menos liquidez e diferentes participantes do mercado. Eu acredito que um período de teste confiável para o e-mini SP são os anos de 2002 2004. O que é estatisticamente válido Recentemente eu recebi um artigo de um doutorado em statiscs. Explicou a correlação entre o tamanho da amostra ea margem de erro na tabela abaixo. Quanto maior a amostra, menor a margem de erro, mas geralmente uma data de amostra de 200 negócios deve ser suficiente. Se o seu sistema de negociação gera negócios suficientes, então você deve usar 500 - 600 comércios. Quinta-feira, 20 de janeiro de 2005 O que é um sistema de negociação robusto O que é um sistema de negociação robusto Com computadores tão poderosos como eles são hoje é fácil otimizar um sistema comercial e torná-lo olhar excepcional. No entanto, um sistema otimizado não é um bom sistema. Simplesmente porque você é capaz de treinar o seu computador para ter 20/20 hindsight não significa que vai realizar qualquer coisa assim no futuro. O principal problema com a otimização do desempenho passado é que os mercados mudam no futuro. Um mercado de baixa volatilidade torna-se de repente um mercado de alta volatilidade. Um mercado propenso a tendências torna-se um mercado sem direção. Um mercado que tinha alta alavancagem tem margem mudou e agora tem baixa alavancagem. Um mercado regulado torna-se de repente desregulamentado. A lista é interminável. O que tende a acontecer é que o mercado X tenderá a começar a atuar como mercado Y, o mercado Y tenderá a começar a atuar como mercado Z, etc. Se você tiver otimizado perfeitamente o sistema para o mercado Z, então você estará em apuros quando começar Para o comércio como o mercado X Este é um problema com muitos sistemas, especialmente os sistemas de índice de ações que tendem a ser otimizado para um único mercado ou setor. Apesar de seus resultados impressionantes ocasionais, theres mais do que uma gota de veneno em sua mistura. Contraste o cenário anterior com um em que o sistema foi projetado para funcionar bem mais todos os mercados A a Z. Agora, não importa se o mercado Z começa a agir como mercado Y ou mercado A começa a agir como mercado P. Eles podem Mudar tantas vezes quantas quiserem porque o sistema foi projetado para ser universalmente robusto com a maioria dos vários mercados. Novamente, as características do mercado pode remodelar-se inúmeras vezes e seu sistema é como uma faca suíça que provou em testes históricos Pode lidar bem com a maioria de todos esses cenários. Existem algumas dicas para um sistema otimizado: Desempenho irrealista de boa aparência Apenas negocia um mercado ou setor bem Usa regras diferentes (algoritmos) para cada mercado Usa diferentes entradas para cada mercado mesmo que as regras sejam as mesmas Usa diferentes regras ou entradas para Inicia compras ou vende Não considera os custos de transação realistas (comissão de deslizamento) Usa métodos de administração de dinheiro que não incluem a normalização do mercado (como o desempenho de contrato único) Usa números estáticos para todos os mercados, Bater aqueles em uma hora e outros poderiam levar semanas). Isso pode parecer contradizer 3 acima, mas não. Sua multa se os mercados têm diferentes paradas e alvos, desde que todos eles são dinamicamente calculados a partir do mesmo algoritmo e entradas (em oposição a um número predeterminado estática em toda a placa). Uma característica importante de um sistema robusto é que ele deve pesar todos os mercados igualmente. O teste deveria ter sido feito de forma a normalizar a diferença entre os mercados. Por exemplo, o gás natural muda uma média de alguns milhares de dólares por dia por contrato, no entanto, os eurodólares alterar uma média de algumas centenas de dólares por dia por contrato. Você precisa de uma maneira de equilibrar e normalizar essa diferença nos testes. Isso é importante porque o que se o sistema atende a maioria das regras acima não otimizado, mas a sua negociação de um contrato de mercado de gás natural para cada contrato Eurodollar O sistema ficaria muito bem se no passado tinha um monte de vencedores de gás natural. No entanto, o que se no futuro o gás natural começa a ter um monte de negociações perdendo eo Eurodollar começa a ter um monte de comércios vencedores Você acha que um número de cem dólares de negócios vencedores em um único contrato Eurodollar vai ser suficiente para Compensar um número de milhares de dólares em negociações perdedoras em um único contrato de gás natural Se você está negociando 20 mercados é porque você quer diversificação. No entanto, se você está negociando todos eles em uma única base de contrato, então você não é realmente diversificada. Você pode ter 50 de sua contabilidade carteira de 90 dos lucros e perdas O problema é que avançar, você será dependente de mercados específicos, em vez de apenas uma certa percentagem dos mercados (independentemente de quais). É muito mais robusto não ser dependente de certos mercados dentro da carteira. Nenhum mercado deve ser mais significativo do que qualquer outro. Em resumo, um sistema robusto deve fazer o seguinte: Trocar uma grande carteira de mercados com sucesso Trocar com sucesso essa carteira grande durante um período de teste muito longo Usar as mesmas regras exatas para cada mercado Usar exatamente os mesmos valores de entrada para cada mercado mesmo se as regras forem O mesmo Tem a mesma lógica e valores de entrada para iniciar tanto compra e vende Fatores em custos de transação realistas (comissões de deslizamento) Ser testado de uma forma em que os mercados foram normalizados para o risco (não um único contrato) Não usar saídas pré-programadas estáticas para todos Mercados (ou seja, 2000 stop ou 5000 lucro alvo para todos os mercados, mas sim dinamicamente computados) Depois de ter feito tudo isso, outra etapa seria fazer alguns walk-forward testes. Isso significa testar e desenvolver seu sistema em dados até o ano 2000 (por exemplo). Em seguida, depois de todos os testes é feito ver como ele teria feito desde o ano 2000 até agora. Isso ajuda a evitar muitos dos benefícios de retrospectiva. Tudo isso são coisas que fizemos no desenvolvimento de nossos sistemas. Outro testador de estresse excelente depois de concluir o acima é para executar um relatório de início de comércio. Na minha opinião, o relatório de início comercial dá-lhe a visão tridimensional mais robusta de um sistema possível. Ele corta tantas das armadilhas na análise tradicional. Ele mesmo corta o absurdo envolvido em olhar para o desempenho em tempo real. Você pode estar pensando, esperar um minuto, como você pode argumentar com o desempenho em tempo real Deixe-me dar-lhe um exemplo com um dos meus sistemas - Synergy. Em maio de 2003, a Synergy iniciou um comércio na London Copper. O comércio tornou-se o comércio mais bem sucedido do ano. Se você estava usando dimensionamento de posição que você poderia ter tido em 2 ou 3 (ou mais) destes contratos. No entanto, se você começou uma semana ou mesmo um dia após este comércio que você teria perdido isso Por conseguinte, dois investidores negociando o mesmo sistema exato com a mesma quantidade de dinheiro e exatamente as mesmas regras de gestão de dinheiro poderia ter um 25.000 ou 50.000 ou 75.000 (Ou mais) diferença em sua conta no final dos anos, E eles podem ter apenas começou um dia de diferença Isso pode criar tremenda confusão porque um corretores de contas em tempo real poderia ser muito diferente do que outros corretores de contas em tempo real tanto o comércio do mesmo sistema. Esse fenômeno também pode ser usado para propósitos mal-intencionados. É possível que um fornecedor de sistemas de cereja escolher uma data de início ideal histórico. Ele pode escolher uma data antes de um grande vencedor (ou série de vencedores). Isso pode fazer com que pareça que o sistema precisava de muito pouco capital inicial inicial e que o retorno sobre os fundos investidos era enorme. Basicamente você financiou a negociação com seus vencedores iniciais. No entanto, o que se você tivesse começado em uma data diferente E se você tivesse começado em uma data que estava certo antes de uma série de perdedores Você pode ter precisado 2 ou 3 ou 4 vezes o capital inicial do que você teria começando em uma data diferente. Portanto, o retorno sobre o capital investido teria sido muito menor, ou você pode ter perdido todo o seu investimento antes de fazer os lucros mostrados. O ponto é que existem inúmeras maneiras que as datas de início podem afetar o desempenho, tanto em relatórios hipotéticos e performances reais em tempo real. Você precisa ter algo muito mais robusto. Qual é a resposta que você pede Bem, na minha opinião é o Start Trade Report. O Start Trade Report testa um sistema centenas ou milhares de vezes durante o período especificado. Ele inicia cada teste em uma nova data que coincide com uma data que você poderia ter tomado um novo comércio. Se houvesse 2000 negócios ao longo de um período de 10 anos, então ele irá testar novamente o sistema 2000 vezes a partir da data de cada novo comércio de cada vez. Além disso, ele redefine o patrimônio de volta para o montante inicial inicial com cada teste. Isso é importante porque, ao usar o dimensionamento de posição, você pode pular certos negócios no início quando o patrimônio é pequeno. Não é correto olhar para os resultados de negócios que você não teria tomado. Tenho às vezes visto empresas de corretagem relatório sobre os comércios meu sistema feito que muitos dos meus clientes não teria tomado com base no seu tamanho da conta. Por exemplo, um comércio de 3.500 perder em um sistema onde a maioria dos clientes teria ignorado qualquer comércios com risco acima de 2.000. O relatório de início comercial sabe ignorar comércios no momento certo com base no seu montante inicial. Algumas coisas que um Relatório de Comércio Inicial pode mostrar é: Qual porcentagem dos primeiros 12 meses foram rentáveis ​​em 2000 diferentes datas de início Qual foi o desempenho médio do primeiro ano, quando calculado em 2000 diferentes datas de início Quanto dinheiro eu precisava na minha conta se Eu comecei na pior data possível Qual era o tamanho médio da conta que eu precisava para negociar o sistema em 2000 diferentes períodos de início Qual foi a média e mais que eu nunca fui sob o meu montante inicial inicial (Isso é diferente do máximo drawdown) A lista vai Sobre e sobre. Este relatório permite filtrar tanto do lixo visto no relatório de desempenho típico. Ele filtra muitos dos erros no relatório de desempenho em tempo real com base em um tamanho de amostra limitada ou cereja escolheu datas de início e contas. Espero que você possa ver que este relatório é inestimável. Eu honestamente não sei como você poderia nunca comércio qualquer sistema sem ele. Você pode ver quanto conforto e confiança isso pode construir quando você olhou para um sistema com tanto detalhe. Quando eu comecei a negociar para mim este é o relatório que me deu paz de espírito incrível. Foi o único relatório que me confortou quando houve levantamentos. Isso me permitiu saber se estávamos ou não na faixa normal da curva do sino. Ele também me deu uma gama muito realista de resultados a esperar no primeiro ano de negociação. Este artigo foi contribuído por Dean Hoffman, presidente e fundador da Strategic Trading Systems Inc., bem como o presidente e fundador da Hoffman Asset Management, Inc. 17 de abril de 2017 rotação negociação é um tipo de backtest onde você trocar por trocar de posições entre vários Símbolos baseados em sua pontuação relativa em vez dos tradicionais sinais de compra / venda / curto / cobertura. Como não há sinais usados, apenas o PositionScore atribuído a determinadas questões de símbolo. Vale ressaltar que, no caso do teste de rotação, o campo Posições na guia Geral das configurações de Análise é ignorado. É usado somente para backtests regulares que usam real compram / vendem / curto / cobrem sinais. No modo de rotação os negócios são movidos por valores de variável PositionScore sozinho. Em particular: maior pontuação positiva significa melhor candidato para entrar no comércio longo menor pontuação negativa significa melhor candidato para entrar no comércio de curto Como você pode ver a variável SIGN of PositionScore decide sempre que é longo ou curto. Portanto 8211 se quisermos testar o sistema long-only no modo backtesting rotativo, então devemos usar apenas valores positivos na variável PositionScore. Por exemplo 8211 se estamos negociando um sistema, que usa 252-bar taxa de mudança para fins de pontuação: Então, para negociar apenas posições longas, devemos alterar PositionScore defintion, por exemplo, para: Desta forma, nossos resultados permanecerão positivos e que irá efetivamente Desativar negócios curtos. Mais informações sobre o modo de rotação do backtester podem ser encontradas no manual: amibroker / guide / afl / enablerotationaltrading Artigos relacionados: 30 de janeiro de 2017 Quando queremos desenvolver um sistema de negociação, que inclui apenas N símbolos Cada um dos setores, indústrias ou outros subgrupos de símbolos classificados separadamente, devemos construir classificações apropriadas para cada uma dessas categorias. Isso pode ser feito com funcionalidades de classificação fornecidas pela função StaticVarGenerateRanks. A fórmula apresentada abaixo itera a lista de símbolos incluídos no teste, calcula as pontuações utilizadas para a classificação e as grava em variáveis ​​estáticas. Os nomes das variáveis ​​estáticas são baseados no número da categoria (setores neste exemplo) e permitem criar intervalos separados para cada setor. Nosso teste deve ser aplicado a uma watchlist, que contém todos os símbolos que queremos incluir em nosso código de classificação: Executando a exploração irá mostrar dois símbolos de topo para cada um dos setores: Nós também podemos alterar a definição da variável Filter e mostrar todos os classificados Símbolos. Essas informações de classificação podem ser usadas em backtest e regras de exemplo incluídas no final do código usam informações de classificação para permitir que apenas dois símbolos de pontuação máxima sejam negociados. Artigos relacionados: 29 de janeiro de 2017 Quando você back-test um sistema negociando, você pode às vezes encontrar comércios marcados com (6) razão da saída, mostrando por exemplo. Short (6) ou Short (ruína) na lista de comércio como na imagem abaixo: Como explicado neste artigo da Base de Dados de Conhecimento: amibroker / kb / 2017/09/24 / how-to-identifier-which-signal - Gatilhos / tal identificador nos diz que o comércio foi fechado devido à ativação de parada de ruína. A ruin-stop é um built-in, percentagem fixa fixada em -99,96, por isso é ativado se a sua posição está perdendo quase todos (99,96) de seu valor de entrada. Quase nunca ocorre nos comércios longos, mas pode ser completamente comum se seu sistema de troca coloca trocas curtas sem nenhum tipo da parada máxima da perda. Imagine que você curto um estoque quando seu preço é 10, então it8217s preço sobe para 20 (duas vezes o preço de entrada). Quando você compra para cobrir a posição que você deve pagar 20 por ação, o que significa que sua perda sobre este comércio é de 10 por ação (20-10). Isso significa 100 perda (como por valor de entrada). Se você colocasse tal comércio com todo seu capital você estaria falido. É por isso que esta parada é chamada 8220ruin stop8221. Infelizmente, pela natureza da venda a descoberto, os ganhos são limitados a 100 (quando o preço da ação cai para zero), mas as perdas são praticamente ilimitadas. Então o que fazer para evitar saídas por ruína parar A melhor idéia é apenas colocar o máximo adequado. Perda parar em porcentagem muito menor (como 10 ou 20), dependendo do que sua tolerância ao risco é, para limitar drawdowns e diminuir a chance de limpar sua conta para baixo para zero. Se, por alguma razão estranha, você quiser desativar esta parada embutida, você pode fazê-lo usando este código: mas é altamente desencorajado, porque quando você limpa sua conta para baixo para zero (ou mesmo abaixo de zero) não faz Aponte para executar novamente o teste posterior. Em vez de desativar esse recurso, você deve colocar a parada de perda máxima adequada e mais apertada. Artigos relacionados: 28 de janeiro de 2017 Além das paradas regulares ou com base em pontos, a AmiBroker permite definir o tamanho de parada como risco (stopModeRisk), o que significa que permitimos apenas desistir de determinado percentual de lucro obtido em determinada negociação. A imagem apresentada abaixo visualiza uma parada de arrasto de risco usando o tamanho de risco de 35. Uma vez que no início do comércio os lucros podem ser muito baixos (e potencialmente desencadear saídas indesejadas), esse tipo de parada é melhor usar com o argumento validFrom, que permite atrasar a ativação de parada por determinado número de barras. A linha azul no topo representa a mais alta desde a entrada, enquanto a linha vermelha mostra o cálculo do nível de parada, a área amarela mostra as barras, onde nossa parada se tornou ativa: Os níveis acima foram calculados com o seguinte código: 20 de janeiro de 2017 Para fins de contagem de negócios fechados por um stop especial, podemos nos referir a propriedade ExitReason do objeto de comércio no backtester personalizado. A fórmula de backtest personalizada apresentada abaixo itera através da lista de negociações fechadas, então conta os comércios, que indicam a razão de saída 2, que é stop-loss. Os seguintes valores são usados ​​para indicação da razão de saída específica: saída normal perda máxima parada lucro alvo parada parada final parada n-bar parada parada de ruína (perda de 99,96 de valor de entrada) Artigos relacionados: 6 de outubro de 2017 Há situações em que podemos precisar Para executar determinados componentes de código apenas uma vez, por exemplo Para inicializar algumas variáveis ​​estáticas antes da execução de negociação automática ou executar algumas tarefas (como classificação) no início do backtest ou exploração. As seguintes técnicas podem ser úteis nesses casos: Quando queremos executar determinada parte de código apenas uma vez depois de iniciar o AmiBroker, podemos usar uma bandeira escrita em uma variável estática que indicaria se a nossa inicialização foi acionada ou não. Se quisermos executar determinada parte do código no início da execução do teste na janela de análise, podemos usar: Quando Status (8220stocknum8221) é detectado no código, a execução é executada em um único segmento para o primeiro símbolo. Somente após o processamento deste primeiro símbolo ter terminado os outros segmentos serão iniciados. Um exemplo prático mostrando o uso deste recurso é apresentado no seguinte tutorial: Artigos relacionados: 28 de setembro de 2017 AmiBroker8217s portfolio backtester permite definir o ranking de ações e critérios de seleção por meio da variável PositionScore. Isto é explicado em detalhes no seguinte capítulo tutorial: Se PositionScore não está definido ou tem o mesmo valor para dois ou mais símbolos, então AmiBroker usará as seguintes regras: a transação com maior PositionSize é preferida 8211 o método de comparação depende da posição Abordagem de dimensionamento usada em nosso código: Se usarmos SetPositionSize (value, spsValue) 8211 então o valor é comparado. Se usarmos SetPositionSize (shares, spsShares) 8211 então o número de compartilhamentos é usado para comparação. Se usarmos SetPositionSize (perc, spsPercentOfEquity) 8211 então o equidade é importante. Ordem alfabética longas, em vez de operações curtas, se ambas ocorrerem ao mesmo tempo para o mesmo símbolo. Artigos relacionados: 27 de setembro de 2017 Este artigo da Base de Dados de Conhecimento: amibroker / kb / 2017/09/26 / fechando-trades-in-delisted-symbols / explica como fechar negócios em símbolos excluídos no backtest regular (para evitar Estoque na lista de negociação e ter nosso limite de símbolo máximo impactado por essas posições). No teste de rotação, no entanto, não podemos usar Vender variável, porque os comércios são movidos por símbolos8217 ranking por valores PositionScore. Portanto, seria necessário atribuir zero à variável PositionScore para as barras de saída, respectivamente, 8211 isso forçará a saída de quaisquer posições mantidas em determinado estoque. Observe que estamos ajustando o último índice de barras caso os atrasos comerciais sejam definidos nas configurações. Como no teste regular, também podemos usar as informações de DelistingDate se as tivermos importadas para a janela Symbol - Information. Artigos relacionados: NOTA: Os códigos apresentados abaixo são apenas para dados intradiários. O cenário é o seguinte: somos comerciantes intraday e queremos limitar o número de negócios feitos por dia por símbolo. Para simular tal cenário em um backtest, precisamos contar os sinais e removê-los em conformidade depois que atingimos o nosso limite. Existem vários métodos para fazê-lo ea escolha depende dos sinais que o nosso sistema gera. Se os nossos sinais de negociação vêm em uma seqüência como Buy-Sell-Buy-Sell (sem sinais repetidos no meio), então poderíamos apenas contar sinais BUY desde o início do dia e permitir N primeiro destes sinais, onde N é o número Dos negócios que permitimos. Isto pode ser conseguido com a função Soma: Se os sinais do mesmo tipo puderem ser repetidos e ocorrerem por exemplo em seqüência como Buy-Buy-Buy-Sell, então antes de contar os sinais de entrada precisaremos primeiro remover os redundantes. Isso pode ser conseguido com a chamada de função Equity (1), que removerá sinais repetidos como o backtester iria lidar com eles: Quando nosso sistema de negociação usa regras de negociação complexas para que don8217t saber a ordem dos sinais, podemos usar um loop para processar sinais e Contar comércios. Artigos relacionados: 12 de fevereiro de 2017 Quando executamos o teste de portfólio e usamos o procedimento de backtesting padrão 8211 em cada barra, o AmiBroker primeiro processará os sinais de saída e usará sinais de entrada para abrir novos negócios. Pode haver algumas estratégias no entanto, onde esta abordagem pode não ser suficiente. Por exemplo 8211 se simularmos entradas com limite de preço (então eles ocorrem em algum lugar no meio do dia), mas sai em Close 8211, então se não usarmos qualquer empréstimo de margem, os fundos de sinais de saída só podem ser usados ​​em dias subseqüentes . Uma vez que os preços de negociação (BuyPrice, SellPrice, ShortPrice, CoverPrice arrays) don8217t transportar qualquer informação cronometrando, mas apenas as informações sobre o nível de preço para determinado comércio 8211, então precisamos adiar a liberação de fundos por um dia para obter resultados corretos. Isso pode ser feito com o seguinte comando: O dinheiro não liquidado é relatado no registro detalhado: Precisamos lembrar que esta opção funciona em dias (não barras) e pode ser melhor usá-lo com backtestRegularRaw em vez de backtestRegular, caso contrário alguns negócios Não pode ser entrado porque os fundos não são resolvidos imediatamente 8211 assim que nós podemos precisar de poder não entrar em sinais de compra primeiramente mas subseqüentes (tudo dependeria realmente das regras de troca particulares) 8211 o comportamento do modo backtestRegular e processar sinais crus é explicado Aqui: amibroker / guide / hportfolio Artigos relacionados: Tag Archives: trading quanto tempo um backtest deve ser BACKTESTING pode ser o procedimento para a seleção da técnica de compra e venda em ciclos anteriores. Ao invés de usar um método no que diz respeito ao prazo adiante, que poderia considerar muitos anos, o investidor pode realizar a simulação associada com sua compra e venda de técnica sobre informações anteriores adequadas para ser capaz de avaliar a utilidade real it8217s. Clique aqui para fazer o download de uma nova ferramenta de negociação e estratégia gratuitamente A maioria dos métodos de análise técnica tendem a ser examinados com esta estratégia específica. Sempre que você backtest o conceito, os resultados obtidos tendem a ser extremamente determinado pelas ações reais do período de tempo examinado. Backtesting o conceito presume que o que se passa anteriormente pode acontecer mais tarde, que presunção pode causar possíveis perigos para essa técnica. Por exemplo, o estado que você precisa para verificar um método em consonância com a idéia de que IPOs Web ofuscar o mercado inteiro. Se você tivesse sido para tentar esta tática durante todo o crescimento pontocom muitos anos dentro do passado devido 90s, a técnica real pode ofuscar o mercado consideravelmente. No entanto, usando exatamente a mesma técnica após a explosão da bolha aberta pode levar a resultados deprimentes. Porque você vai ouvir muitas vezes: 8220past desempenho global doesn8217t sempre garantir a longo prazo returns8221. Pesquisas recentes Mensagens recentes Arquivos Algumas outras categorias pesquisadasComo longe é ideal para backtesting Registrado em janeiro de 2017 Status: Membro 70 Posts Apenas interessado em fazer uma pesquisa, há certamente muitos sistemas Lá fora e eu sou um dos muitos que realmente testado muitos mudaram muitos sistemas e desperdiçou um monte de tempo no sistema hopping até que eu finalmente encontrei um sistema que é adequado para mim que eu posso construir lucros consistentes com. Eu desperdicei acho muito tempo encontrando sistemas testando-os e aprendendo-os. Então, eu estou apenas curioso se há um backtest manual de 1 ou 2 anos para ver o potencial do sistema antes de tentar o sistema será melhor para os novos comerciantes Idealmente, você deve estar olhando para 10.000 comércios. Esse é o número de vezes que um sistema precisa ser testado para que ele seja estatisticamente significativo. No entanto, isso não significa que você tem que fazer isso muitas vezes para garantir a sua estabilidade. Gostaria de sugerir no entanto que você olhar para ele em termos de número de comércios, em vez de número de anos. Faz muito mais sentido dessa maneira. Interessado de onde vem o número 10000. Tanto quanto sei, o número exato depende do tipo de informação que está sendo coletada e de como ela é variável. Muitas vezes há um monte de pressupostos subjacentes nos cálculos, como uma taxa de erro aceitável. Meu palpite é que você precisa o suficiente para garantir que todas as condições de mercado foram adequadamente testados e todas as eventualidades importantes examinadas. Por exemplo, se seu sistema tem qualquer elemento martingala, então você precisa ter negócios suficientes para garantir que a pior situação ocorreu várias vezes. Não se esqueça que o mercado é dinâmico. Se você voltar testá-lo, você assume sua constante para esse período de tempo. Eu prefiro colocar mais peso-idade sobre o que funciona estes meses do que encontrar sistemas fósseis que pararam de funcionar. Eu ficaria intrigado para ver sua pesquisa ou artigos acadêmicos sobre por que o mercado é dinâmico e em que instâncias. Ou melhor ainda, se você tiver alguma pesquisa sobre quando o mercado não é constante, eu ficaria feliz se você pudesse me mostrar. Seu fácil apenas indicar algo, mas você necessita o suportar acima pela pesquisa completa, como em toda a outra ciência. O mesmo ocorreu quando as pessoas acreditavam que a terra era plana, quando na verdade isso nunca foi provado, até que finalmente foi provado que a terra é redonda. Eu ficaria intrigado para ver sua pesquisa ou artigos acadêmicos sobre por que o mercado é dinâmico e em que instâncias. Ou melhor ainda, se você tiver alguma pesquisa sobre quando o mercado não é constante, eu ficaria feliz se você pudesse me mostrar. Seu fácil apenas indicar algo, mas você necessita o suportar acima pela pesquisa completa, como em toda a outra ciência. O mesmo ocorreu quando as pessoas acreditavam que a terra era plana, quando na verdade isso nunca foi provado, até que finalmente foi provado que a terra é redonda. Digo a sua dinâmica porque quando suficiente ppl perceber que um determinado sistema funciona, ele pára de funcionar, ele muda. Se você realmente precisa provar, não há nenhum. Mas os comerciantes experientes saberiam o que eu estou me referindo, pg 193 Market Wizards (The Ultimate trading system). Eu acho que você não faz sistemas, ou seu havent ficar obsoleto ainda. Nada pessoal, mas que era o ponto que eu estava tentando fazer neste post forexfactory / showthre. 46post4436846. Mas sua resposta naquele momento parece implicar que o mercado pode mudar o suficiente para invalidar todo esse comportamento. Ligeiramente diferente questão que eu conheço como essa discussão foi sobre os prazos para que possa ter nublado o problema. A verdadeira questão é quais são os aspectos que nunca mudam e que, portanto, podem ser usados ​​para produzir lucros consistentes. A maioria dos sistemas está apenas funcionando temporariamente. Descobrir quais sistemas funcionam por décadas é o que eu estou pesquisando em uma base constante. E para isso, 600 negócios em um período de tempo de 1 minuto está longe de ser suficiente. Ele não vai mostrar como este sistema realiza a longo prazo. Você ainda precisa de grandes mudanças econômicas em seus dados comerciais, e isso só vem de anos ou décadas de dados. Caso contrário, você nunca vai saber se é apenas uma ineficiência temporária / sorte ou uma ineficiência do mercado real que tem trabalhado ao longo dos últimos anos e é provável que continue a trabalhar por anos para vir. Eu sou freqüentemente perguntou quanto tempo deve backtest um sistema comercial. Embora theres nenhuma resposta fácil, eu vou lhe fornecer algumas orientações. Há alguns fatores que você precisa considerar ao determinar o período para backtesting seu sistema de comércio: Freqüência comercial Quantas negociações por dia faz o seu sistema de negociação gerar Itrsquos não é importante quanto tempo você backtest um itrsquos sistema de comércio importante que você recebe o suficiente para comércios para Fazer suposições estatisticamente válidas: Se o seu sistema de negociação gera três negócios por dia, ou seja, 600 negócios por ano, em seguida, um ano de testes dá-lhe dados suficientes para fazer suposições confiáveis. Mas se o seu sistema de negociação gera apenas três operações por mês, ou seja, 36 negócios por ano, então você deve backtest um par de anos para receber dados confiáveis. Contrato subjacente Você deve considerar as características do contrato subjacente. O gráfico abaixo mostra o volume médio diário do e-mini SampP: Não faz sentido voltar a testar um sistema de comércio para o e-mini SampP antes de 1999, porque o contrato simplesmente não existia No meu opnion não faz sentido backtest um e - mini sistema de comércio antes de 2002, porque naquela época o mercado era completamente diferente menos liquidez e diferentes participantes do mercado. Eu acredito que um período de teste confiável para o e-mini SampP são os anos 2002 ndash 2004. O que é quotstatistically validquot Recentemente eu recebi um artigo de um Ph. D em statiscs. Ele explicou a correlação entre o tamanho da amostra eo quotmargin de erro na tabela abaixo. Quanto maior a amostra, menor a margem de erro, mas geralmente uma data de amostra de 200 negócios deve ser suficiente. Se o seu sistema de negociação gera negócios suficientes, então você deve usar 500 - 600 comércios.

No comments:

Post a Comment