Backtesting
O que é 'backtesting'
Backtesting é o processo de testar uma estratégia de negociação em dados históricos relevantes para garantir sua viabilidade antes que o negociador arrisque qualquer capital real. Um trader pode simular a negociação de uma estratégia durante um período de tempo apropriado e analisar os resultados para os níveis de lucratividade e risco.
Amostragem de Aceitação.
Negligência do tamanho da amostra.
Ordem de Mercado.
Teorema do Limite Central - CLT.
QUEBRANDO "backtesting"
Uma quantidade significativa do volume negociado no mercado financeiro atual é feita por traders que usam algum tipo de automação de computadores. Isso é especialmente verdadeiro para estratégias de negociação baseadas em análises técnicas. O backtesting é parte integrante do desenvolvimento de um sistema de negociação automatizado.
Backtesting significativo.
Quando feito corretamente, o backtesting pode ser uma ferramenta inestimável para a tomada de decisões sobre a utilização de uma estratégia de negociação. O período de tempo de amostra no qual um backtest é realizado é crítico. A duração do período de tempo da amostra deve ser longa o suficiente para incluir períodos de condições de mercado variáveis, incluindo tendências de alta, tendências de baixa e negociação limitada por faixa. Realizar um teste em apenas um tipo de condição de mercado pode gerar resultados únicos que podem não funcionar bem em outras condições de mercado, o que pode levar a conclusões falsas.
O tamanho da amostra no número de negociações nos resultados do teste também é crucial. Se o número da amostra de negociações for muito pequeno, o teste pode não ser estatisticamente significativo. Uma amostra com muitos negócios durante um período muito longo pode produzir resultados otimizados, nos quais um número esmagador de negociações vencedoras se aglutina em torno de uma condição ou tendência de mercado específica que é favorável à estratégia. Isso também pode levar um comerciante a tirar conclusões enganosas.
Mantendo a realidade.
Um backtest deve refletir a realidade na melhor medida possível. Os custos de negociação que, de outra forma, poderiam ser considerados insignificantes pelos comerciantes, quando analisados individualmente, podem ter um impacto significativo quando o custo agregado é calculado ao longo de todo o período de backtesting. Esses custos incluem comissões, spreads e derrapagens, e eles poderiam determinar a diferença entre se uma estratégia de negociação é lucrativa ou não. A maioria dos pacotes de software de backtesting inclui métodos para contabilizar esses custos.
Talvez a métrica mais importante associada ao backtesting seja o nível de robustez da estratégia. Isso é realizado comparando os resultados de um teste de retorno otimizado em um período de tempo de amostra específico (chamado de amostra) com os resultados de um backtest com a mesma estratégia e configurações em um período de tempo de amostra diferente (referido como out - de amostra). Se os resultados forem igualmente lucrativos, a estratégia pode ser considerada válida e robusta, e está pronta para ser implementada em mercados em tempo real. Se a estratégia falhar em comparações fora da amostra, então a estratégia precisa de mais desenvolvimento, ou deve ser abandonada por completo.
Guia Essencial Para Backtesting Uma Estratégia De Negociação De Graça.
Ao longo dos anos, tentei diversas maneiras de fazer backtest de minhas estratégias de negociação. Apenas um método de backtesting acabou funcionando para mim e eu queria mostrar como isso funciona!
Mas vamos encarar: ninguém se diverte no backtesting. Pergunte a qualquer trader o seu nível de entusiasmo quando voltar a testar uma estratégia de negociação e a maioria deles responderá algo do tipo "muito baixo" # 8221 ;.
No entanto, imagine-se como o proprietário de um negócio de aeronaves; você não lançaria um novo avião no mercado sem saber com certeza que voa, certo?
O mesmo acontece com o seu negócio comercial. Uma das suas funções como proprietário dessa empresa comercial é garantir que você teste suas ferramentas para não ficar surpreso ao operar sua empresa ao vivo.
Como ir sobre o backtesting?
Existem duas maneiras básicas de fazer o seu backtest. O primeiro envolve a criação de um script que fará o backtesting para você. Se você gosta e / ou é bom em codificar, isso pode ser uma boa opção. A outra opção consiste em backtesting manual, pelo qual você mesmo passa pelos gráficos e coloca os negócios.
A outra opção consiste em backtesting manual, pelo qual você mesmo passa pelos gráficos e coloca os negócios.
Abaixo estão algumas vantagens do backtesting manual e automatizado. As vantagens de um são simplesmente as desvantagens do outro.
Vantagens de se automatizar.
É eficaz em termos de tempo. Você pode testar em muitos instrumentos / timeframes facilmente. É simples se você é bom em codificação.
Vantagens de ir manual.
Você entende melhor sua configuração comercial e como ela pode ser. Você obtém mais prática, o que é útil ao negociar ao vivo. Não é necessária muita preparação. Mais flexível.
Com base nisso, recomendo enfaticamente que você faça o backtest manual mesmo que leve mais tempo. A razão é que você começa a ganhar experiência vendo sua configuração de comércio em várias circunstâncias. É uma espécie de exercício para quando você começa a negociar ao vivo.
Para o restante deste artigo, presumo que você não é um codificador e deseja aproveitar as vantagens do backtesting manual.
Então, vamos seguir o manual!
Quais softwares / ferramentas usar?
Eu vou dizer desde o início que a maneira mais fácil de fazer backtesting é usar um software que foi projetado para backtesting. Esse é um tipo de atalho 🙂
O Forex Tester 3 é uma opção sólida (no momento em que escrevo este artigo, eles têm uma venda do Ano Novo chinês), e também me deparei com o Trade Interceptor.
Enquanto eu tenho minha própria cópia do Forex Tester, eu não posso usá-lo fora de casa (ele está disponível apenas no PC). Sempre que viajo com o meu Mac, tenho de me adaptar e é por isso que quero fornecer-lhe mais alternativas.
Dito isto, qualquer plataforma de negociação (MetaTrader, TradingView, NinjaTrader, etc.) pode ser usada para backtest manualmente. A única coisa que você precisa fazer é voltar no tempo e ocultar os movimentos futuros dos preços.
ATUALIZAÇÃO 2018: TradingView surgiu com um novo recurso legal para facilitar o backtesting. O único problema é que os dados disponíveis para o backtest são bastante limitados (1-3 meses em um gráfico de 5 min).
Em seguida, mova um castiçal (período de tempo) de cada vez até ver uma configuração comercial que você faria sob sua estratégia de negociação. Em todos os momentos, os movimentos futuros dos preços devem ser escondidos para que você não veja o resultado do seu negócio até que tenha concordado em aceitá-lo.
Aqui estão algumas dicas importantes para o TradingView:
Como rastrear o seu backtesting?
É aqui que gosto de fazer coisas bem diferentes da maioria dos comerciantes. Eu recomendo que você assista ao vídeo no começo deste artigo para ver como eu acompanho os negócios que realizo no meu backtesting.
Aqui, vou esboçar as principais ferramentas e o processo pelo qual passo "# 8230";
A ferramenta que eu uso.
Eu sou um grande fã do Trello, uma ferramenta gratuita baseada na web (também no celular) que é como ter uma placa com várias seções à sua frente.
Atualmente tenho meu diário de negociação no Trello (exemplo aqui) e acho isso muito mais intuitivo do que uma planilha.
Muito recentemente, porém, comecei a usar o mesmo formato para o meu backtesting. Eu crio um quadro Trello com as seguintes colunas:
Se parece com isso:
Para os comércios vencedores e os comércios perdidos, incluo uma captura tirada do TradingView. Isso é tudo! No final, é fácil contar quantas negociações vencedoras e perdedoras você tem.
Se você está buscando uma Recompensa-Para-Risco de 2: 1, 30 comércios perdedores e 30 comércios vencedores, por exemplo, você sabe que seu retorno será em torno de (-1X30) + (2X30) = 30R. Se você arriscasse 1% por negociação, isso daria 30%.
Neste caso, no entanto, a coluna Not Taken é especialmente importante. Essas são as configurações de comércio que você encontrou, mas que não foram aceitas por algum motivo. Eu incluo uma captura do negócio e escrevo a razão pela qual eu não considero isso como uma negociação válida.
Essas razões que você identificou serão as coisas que você precisa ter muito cuidado ao negociar ao vivo. Se sua estratégia tiver um desempenho ruim, provavelmente é porque você está fazendo negócios que não realizaria se estivesse realizando backtesting. Eu recomendo que você anote as razões pelas quais você não fez certas negociações em seu Plano de Negociação de Uma Página (template gratuito).
Oferta Gratuita: Se você usar este link, você e eu obteremos gratuitamente a versão Gold do Trello. Isso é um acordo ganha-ganha!
O que você acha deste método de backtesting? Você está fazendo algo semelhante atualmente? Qual é o seu maior desafio quando se trata de backtesting? Comente abaixo e vamos discutir!
Pioneiro na negociação de amanhã.
Pesquise, faça backtest e negocie seus investimentos.
Inscreva-se gratuitamente.
Como funciona?
Construir Algoritmos em um IDE do Navegador
Usando estratégias de modelo e dados livres.
Projetar e testar sua estratégia em nossos dados gratuitos e, quando estiver pronto, implantá-lo ao vivo para sua corretora. Codifique em várias linguagens de programação e aproveite nosso cluster de centenas de servidores para executar seu backtest para analisar sua estratégia em ações, FX, CFD, opções ou mercados de futuros.
O QuantConnect é a próxima revolução na negociação de quant, combinando computação em nuvem e acesso aberto a dados.
Velocidade Incomparável.
Aproveite o nosso farm de servidores para velocidades institucionais do seu computador desktop. Você pode repetir suas ideias mais rapidamente do que nunca.
Biblioteca de dados maciça.
Fornecemos uma enorme biblioteca de dados de resolução de 400TB, cobrindo as ações, opções, futuros, fundamentos, CFD e Forex dos EUA desde 1998.
Execução de Classe Mundial.
Nossos algoritmos de negociação ao vivo estão localizados ao lado dos servidores de mercado da Equinix (NY7) para uma execução rápida, segura e rápida para os mercados.
Tem ótimas ideias? Vamos testar! Comece seu algoritmo.
Qualidade profissional, biblioteca de dados abertos.
Crie estratégias com nossa biblioteca de dados cuidadosamente organizada, abrangendo os mercados globais, desde o tick até a resolução diária. Os dados são atualizados quase diariamente para que você possa fazer backtest nos dados mais recentes possíveis e com o viés de sobrevivência livre.
Oferecemos dados sobre as ações da Equities desde janeiro de 1998 para cada símbolo negociado, totalizando mais de 29.000 ações. O preço é fornecido pelo QuantQuote.
Além do que, além do mais; temos dados fundamentais da Morning Star para os mais populares 8.000 símbolos para mais de 900 indicadores desde 1998.
Crypto, Forex & amp; CFD.
Nós lideramos o mundo com negociações algorítmicas de criptografia no GDAX, além de oferecer 100 contratos de moeda e 70 de CFD cobrindo todas as principais economias fornecidas pela FXCM e pela OANDA. Todos os dados estão disponíveis na resolução do tick, começam em abril de 2007 e são atualizados diariamente.
Oferecemos dados sobre cotações e negociação de futuros de janeiro de 2009 até o presente, para todos os contratos negociados em CME, COMEX e GLOBEX. Os dados são atualizados semanalmente e são fornecidos pelo AlgoSeek.
Oferecemos negociações e cotações de opções até baixa resolução, para todas as opções negociadas na ORPA desde 2007, cobrindo milhões de contratos. Os dados são atualizados dentro de 48 horas e são fornecidos pelo AlgoSeek.
Transfira dados FX e CFD gratuitamente - Explore a nossa biblioteca de dados Inscreva-se hoje.
Colaboração em equipe.
Encontre novos amigos na comunidade e colabore com nosso recurso de codificação de equipe! Compartilhe projetos e veja o código deles instantaneamente enquanto eles digitam. Você pode até mesmo conceder acesso ao vivo e controlar o algoritmo ao vivo em conjunto. Use nossas mensagens instantâneas internas para encontrar futuros membros da equipe para juntar forças!
Propriedade Intelectual Segura.
Nosso foco é oferecer a melhor plataforma de negociação algorítmica possível e proteger sua valiosa propriedade intelectual. Nós sempre seremos um provedor de infraestrutura e tecnologia primeiro. Quando você estiver pronto para negociação ao vivo, ficaremos felizes em ajudá-lo a executar seu corretor de escolha.
Executar através de corretoras líderes.
Nós nos integramos a corretoras líderes mundiais para fornecer a melhor execução e taxas mais baixas para a comunidade.
OPÇÕES DE FUTUROS DE EQUITY FOREX.
US $ 1 MÍNIMO, US $ 0,005 / COMPARTILHAR.
Um corretor interativo da indústria fornece acesso ao mercado de ações, futuros e opções, tudo com uma conta e algumas das taxas mais baixas do setor.
De & libra; 0,07 por lote.
Com baixo spread e acesso direto ao mercado, o FXCM fornece acesso ao FX com taxas transparentes, excelentes preenchimentos e um baixo depósito de abertura.
Taxas de spread.
Fundada em 1995, a OANDA fornece acesso a FX e CFD com taxas baseadas em spread cobrindo todos os principais mercados globais.
Negociar moedas de criptografia.
Troque Bitcoin, Etherum e LiteCoin em uma bolsa baseada nos EUA totalmente regulamentada.
FOREX CFD EQUITY CRYPTO.
Negociação de papel.
Com QuantConnect & trade; Paper Trading, você pode simular condições do mercado ao vivo, taxas de modelagem e preenchimentos de pedidos para testar sua estratégia antes de colocá-la em operação.
Corrida de Execução Mundial de Corretagem Líder.
Corretoras Suportadas.
Graças aos nossos parceiros de corretagem, podemos oferecer livre negociação ao vivo para os corretores FXCM Brokerage e OANDA Brokerage, permitindo que você backtest e negocie sua estratégia inteiramente de graça.
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 médio / perda, combinada com a relação ganhos / perdas, pode ser útil para determinar o tamanho ideal de posição e gestão de dinheiro usando técnicas como o Critério Kelly. Os traders podem assumir posições maiores e reduzir os 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. Geralmente, é uma boa ideia implementar regras que se apliquem a todas as ações, ou a 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.)
Backtesting de estratégia.
Backtesting de estratégia é uma ferramenta essencial para ver se sua estratégia funciona ou não. O software de backtesting simula sua estratégia em dados históricos e fornece um relatório de backtesting, que permite conduzir uma análise adequada do sistema de negociação. A versão de 64 bits permite que você carregue a quantidade de dados necessária para o backtesting mais preciso. Para obter informações técnicas sobre esse recurso, consulte a página Wiki relacionada.
Precisão é a chave.
MultiCharts é uma solução criada especificamente para o desenvolvimento de estratégias e backtesting. Nossa filosofia é que o backtesting de estratégia deve ser tão realista quanto a tecnologia moderna permitir. O Multicharts de 64 bits possibilita lidar com uma enorme quantidade de dados Tick-by-Tick para um backtesting preciso.
Backtesting realista.
Mesmo que nenhuma aproximação possa ser 100% perfeita, fizemos tudo para recriar com precisão as condições do mercado passado e a execução de ordens para negociação de estratégia. Mecanismos de backtesting típicos têm muitas suposições e atalhos, que resultam em testes irreais e resultados não confiáveis. O MultiCharts é uma plataforma de negociação no nível institucional que minimiza as premissas e considera vários fatores.
Tecnologia avançada.
O backtesting de estratégia geralmente requer muitos dados e softwares capazes de processá-los. Multi-threading é usado quando você processa otimização de estratégia em MultiCharts. Ele espalha várias tarefas em diferentes núcleos, para que eles sejam concluídos muito mais rapidamente. A versão de 64 bits do MultiCharts permite que você carregue até anos e anos de dados de ticks para movimentos detalhados de preços.
Fácil de ler.
Você pode alterar o modo como seus sinais aparecem no gráfico, em apenas alguns cliques. Os pedidos de saída podem ser conectados por uma linha visível a todos os pedidos de entrada relacionados - a linha será verde se o negócio for lucrativo, vermelho, se não for. Se você não gosta dessas cores ou de qualquer outro aspecto visual, pode alterá-las facilmente.
Escolha sua moeda para backtesting.
A moeda base permite calcular o lucro e a perda durante o backtesting da estratégia com uma moeda especificada para pares de Forex ou símbolos não americanos. Se você backtest sua estratégia em um símbolo que é baseado em uma moeda diferente da sua conta do corretor, então você pode querer aplicar uma conversão de moeda. Para tornar os resultados o mais próximo possível da perfeição, usamos as taxas de câmbio reais para cada dia. Todas as conversões de moeda ocorrem nos bastidores para facilitar a sua negociação. Usamos nossos servidores para solicitar dados em segundo plano e realizar os cálculos necessários.
Todos os fatores essenciais contidos dentro
Nosso software de backtesting considera os seguintes fatores essenciais: liquidez, mudanças de preço tick-by-tick, diferenças de preços ask-bid-trade, comissão, slippage, capital inicial, taxa de juros e tamanho do negócio.
Levando em conta a liquidez.
Quando o mecanismo do MultiCharts faz o backtest de uma estratégia, ele reconhece que nem todos os pedidos com limite serão preenchidos devido à falta de liquidez. Por esse motivo, você tem a opção de preencher pedidos quando uma meta de preço é atingida ou quando ela é excedida por um determinado número de pontos (pips). Mais informações estão na nossa página Wiki.
Perguntar, licitar e negociar preços.
O backtesting leva em conta que a compra real acontece a preços de venda, venda real a preços de compra. Isso torna a nossa simulação de backtesting o mais realista possível. Backtesting de estratégia precisa pode dar ao usuário uma emulação mais realista. Para fazer backtest de estratégias de alta frequência, como a arbitragem estatística, o usuário pode precisar levar em conta os dados históricos de compra / venda, além dos dados históricos de comércio.
Simulação tick-by-tick.
O Magnifier Bar é essencial para aumentar a precisão durante o backtesting. Os MultiCharts podem construir barras maiores a partir de componentes menores - barras de segundo e minuto fora dos ticks, barras de hora e dia fora de minutos. Você pode recriar movimentos exatos de preços dentro de cada barra usando o Magnifier Bar. Por exemplo, o Magnifier de Bar pode carregar de forma invisível os minutos que compõem a hora, e a estratégia será backtested minuto a minuto. Saiba mais detalhes técnicos aqui.
Estratégias para a prática imediata.
O mecanismo de backtesting da MultiCharts até emula ordens de mercado, stop, limite, stop limit e one-cancels-other (OCO). Destino de lucro, stop-loss e trailing stops também são recursos de backtesting padrão. Além disso, o MultiCharts vem com mais de 80 estratégias EasyLanguage, para que você possa praticar o backtesting.
Комментариев нет:
Отправить комментарий