Backtesting: Interpretando o Passado.
O backtesting é um componente chave do desenvolvimento efetivo do sistema de negociação. Isso é realizado reconstruindo, com dados históricos, negociações que teriam ocorrido no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas para avaliar a eficácia da estratégia.
A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro e, inversamente, qualquer estratégia que tenha tido um desempenho ruim no passado provavelmente terá um desempenho ruim no futuro. Este artigo analisa quais aplicativos são usados no backtesting, que tipo de dados é obtido e como colocá-lo em uso.
Os dados e as ferramentas.
O backtesting pode fornecer muitos dados estatísticos valiosos sobre um determinado sistema. Algumas estatísticas de backtesting universais incluem:
Lucro líquido ou perda - Porcentagem líquida ganha ou perdida Medidas de volatilidade - Máximo percentual de acréscimo e desvantagem Médias - Ganho médio percentual e perda média, barras médias detidas Exposição - Porcentagem do capital investido (ou exposto ao mercado) Índices - Ganhos a perdas ratio Retorno anualizado - Retorno percentual ao longo de um ano Retorno ajustado pelo risco - Retorno percentual em função do risco.
Normalmente, o software de backtesting terá duas telas importantes. O primeiro permite que o comerciante personalize as configurações para o backtesting. Essas personalizações incluem tudo, desde período de tempo até custos de comissão. Aqui está um exemplo de tal tela no AmiBroker:
A segunda tela é o relatório de resultados de backtesting real. É aqui que você pode encontrar as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela no AmiBroker:
Em geral, a maioria dos softwares de negociação contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para realizar dimensionamento automático de posição, otimização e outros recursos mais avançados.
As 10 regras para o backtesting.
Há muitos fatores que os investidores prestam atenção quando estão testando estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a serem lembradas durante o backtesting:
Leve em consideração as amplas tendências de mercado no período de tempo em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia só foi testada novamente em 1999-2000, ela pode não se sair bem em um mercado em baixa. Muitas vezes, é uma boa ideia fazer backtest durante um longo período de tempo, abrangendo vários tipos diferentes de condições de mercado. Leve em conta o universo em que ocorreu o backtesting. Por exemplo, se um sistema amplo de mercado for testado com um universo constituído por ações de tecnologia, ele pode não se dar bem em setores diferentes. Como regra geral, se uma estratégia é direcionada para um gênero específico de estoque, limite o universo a esse gênero; mas, em todos os outros casos, mantenha um universo grande para fins de teste. Medidas de volatilidade são extremamente importantes para considerar no desenvolvimento de um sistema de negociação. Isto é especialmente verdadeiro para as contas alavancadas, que são sujeitas a chamadas de margem se o seu patrimônio cai abaixo de um certo ponto. Os comerciantes devem procurar manter a volatilidade baixa para reduzir o risco e facilitar a transição dentro e fora de um determinado estoque. O número médio de bares mantidos também é muito importante para assistir ao desenvolver um sistema de negociação. Embora a maioria dos softwares de backtesting inclua custos de comissão nos cálculos finais, isso não significa que você deva ignorar essa estatística. Se possível, aumentar o seu número médio de barras pode reduzir os custos de comissão e melhorar seu retorno geral. A exposição é uma faca de dois gumes. O aumento da exposição pode levar a lucros mais altos ou perdas maiores, enquanto a diminuição da exposição significa lucros menores ou perdas menores. Em geral, é uma boa ideia manter a exposição abaixo de 70% para reduzir o risco e facilitar a transição para dentro e para fora de um determinado estoque. A estatística de ganho / perda médio, combinada com a relação ganhos / perdas, pode ser útil para determinar o dimensionamento de posição ideal e o gerenciamento de dinheiro usando técnicas como o Critério Kelly. Os traders podem assumir posições maiores e reduzir custos de comissão aumentando seus ganhos médios e aumentando sua taxa de ganhos por perdas. (Para mais, consulte: Gerenciamento de dinheiro usando o critério Kelly.) O retorno anualizado é usado como uma ferramenta para avaliar os retornos de um sistema em relação a outros locais de investimento. É importante não só olhar para o retorno anualizado global, mas também para levar em conta o aumento ou diminuição do risco. Isso pode ser feito observando o retorno ajustado ao risco, que é responsável por vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros espaços de investimento em risco igual ou menor. A personalização de backtesting é extremamente importante. Muitos aplicativos de backtesting têm entradas para quantidades de comissão, tamanhos de lotes redondos (ou fracionários), tamanhos de ticks, requisitos de margem, taxas de juros, premissas de slippage, regras de dimensionamento de posição, regras de saída de barra idêntica, configurações de parada (trailing) e muito mais. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o broker a ser usado quando o sistema for ativado. O backtesting às vezes pode levar a algo conhecido como otimização excessiva. Essa é uma condição na qual os resultados de desempenho são ajustados tão altos para o passado que não são mais precisos no futuro. Em geral, é uma boa ideia implementar regras que se apliquem a todas as ações, ou um conjunto selecionado de ações específicas, e que não sejam otimizadas na medida em que as regras não sejam mais compreensíveis pelo criador. O backtesting nem sempre é a maneira mais precisa de avaliar a eficácia de um determinado sistema de negociação. Às vezes, as estratégias que tiveram bom desempenho no passado não se dão bem no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de que o comércio de papel é um sistema que foi testado com sucesso antes de entrar em operação para garantir que a estratégia ainda se aplica na prática.
Conclusão.
O backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema de negociação. Se criado e interpretado corretamente, ele pode ajudar os traders a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas, bem como ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real. (Para leitura relacionada, consulte: Backtesting and Forward Testing: A Importância da Correlação.)
Back-Testing manual; Praticando a arte de negociar.
Ação de preço e macro.
Negociar, como muitas outras coisas na vida, pode ser melhorado com a experiência. Isto é frequentemente onde os novos operadores falham. Uma vez percebido esse fato, eles olham para uma negociação muito simples.
& ldquo; Está aprendendo a negociar lucrativamente meu tempo? & rdquo;
Eu e muitos outros comerciantes (ou talvez mais precisamente) 'têm respondido de forma enfática' SIM '. a essa pergunta, e embarcou em um processo de aprendizagem para obter nossos resultados ao ponto que queremos. Mas nem todo mundo estaria naquele barco.
O difícil da experiência ao negociar é o fato de que essa mesma experiência pode nos custar dinheiro. Com o passar dos anos, ouvi muitas reclamações irreverentes: "ah, essa é sua mensalidade para os mercados". E esse pode ser o caso. Mas existem outras maneiras de ganhar experiência na velha arte da especulação.
Comerciantes de grãos e arroz, os criadores originais da análise técnica, empregariam um elemento de "comércio de papel", & rsquo; para rastrear lucros ou perdas hipotéticos para as estratégias que eles estão negociando.
Isso é semelhante ao demo trading hoje; uma maneira que podemos testar nossas teorias e estratégias no mercado sem risco financeiro. Isso é exatamente o mesmo que operar ao vivo, não, porque não há um provedor de liquidez no outro lado do seu comércio executando a execução REAL; mas pode me permitir testar minhas estratégias em um ambiente dinâmico.
A desvantagem da demonstração comercial ou do teste de demonstração de uma estratégia é o fato de que pode levar muito tempo para obter resultados suficientes para determinar a consistência de minhas estratégias. Se eu quiser testar uma estratégia em um gráfico diário, pode levar um ano inteiro apenas para fazer algumas negociações. E depois desses poucos negócios, não tenho certeza se ficaria confortável o suficiente com a estratégia de empregá-la ao vivo (afinal, apenas alguns negócios foram feitos, como sei se isso era uma anomalia ou não).
É aí que o back-test manual pode entrar em jogo. Este é um maneirismo em que posso simular um ambiente de mercado ao vivo com preços dinâmicos. É importante notar que qualquer back-test que realizamos, manual ou automatizado, sofre de uma desvantagem singular; e esse é o fato de que o desempenho passado não necessariamente se reproduzirá dessa maneira daqui para frente. Mas isso não é o ponto do back-test manual. A razão pela qual estou fazendo o teste é treinar a mim mesmo, usando as ferramentas da estratégia que está sendo testada, para que eu possa saber como empregar a abordagem da maneira mais eficaz.
Eu posso fazer isso em qualquer período de tempo, com qualquer par de moedas e quase qualquer estratégia que eu negocie.
Etapa 1: vista o gráfico.
O primeiro passo, quando o backtesting manual é para vestir os nossos gráficos, com os indicadores que usaremos na estratégia que estamos testando. Para esta ilustração, vou usar um EMA de 89 períodos e um CCI de 13 períodos. Depois de vestir o prontuário, estamos prontos para prosseguir.
Criado por James Stanley.
Etapa 2: dê um passo atrás no tempo.
Depois de termos nosso quadro vestido, precisamos ir para um período anterior no gráfico. O aqui é que eu quero estar familiarizado com a ação do preço para o período testado. Eu quero que os preços sejam o mais próximo possível da dinâmica de um mercado real. Eu quero que isso seja imprevisível.
Para fazer isso, posso simplesmente clicar e arrastar de volta no tempo para chegar a uma data anterior no gráfico.
Criado por James Stanley.
Passo 3: Ande para frente no tempo.
Esse recurso é muito benéfico para os traders que realizam muitos back-tests manuais, mas geralmente desconhecidos para muitos. Isso tem a ver com o & lsquo; encaminhamento & rsquo; e "para trás", & rsquo; setas no seu teclado.
Se eu quisesse voltar 1 hora, posso simplesmente pressionar a tecla de seta para trás, & rsquo; um tempo.
No entanto, se eu estiver testando em um gráfico de 4 horas, o & ndash; Pressionar as teclas de seta para frente ou para trás será equivalente a avançar ou retroceder 4 horas de cada vez.
Esse é um recurso extremamente conveniente que pode me permitir percorrer uma grande distância no gráfico em um curto período de tempo.
Neste ponto, quero avançar no gráfico até encontrar um negócio que atenda aos meus critérios. Quando o fizer, paro e estamos prontos para avançar para o passo 5.
Etapa 4: registre os resultados.
Este passo pode desviar entre trader para trader com base no estilo e maneirismo da manutenção de registros. Exorto todos os novos operadores ou aqueles que são iniciantes no back-testing manual a escrever cada um desses negócios; seja uma revista, uma planilha ou um log de negociação. Algumas informações importantes são de nota aqui:
Onde você colocaria sua parada?
Onde você estaria procurando obter lucros?
Você pode registrar todas essas informações, bem como quaisquer outras observações feitas por você. Depois de algumas negociações, você terá algumas informações que poderá usar para tornar a estratégia mais eficaz para suas metas.
Etapa 5: enxágüe e repita.
Depois de termos encontrado um comércio hipotético, nesse ponto poderemos avançar no futuro para ter uma ideia de como isso pode ter funcionado. Mais uma vez, podemos registrar esses resultados em nossos periódicos.
Então podemos passar para a próxima negociação. Podemos continuar fazendo isso até sentirmos o conforto e a experiência com a estratégia de passar para a próxima etapa de testes. Para alguns traders que estão testando com saldos menores, outros dão o salto diretamente para mercados ativos, enquanto outros, como eu mesmo & ndash; Em seguida, testará a estratégia em uma conta de demonstração com preços dinâmicos e dinâmicos.
--- Escrito por James B. Stanley.
Para entrar em contato com James Stanley, você pode seguir James no Twitter @JStanleyFX.
O DailyFX fornece notícias e análises técnicas sobre as tendências que influenciam os mercados monetários globais.
Como backtest sistemas de negociação e evitar o ajuste de curva.
Para julgar como um determinado sistema comercial deve funcionar no futuro, nós o testamos em dados de mercado anteriores. O backtesting aplica um conjunto de regras de negociação a dados históricos para estimar como essas regras teriam sido realizadas se realmente as tivéssemos negociado. Bons resultados históricos hipotéticos não garantem que um conjunto de regras funcionará bem no futuro. No entanto, resultados históricos hipotéticos pobres quase certamente significam que um sistema não deve ser negociado em tempo real.
O valor percebido do backtesting está enraizado na crença de que as tendências históricas se repetem. Os comerciantes têm testado estratégias sobre dados históricos por gerações. No entanto, a prática tornou-se popular com o advento dos computadores pessoais e com o software de teste do sistema, como o System Writer, que evoluiu para o TradeStation. Este software e um banco de dados de dados históricos permitiram que aqueles sem um histórico de escrita de códigos testassem as idéias do sistema de negociação. A compreensão e aceitação mais amplas dos sistemas de negociação, bem como a frustração que muitos enfrentaram ao tentar construir sistemas de negociação por conta própria, ajudaram o mercado de sistemas de terceiros a florescer durante os anos 90.
A Futures Truth é uma empresa independente que acompanha os sistemas de negociação disponíveis comercialmente desde os anos 80. Atualmente, ele rastreia mais de 500 sistemas. A Futures Truth testa sistemas de negociação em tempo real, não em dados históricos. Isso impede a modificação de regras ao longo do tempo e simula melhor a execução de regras em condições reais de mercado, como períodos de alta volatilidade. De acordo com a Futures Truth, apenas cerca de 45% dos sistemas rastreados são rentáveis a longo prazo, enquanto apenas 20% exibiram uma boa relação risco / recompensa. No entanto, esses números provavelmente são melhores do que a população em geral, porque apenas os fornecedores realmente confiantes em sua lógica entregam-se à Futures Truth para análise em tempo real e crítica pública.
Muitos sistemas falham porque não têm uma premissa válida. Em vez disso, os parâmetros de entrada e saída são derivados da mineração de dados. A mineração de dados simplesmente verifica dados históricos em busca de regras que funcionariam no passado. Freqüentemente, essas regras se encaixam precisamente no passado e não têm esperança de funcionar melhor do que aleatoriamente em dados não vistos. Em vez disso, o desenvolvimento do sistema deve começar com uma teoria que possa ser testada, analisada e ajustada para aplicação. Esse conceito também implica uma perspectiva diferente sobre o próprio teste do sistema: o objetivo do backtesting não é produzir uma coleção de estatísticas hipotéticas de lucros e perdas. É testar a validade da teoria e a precisão das regras para capturar a premissa.
O teste do sistema é um processo multifacetado a partir dos dados, até a escala de tempo, para as suposições de entrada do pedido, para as especificações do contrato e controle de risco. A falha em qualquer um deles pode arruinar um teste de outra forma válido & mdash; ou, manipulá-los pode gerar resultados muito superiores ao que atingiríamos em tempo real. Você precisa fazer isso corretamente se você deseja validar o & mdash; ou quando apropriado, invalidar & mdash; Seu sistema.
Existem dois elementos para backtesting: as ferramentas adequadas & mdash; software e dados & mdash; e um método científico para desenvolver sistemas usando essas ferramentas. Vamos começar por olhar para as ferramentas do comércio.
Muitas opções estão disponíveis para testar suas ideias. Eles diferem na facilidade de transformar idéias em código e em como eles lidam com os detalhes, o que pode ter um grande impacto nos resultados. Por exemplo, se um sistema entrar em uma ordem de limite, algum software registrará um preenchimento se esse preço for tocado. No entanto, dificilmente há uma garantia de que tal ordem teria sido preenchida em negociação real, nem há uma garantia de que não vai ser. Entrando em paradas garante uma entrada, mas não um preço.
Outra questão é registrar preços reais. Embora a maioria dos softwares desenvolvidos profissionalmente não tenha mais esse problema, ainda é uma preocupação para aqueles que testam manualmente sistemas em planilhas, como o Microsoft Excel. Por exemplo, se um sistema compra em uma parada igual ao fechamento mais um terço da faixa média nos últimos três períodos, e se a faixa média é 10, então estamos comprando no fechamento mais 3,333. Se estamos negociando o E-mini S & P 500, ele negocia em tamanhos de 0,25 ticks. Isso significa que o diferencial de entrada deve arredondar para 3.50. Um operador iniciante pode não perceber isso se processar manualmente os números, e não faz muito tempo que muitos programas profissionais cometeram o mesmo erro. Com o tempo, esse erro pode resultar em uma discrepância considerável.
No quadro geral, no entanto, tais detalhes processuais são menores. O grande problema são os dados.
Backtesting e sistemas de comércio.
As ferramentas avançadas de sistema de backtesting e comércio da CQG colocam você no controle de suas estratégias. Desenvolva e otimize seu sistema e seus sinais modelando com base em anos de dados históricos disponíveis. Quando estiver pronto, negocie-o automaticamente por meio do AutoTrader da CQG.
Teste suas idéias antes de arriscar seu dinheiro.
Nosso pacote de sistema comercial permite que os clientes analisem a atividade de negociação anterior e criem estratégias com base nessa atividade. Aproveite os nossos recursos para ajustar os pontos de entrada e saída e testar valores de parâmetros definidos pelo usuário.
Beneficie-se de nossos inúmeros recursos de backtesting examinando a atividade de negociação com base na criação de negócios longos ou curtos, uma variedade de sinais de entrada e saída e as comissões que o comerciante deve pagar.
Avalie os sinais de entrada usando suas condições favoritas.
Com o Signal Evaluator, você pode analisar a eficácia ao longo de um determinado período de tempo usando seus próprios sinais específicos de compra e venda. Sua análise pode ser aplicada a portfólios e commodities individuais.
Otimize seus parâmetros do sistema.
Otimize seu fluxo de trabalho usando o Trade System Optimizer, uma valiosa ferramenta de negociação que testa os resultados de sistemas de negociação que executam configurações diferentes e a combinação de parâmetros incluídos em sinais de negociação.
Negocie Automaticamente Seu Sistema de Negociação.
Agora que você tem seu sistema de negociação, faça com que o CQG troque-o automaticamente. O CQG AutoTrader é um mecanismo de execução de negociação proprietário que permite aos clientes executar simultaneamente numerosos sistemas de uma vez com igual precisão e disciplina. Por sua vez, fornece aos traders maior capacidade e precisão na negociação de sistemas versus execução manual.
O produto suporta vários tipos de pedidos e permite que os clientes configurem parâmetros de execução relacionados a preço, tamanho e tempo de pedidos. Para máxima transparência, o CQG AutoTrader é integrado a vários módulos de monitoramento de posição, como a janela Pedidos e posições e o estudo ATS (sistema automatizado de negociação), onde os clientes podem monitorar sinais e posições de negociação em gráficos e interfaces de negociação. O CQG AutoTrader pode ser usado em modos de negociação ao vivo ou de demonstração.
Vídeos de backtesting.
Doug Janson, especialista em produtos da CQG, descreve os recursos de automação da CQG IC. Aprenda como definir fórmulas, testar fórmulas usando o Entry Signal Evaluator e criar um sistema de negociação.
O especialista em produtos da CQG, Jim Stavros, demonstra a eficácia do uso de nossas ferramentas de sistema de backtesting e trade.
Use nossa tabela de comparação para encontrar os produtos CQG exatos que correspondem às suas necessidades específicas.
Assuma nossa principal plataforma, o CQG Integrated Client, para uma avaliação gratuita de 2 semanas sem risco.
Nós adoraríamos ouvir de você. Preencha nosso formulário de contato e um representante de vendas entrará em contato com você.
Como backtest uma estratégia de negociação do mercado de ações.
Neste artigo, mostro como você pode usar o Excel para testar suas próprias estratégias de negociação no mercado de ações. A estratégia neste artigo usa o conceito de Força Relativa e testa os índices Nasdaq 100 e S & P 500.
Eu também compartilho meus pensamentos sobre por que eu acho que todo trader deveria fazer backtest de suas estratégias.
Por que devo Backtest minha estratégia de negociação?
"Aqueles que não podem aprender com a história estão condenados a repeti-la" # 8221; & # 8211; George Santayana.
Quando backtest uma estratégia de negociação, olhamos para o que aconteceu no passado para orientar nossas futuras decisões comerciais.
O backtesting é difícil e consome tempo. É fácil cometer erros e é difícil evitar o ajuste de curvas e a otimização excessiva. Para fazer o backtest corretamente, você precisa ser rigoroso, disciplinado e estar preparado para gastar muito tempo desenvolvendo as habilidades e experiências necessárias.
É fácil obter resultados ajustados por curvas, viés de confirmação e erros simples e complexos. Você pode ter problemas com dados históricos insuficientes e, às vezes, com muitos dados históricos. É difícil ter certeza de que sua amostra de negociações é significativa.
Por causa dessas dificuldades, muitas pessoas alertam contra o backtesting. No entanto, tenho uma opinião diferente. Eu acho que, apesar de todas as dificuldades, você deve voltar atrás em suas estratégias. Simplesmente porque não há outra alternativa para o desenvolvimento de novas estratégias de negociação.
O que acontece quando você perde?
& # 8220; Todo mundo tem um plano até que eles sejam perfurados na boca & # 8221; & # 8211; Mike Tyson.
Possivelmente, o mais forte preditor do sucesso comercial de longo prazo é como você se recupera e aprende com as perdas. É fácil ser disciplinado quando você está sentado em uma série de grandes vitórias. Depois de algumas vitórias, é fácil esquecer o que é uma sequência de derrotas. Grandes negociações perdedoras são horríveis. Eles embaralham seu cérebro, deixam você nervoso e com raiva. Nesta condição, é fácil cometer erros que levam a uma perda maior. Ou ainda pior: não tome os negócios que teriam feito um grande lucro.
Quando um boxeador perde uma luta, ele volta para a academia e começa a treinar novamente. Ele fala com seu treinador, trabalha em sua defesa e acelera o jab. Quando eu tomo uma grande perda, volto ao meu backtest. Todas as estratégias que negocio foram testadas em muitos momentos diferentes. Mas depois de uma grande perda, quero saber como isso se encaixa no registro histórico. Quero verificar se não perdi alguma informação crucial. Acima de tudo, quero ter a confiança para fazer o próximo negócio.
Se você não tem um backtest você não tem nada para voltar. Você não sabe o quanto essa perda é significativa. Se você está confiando na estratégia de negociação de outra pessoa, você está em uma posição vulnerável. Você pode avançar e esperar que as coisas vão virar ou levar suas perdas e ir embora.
Comércio usando força relativa.
Força Relativa é um estilo de negociação que é intuitivo e fácil de entender. Uma maneira de usar Força Relativa é comprar quando o mercado de ações é forte e a venda quando é fraca.
Eu uso força relativa em várias das minhas estratégias de negociação e acho que é uma boa maneira de identificar entradas e saídas.
A estratégia de negociação.
A estratégia que demonstrarei analisa a relação entre o Nasdaq 100 e o S & P 500. Esses índices do mercado de ações são muito populares e amplamente negociados.
O Nasdaq 100 é um índice de principalmente empresas de tecnologia. Esse índice deve ter um desempenho melhor que o S & amp; P quando os investidores estão se sentindo confiantes.
O S & P 500 é um índice de ações de grande capitalização. Este índice deve superar o Nasdaq quando os investidores estão com medo.
Regras de Entrada.
Calcule uma média móvel exponencial de ambos os índices. Divida a média da Nasdaq pela média S & amp; P 500 para obter a proporção. Digite a posição Longa quando a relação estiver virada para cima. Feche a posição Longa quando a relação estiver virada para baixo.
Confira o vídeo abaixo para me ver descrevendo a estratégia. Você também pode me ver demonstrando como o modelo de backtest funciona testando diferentes cenários.
O backtest.
O backtest foi realizado no Excel usando a planilha Tradinformed Advanced Backtest Model. Esse modelo de backtest permite que você teste prazos diferentes, bem como entradas e saídas, incluindo stop-losses, metas de lucro e paradas finais. Os resultados mostrados abaixo são baseados em uma MME de 100 e meta de lucro de 10 * ATR.
Комментариев нет:
Отправить комментарий