Estratégia de negociação do excel backtesting


Usando Excel para Back Test Trading Strategies.
Como voltar a testar com o Excel.
Eu fiz uma boa quantidade de teste de back-up da estratégia de negociação. Utilizei linguagens e algoritmos de programação sofisticados e também fiz com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar muitas estratégias de negociação. Se você pode operar uma planilha eletrônica, como o Excel, você pode voltar testar muitas estratégias.
O objetivo deste artigo é mostrar como fazer o teste de uma estratégia de negociação usando o Excel e uma fonte de dados acessível ao público. Isso não deve custar-lhe mais do que o tempo necessário para fazer o teste.
Antes de começar a testar qualquer estratégia, você precisa de um conjunto de dados. No mínimo, esta é uma série de data / horário e preços. Mais realista, você precisa da data / hora, aberto, alto, baixo, fechar os preços. Você geralmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradiária.
Se você deseja trabalhar e aprender a fazer uma volta ao teste com o Excel enquanto estiver lendo isso, siga as etapas que eu descrevo em cada seção. Nós precisamos obter alguns dados para o símbolo que vamos voltar a testar.
Vá para: Finanças do Yahoo No campo Símbolo de inserção digite: IBM e clique em Ir sob Cotações no lado esquerdo, clique em Preços históricos e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desloque-se para baixo até a parte inferior da página e clique em Baixar para Folha de cálculo Salve o arquivo com um nome (como ibm. csv) e para um local que você possa encontrar mais tarde.
Preparando os dados.
Abra o arquivo (que você baixou acima) usando o Excel. Devido à natureza dinâmica da Internet, as instruções que você leu acima e o arquivo que você abriu podem ter mudado no momento em que você lê isso.
Quando eu baixei esse arquivo, as melhores linhas pareciam assim:
Agora você pode excluir as colunas que você não vai usar. Para o teste que estou prestes a fazer, só usarei a data, abrir e fechar valores, então eu exclui o Alto, o Baixo, o Volume e o Adj. Fechar.
Eu também ordenei os dados para que a data mais antiga fosse a primeira e a última data estava na parte inferior. Use o Data - & gt; Escolha as opções do menu para fazer isso.
Em vez de testar uma estratégia em si, vou tentar encontrar o dia da semana que proporcionou o melhor retorno se você seguiu uma compra aberta e venda a estratégia de fechamento. Lembre-se de que este artigo está aqui para apresentá-lo sobre como usar o Excel para rever as estratégias de teste. Podemos construir sobre isso no futuro.
Aqui está o arquivo ibm. zip que contém a planilha com os dados e as fórmulas para este teste.
Meus dados agora estão nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, eu tenho fórmulas de lugar para determinar o retorno em um dia específico.
Inserindo as fórmulas.
A parte complicada (a menos que você seja um especialista do Excel) esteja trabalhando as fórmulas para usar. Isso é apenas uma questão de prática e quanto mais você pratica as fórmulas mais que você descobrirá e mais flexibilidade você terá com seus testes.
Se você baixou a planilha e veja a fórmula na célula D2. Se parece com isso:
Esta fórmula é copiada para todas as outras células nas colunas D para H (exceto a primeira linha) e não precisa ser ajustada uma vez que foi copiada. Vou explicar brevemente a fórmula.
A fórmula IF tem uma condição, parte verdadeira e falsa. A condição é: "Se o dia da semana (convertido para um número de 1 a 5 que coincide de segunda a sexta-feira) é o mesmo que o dia da semana na primeira linha desta coluna (D $ 1) então". A verdadeira parte da declaração ($ C2- $ B2) simplesmente nos dá o valor do Close-Open. Isso indica que compramos o Open e vendemos o Close e este é o nosso lucro / perda. A parte falsa da declaração é um par de citações duplas (") que não colocam nada na célula se o dia da semana não for combinado.
Os sinais $ à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou a linha para que, quando esta seja copiada, essa parte da referência da célula não muda. Então, aqui no nosso exemplo, quando a fórmula é copiada, a referência para a célula de data $ A2 mudará o número da linha se for copiada para uma nova linha, mas a coluna permanecerá na coluna A.
Você pode aninhar as fórmulas e criar regras e expressões excepcionalmente poderosas.
Os resultados.
No final das colunas da semana eu coloquei algumas funções de resumo. Nomeadamente, as funções de média e soma. Estes nos mostram que, durante 2004, o dia mais lucrativo para implementar esta estratégia foi em uma terça-feira e isso foi seguido de perto por uma quarta-feira.
Quando testei as sextas de expiração - Bullish ou Bearish? estratégia e escreveu esse artigo, usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas de caducidade eram geralmente de alta ou baixa.
Experimente. Baixe alguns dados do Yahoo Finance, carregue no Excel e experimente as fórmulas e veja o que pode surgir. Publique suas perguntas no fórum.

estratégia de negociação do Excel backtesting
Inscreva-se no boletim informativo Tradinformed para receber os recursos gratuitos, receber notificações sobre novos artigos e vendas de produtos.
Nenhum produto no carrinho.
Nenhum produto no carrinho.
Aprender a trocar leva tempo e muita paciência. Neste artigo, discuto por que é bom usar o Excel para testar estratégias de negociação.
Qual é uma boa estratégia comercial?
Uma parte crucial da negociação lucrativa é usar uma boa estratégia comercial. Diferentes tipos de estratégias funcionam melhor em diferentes condições do mercado e pode ser útil ter mais de uma boa estratégia.
Uma boa estratégia comercial é como um terno bem equipado. Deve se sentir bem, bem como ficar bem. Uma estratégia comercial deve ser um bom ajuste com a personalidade e estilo de vida do comerciante, além de ser rentável.
Se a estratégia de negociação não se encaixa com o comerciante, provavelmente falhará. Um comerciante descontraído e pensativo provavelmente deve trabalhar no desenvolvimento de uma estratégia de paciente lento que tire grandes lucros de grandes movimentos do mercado. Os comerciantes que adquirem alta adrenalina e querem estar constantemente dentro e fora do mercado devem negociar movimentos de alta probabilidade nos prazos mais curtos.
Igualmente importante é o tempo e a capacidade de trocar a estratégia corretamente. Uma pessoa que trabalha 40 horas semanalmente não pode negociar uma estratégia que requer atenção constante. Também pode ser difícil se concentrar no comércio de casa quando a casa está cheia de crianças ruidosas. Os comerciantes devem ser realistas sobre quanto tempo e energia eles podem dedicar à sua estratégia.
Como desenvolver uma boa estratégia comercial.
A única maneira certa de desenvolver uma estratégia de negociação que funciona para você é tentativa e erro. Até que você tenha negociado uma estratégia ao vivo no mercado, você não saberá com certeza se é certo para você. Existem maneiras de acelerar o processo de desenvolvimento de sua própria estratégia.
Analise o seu histórico comercial.
Os mercados financeiros têm uma maneira de nos ensinar as lições que precisamos aprender.
Estudar seus negócios passados ​​é muito útil para refinar sua abordagem de negociação. Veja como você lida com condições difíceis. Quão bem você adere ao seu plano e quanto lucro ou perda você tira de cada movimento do mercado. Você conseguiu obter mais lucro com seus negócios vencedores e cortar seus perdedores antes?
Backtesting.
Para introduzir novos métodos e para lidar com diferentes condições de mercado, o teste de retorno é extremamente importante. Backtesting usa dados de preços históricos para ver como as estratégias de negociação teriam realizado.
Backtesting precisa ser feito com cuidado e o desempenho passado não é igual ao desempenho futuro. No entanto, é inestimável para eliminar estratégias que nunca foram lucrativas e descobrindo fracos em estratégias aparentemente boas.
Backtesting também é muito útil para estabelecer princípios comerciais gerais para um mercado específico. Por exemplo, realizei uma série de testes usando um sistema de troca de entrada aleatória. Nestes artigos: entrada aleatória e entrada aleatória mais indicadores técnicos. Esses testes mostraram-me que, no mercado EUR / USD, um sistema de entrada aleatória pode ser lucrativo. Eu não vou negociar um sistema de entrada aleatória, mas vou usar os princípios, como uma parada final como parte da minha negociação diária no EUR / USD.
Usando o Microsoft Excel.
Você pode fazer backtest usando muitas plataformas diferentes, mas uma das maneiras mais fáceis de testar estratégias relativamente complicadas é usar o Excel.
O Excel é muito acessível e a maioria das pessoas já conhece o caminho do software. É muito fácil de usar e há uma enorme quantidade de informações disponíveis on-line sobre como melhorar as habilidades do Excel.
As estratégias de negociação são programadas usando instruções lógicas. O Excel é um dos ambientes mais fáceis de programar. Um grande número de indicadores técnicos podem ser programados e a lógica de negociação pode ser tão simples ou complicada quanto necessário.
No meu Amazon Kindle eBook & # 8211; Como testar uma estratégia de negociação usando o Excel & # 8211; Eu mostro como o Excel pode ser usado para desenvolver suas próprias planilhas de backtest. Se você está procurando uma planilha, também pode comprá-los diretamente: Compre planilhas do Excel.
Aprender a trocar é um processo mais lento do que a maioria de nós gostaria. No entanto, usando algumas das idéias no artigo, é possível torná-lo um processo mais rápido (e muito menos dispendioso).
Deixe uma resposta Cancelar resposta.
Monte Carlo Simulator & pound; 8.63 6 em 1 Pacote e libra; 63,35 & libra; 50.67 Bitcoin Breakout Trading Strategy & pound; 15.30 10 em 1 Pacote e libra; 120,59 & libra; 81.40.
21 Indicadores técnicos e libra; 4.31 Modelo Long-Short Backtest usando Excel & Pound; 8.82 Advanced Backtest Model & pound; 15.30 21 Mais indicadores técnicos e libra; 4.31.
VIX Volatility S & P 500 Entrada e libra; 15.30 4 em 1 Pacote e libra; 32,75 e libra; 27,84 Long-Short Backtest Model usando Excel & pound; 8.82.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a recuperar suas próprias estratégias e obter novas idéias comerciais.

estratégia de negociação do Excel backtesting
Um comércio longo ou curto será inserido quando as condições de entrada forem atendidas. As Condições de Entrada podem ser expressas como uma expressão de fórmula. A expressão da fórmula é sensível a maiúsculas e minúsculas e pode usar Funções, Operadores e Colunas conforme descrito abaixo.
crossabove (X, Y) - Retorna True se a coluna X atravessar a coluna acima Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. Crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente tenha ocorrido. e (logicalexpr, ...) - Boolean And. Retorna True se todas as expressões lógicas forem verdadeiras. ou (logicalexpr, ...) - Boolean Or. Retorna True se qualquer uma das expressões lógicas for True. daysago (X, 10) - Retorna o valor (na coluna X) de 10 dias atrás. previoushigh (X, 10) - Retorna o valor mais alto (na coluna X) dos últimos 10 dias, incluindo hoje. previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, incluindo hoje.
Maior que = Igual <> Não igual = Maior ou igual + Adição - Subtração * Multiplicação / Divisão.
Colunas (de AnalysisOutput)
A - Coluna A B - Coluna B C .. .. YY - Coluna YY ZZ - Coluna ZZ.
Esta é a parte mais interessante e flexível das Condições de Entrada. Permite que as colunas da folha de cálculo "AnalysisOutput" sejam especificadas. Quando os testes de retorno são realizados, cada linha da coluna será usada para avaliação.
Nesse exemplo, se o valor na coluna A na planilha "AnalysisOutput" for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. e (A> B, C> D)
Neste exemplo, se o valor na coluna A na planilha "AnalysisOutput" for maior do que o valor da coluna B e o valor da coluna C for maior do que a coluna D, a condição de entrada será satisfeita. Crossabove (A, B)
Neste exemplo, se o valor da coluna A na folha de cálculo "AnalysisOutput" cruza acima do valor de B, a condição de entrada será satisfeita. crossabove significa que A originalmente tem um valor inferior ou igual a B e o valor de A torna-se posteriormente maior do que B.
As Condições de Saída podem fazer uso de Funções, Operadores e Colunas conforme definido nas condições de entrada. Além disso, também pode usar variáveis ​​como mostrado abaixo.
lucro. Isto é definido como o preço de venda menos o preço de compra. O preço de venda deve ser maior do que o preço de compra para um lucro a ser feito. Caso contrário, o lucro será zero. perda Isto é definido como o preço de venda menos o preço de compra quando o preço de venda é inferior ao preço de compra. lucro (preço de venda - preço de compra) / preço de compra Nota: o preço de venda deve ser maior ou igual ao preço de compra. Caso contrário, o lucro será zero. losspct (preço de venda - preço de compra) / preço de compra Nota: o preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero.
Neste exemplo, se o lucro em termos de percentagem for superior a 20%, as condições de saída serão satisfeitas.

BacktestingXL Pro.
BacktestingXL Pro.
BacktestingXL Pro é um complemento para construir e testar suas estratégias de negociação no Microsoft Excel 2010-2016.
Os usuários podem usar VBA (Visual Basic for Applications) para criar estratégias para o BacktestingXL Pro. No entanto, o conhecimento do VBA é opcional - além de usar regras de negociação construídas pela VBA, você pode construir regras de negociação em uma planilha usando códigos padrão de teste prévio.
Estratégias de teste de amostra estão disponíveis gratuitamente. Eles demonstram como o BacktestingXL Pro pode ser aplicado eficientemente.
O BacktestingXL Pro suporta funcionalidades avançadas, como piramide (mudança de tamanho de posição durante um comércio aberto), limitação de posição curta / longa, cálculo de comissão, rastreamento de patrimônio, controle de dinheiro livre, customização de preço de compra / venda (você pode negociar no Today's ou os preços Aberto, Fechar, Alto ou Baixo de amanhã). Essa funcionalidade permite que você crie estratégias de negociação "naturais" e evite que você coloque suas estratégias em "quadros".
O BacktestingXL Pro cria relatórios de desempenho de teste de estratégia informativos e altamente detalhados. Cada relatório possui sete guias:
Relatório de resumo - os resultados de backtesting mais importantes em uma forma compacta Relatório de série de dados - trades, equidade e dinâmica de lucro / perda exibida em formatos de tabela e gráfico Relatório de operações - negociações agrupadas por posições Negociações (cronológicas) Relatório - negócios em ordem cronológica Relatório de sinais - Todos os sinais produzidos por uma estratégia e seus resultados (ordem processada ou não) Relatório de Configurações - todas as configurações Configuração de Código de Estratégia - contendo código de estratégia bruta.
Criação de estratégia simples O código de estratégia pode ser desenvolvido usando o Excel ou o VBE (Visual Basic Environment) Relatório de desempenho de teste de estratégia e detalhamento de 7 páginas com informações detalhadas Acompanhamento de capital (capital inicial e comissões) Limitações separadas de posição longa e curta Suporte Pyramiding.
&cópia de; 1998-2017 Franz AG, Olsoft LLC.
Todos os direitos mundiais reservados. Todas as marcas registradas são de propriedade de seus respectivos proprietários.

Exemplo: Backtesting a uma Estratégia de Negociação.
Todos os comerciantes podem se beneficiar com o teste de suas estratégias de negociação. Pode destacar pontos fortes e fracos e mostrar como melhorar como comerciante. No entanto, é difícil encontrar uma maneira precisa de testar suas estratégias de negociação.
O Excel é uma das peças de software mais populares do mundo. A maioria das pessoas já tem algumas habilidades no uso do Excel. Neste artigo e no vídeo que acompanha mostro como o Excel pode ser usado para testar uma ampla variedade de estratégias comerciais em qualquer mercado e prazo.
Muitas pessoas aprendem melhor assistindo. Tenho gravado um vídeo do YouTube de mim demonstrando o quão fácil pode ser para testar suas próprias estratégias usando o Excel. Neste vídeo adicionei dados históricos. Programo 3 indicadores técnicos. Finalmente, insira os critérios de entrada e saída comercial.
O quadro.
Toda vez que você testar uma estratégia de negociação, você está fazendo as mesmas coisas uma e outra vez. Você não quer começar com um modelo em branco sempre que precisar testar uma estratégia.
Você deve desenvolver uma estrutura de como desenvolver uma estratégia comercial. Eu uso um modelo Tradinformed Backtest como uma estrutura para testar todas as minhas estratégias comerciais. Esses modelos incluem muitos recursos úteis, incluindo stop-loss, metas de lucro e paradas. Eles também incluem uma variedade de métricas diferentes para analisar o desempenho da estratégia de negociação.
Dados históricos.
É vital obter bons dados de preços históricos antes de testar. É fácil obter dados de preços diários e de longo prazo, de graça. O Yahoo Finance possui uma grande variedade de mercados diferentes.
Obter dados intradiários é mais difícil. Eu uso MT4 para minha troca de forex. MT4 é oferecido por muitos corretores e tem a vantagem de permitir que você baixe dados diretamente do terminal. Para baixar os dados, você precisa selecionar Ferramentas & # 8211; Centro de História e, em seguida, escolha o mercado para exportar.
Depois de ter os dados históricos em uma planilha eletrônica. Você pode usar Copiar e Colar para inserir rapidamente os dados em seu backtest. Não use Cortar e colar porque pode afetar as fórmulas na planilha do backtest.
Sinais de entrada & # 8211; Indicadores técnicos e padrões de gráficos.
O próximo passo para testar sua estratégia é inserir seus critérios de negociação. Muitas pessoas trocam usando indicadores técnicos e padrões gráficos. Estes são baseados em fórmulas matemáticas e podem ser calculados usando o Excel. No vídeo, demonstro como calcular rapidamente uma média móvel exponencial, um oscilador estocástico e a faixa média verdadeira. Você pode ver no vídeo que não leva muito tempo para fazer isso.
Na maioria das vezes você não quer calcular os indicadores do zero. Para tornar isso mais rápido e fácil, escrevi dois eBooks que mostram como calcular uma variedade de indicadores técnicos e padrões de gráficos. Para obter mais informações, verifique: melhore seus resultados de negociação calculando indicadores técnicos e obtenha melhores resultados de negociação usando indicadores técnicos. Ambos vêm com uma planilha contendo todos os cálculos dos indicadores.
Depois de ter o indicador em uma planilha, você pode simplesmente copiá-lo e colá-lo em sua planilha de retorno.
Programando seus critérios de entrada e saída.
Este bit pode ser um desafio para as pessoas que não estão acostumadas a IF Statements no Excel. Se Statements são os principais blocos de construção de toda a lógica de negociação. Queremos entrar com trades em condições específicas. Isso pode ser quando o MACD cruzou a linha 0, uma vela Doji se formou ou o preço atingiu um certo nível Fibonacci.
A sintaxe de If Statements é: IF (Logic) & # 8211; é Verdade, então faça isso & # 8211; É Falso então faça isso.
No Excel, podemos querer usar uma Declaração If para verificar se X é maior do que Y. A fórmula seria assim: = IF (X & gt; Y, & # 8220; X é maior e # 8221 ;, & # 8220; X é Lower & # 8221;)
Critério de entrada.
No vídeo, usei um critério de entrada comercial de Enter Long quando o preço é maior do que o EMA e o Stochsatic cruzou acima da linha 20 (linha de sobrevenda). Os critérios do meu Comércio são na coluna R. A primeira célula continha: = IF (AND (F203 & gt; G203, K203 & gt; Resultados! $ C $ 12, K202 & lt; Resultados! $ C $ 12, AC203 = $ AC $ 3) e # 8220; Long & # 8221;, & # 8221; & # 8221;)
Podemos fazer mais sentido disso se o traduziremos em pseudo-código. Isso significa usar linguagem normal para explicar cada etapa. Em pseudo-código, a instrução lê:
IF (Close & gt; EMA AND Stochastic & gt; Oversold Line AND Previous Stochastic & lt; Oversold Line AND e não há trades longos são Open), então Enter Long, Caso contrário, não faça nada.
Critério de saída.
Os critérios de saída são programados exatamente da mesma forma que os critérios de entrada. Neste caso, talvez eu queira sair de um Long Trade quando o estocástico se move acima de 80 (linha de sobrecompra). No Excel eu usei o código: = IF (AND (K203 & gt; Resultados! $ C $ 13, U203 = 0, T203 = 0, AC203 = $ AC $ 2), & # 8221; Close & # 8221 ;,)
Em pseudo-código isso significa. IF (Stochastic & gt; Overbought Line AND Stop-Loss não foi atingido AND Profit Target não foi atingido AND Long Trades is Open, Then Close Long, Caso contrário, não faça nada.
Stop-Losses e metas de lucro.
Neste modelo Tradinformed Backtest eu tenho stop-loss e metas de lucro já programadas. Eles são calculados usando um múltiplo do ATR. Isso significa que eles são dinâmicos e se ajustam à volatilidade do mercado.
Podemos usar o Excel para calcular quaisquer métricas de resultados que desejamos. Nesta planilha, uso uma variedade de métodos para ver como a estratégia é rentável. O Fator de lucro mede o valor absoluto das negociações vencedoras divididas pelos negócios perdidos. A porcentagem de vitórias nos diz quantos negócios são rentáveis ​​em comparação com quantos estão perdendo. Eu também comparo o valor do comércio vencedor médio com o comércio médio de perda.
Eu também uso um gráfico de capital para obter uma impressão visual da estratégia comercial ao longo do tempo. Isso mostrará se os resultados foram consistentes ou ocorreram durante condições de mercado específicas.
Outros artigos que você gostaria.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar as tendências do mercado. Este artigo & hellip;
// Recortes de Fibonacci são uma das melhores maneiras de entender a ação do preço do mercado. Se você e o hellip;
Curso Ebook - Como testar uma estratégia de negociação com o Excel Você quer & hellip;
Tradinformed.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a recuperar suas próprias estratégias e obter novas idéias comerciais.
3 Estratégias rentáveis ​​de negociação de Ichimoku Como calcular o indicador SuperTrend usando o Excel Como calcular o indicador PSAR usando o Excel Um sistema de negociação Heikin-Ashi, simples e rentável, como usar um modelo tradutor do Backtest Como calcular uma perda final de parada usando o Excel Últimas postagens .
(1) Ebook (2) Economic Data (1) Economic Growth (2) Essential Traders Library (4) Excel Trading (6) Google Sheets (1) Como para Backtest (2) Entrevistas com comerciantes (1) Aprenda a negociar (17) MT4 (5) Idéias de comércio (2) Automação de negociação (3) Trading Book Reviews (1) Trading Books (1) Trading Information (10) Trading Psychology ( 2) Estratégias de Negociação (25) Uncategorized (2)
Monte Carlo Simulator & pound; 8.63 6 em 1 Pacote e libra; 63,35 & libra; 50.67 Bitcoin Breakout Trading Strategy & pound; 15.30 10 em 1 Pacote e libra; 120,59 & libra; 81.40.
21 Indicadores técnicos e libra; 4.31 Modelo Long-Short Backtest usando Excel & Pound; 8.82 Advanced Backtest Model & pound; 15.30 21 Mais indicadores técnicos e libra; 4.31.
VIX Volatility S & P 500 Entrada e libra; 15.30 4 em 1 Pacote e libra; 32,75 e libra; 27,84 Long-Short Backtest Model usando Excel & pound; 8.82.
Tradinformed está empenhada em ajudar os comerciantes a desenvolver suas habilidades e ficar à frente da concorrência. Veja como você pode aprender a recuperar suas próprias estratégias e obter novas idéias comerciais.

Guia de Backtesting de Estratégia de Negociação.
Neste Guia de Backtesting de Estratégia de Negociação, você encontrará uma abordagem de backtesting, bem como algumas diretrizes sobre como evitar a sobreposição e quais métricas incluir nos relatórios de desempenho.
Tabela de conteúdo.
Backtesting refere-se ao teste de um modelo preditivo ou sistema comercial usando dados históricos. Os comerciantes usam backtesting para testar ideias de estratégia, comparar o desempenho da estratégia em diferentes mercados, prazos e determinar os melhores valores de parâmetros de entrada para seus sistemas.
As estratégias de negociação e os parâmetros são avaliados alimentando um conjunto de dados históricos, tais como preços de abertura / alta / baixa / fechada, cálculos de análise técnica, gestões de opções, etc. para um aplicativo de backtesting personalizado, um script R ou uma planilha do Excel e avaliando desempenho da estratégia resultante usando um conjunto de métricas.
Neste artigo, nos concentraremos na aplicação de backtesting ao chamado "sistema de negociação" e # 8211; uma abordagem comercial onde os comerciantes desenvolvem, testam e executam algoritmos de negociação automatizados baseados em regras e avaliam o desempenho da estratégia com base em dados concretos.
Por que ainda precisamos testar novamente?
Todos sabem que os resultados passados ​​não garantem o desempenho futuro. No entanto, enquanto um bom resultado de desempenho do backtest não é por si só suficiente para garantir lucros comerciais (e o que é?) & # 8211; No entanto, é um dos testes necessários que os comerciantes vão colocar seus sistemas para considerá-los aptos para negociação ao vivo.
A fim de garantir o sucesso a longo prazo nos mercados & # 8211; Os comerciantes não só precisam gerar e aplicar idéias de negociação originais, mas também continuar apresentando novas em uma base regular. Um comerciante do sistema pode ter que passar por dezenas de estratégias prospectivas antes de encontrar um que funcione. E então, como se escolhe o conjunto ideal de indicadores, parâmetros de entrada e mercados para aplicar a estratégia? Você deve usar uma Banda de Bollinger de 20 períodos, 30 ou 50? Você vai com 2 desvios padrão ou 2,5, ou 3? Você deve usar o mesmo padrão? valor de desvio para bandas superiores e inferiores ou leve em consideração a tendência atual do preço e defina um padrão maior (menor). valor de desvio na faixa correspondente? Vá com 14, 30, 50 ou uma média móvel de 100 bar? SMA, EMA, WMA? Quais mecanismos usar para detectar níveis de volatilidade? Estes são exemplos simples do tipo de perguntas que o desenvolvedor do sistema comercial terá de responder.
Para piorar as coisas e # 8211; Nenhuma estratégia comercial, não importa o quão bom é, continua a ser lucrativa para sempre. A janela de rentabilidade geralmente permanece aberta apenas por um pequeno período de tempo, geralmente entre algumas semanas e alguns meses. Depois disso, uma série de coisas podem acontecer para que a estratégia pare de funcionar: as condições do mercado mudam, as tendências do mercado se transformam em limites de alcance ou vice-versa, outros comerciantes encontram a mesma oportunidade de lucro e a fecham, os negócios da HFT destroem as coisas, as tentativas de seu corretor sobre a sua estratégia e começa a executá-lo (isso acontece sempre, certifique-se de usar um corretor respeitável e regulamentado), etc. & # 8230; Independentemente da razão & # 8211; um comerciante que quer ficar rentável por um longo período de tempo deve manter mudanças periódicas nas estratégias e se adaptar a novas condições. Isso significa que os comerciantes do sistema precisam constantemente estar procurando e testando novas estratégias. Pode demorar semanas ou meses para desenvolver uma nova estratégia de trabalho. Entretanto, uma solução alternativa pode ser modificar uma estratégia existente comprovada ajustando parâmetros de entrada, adicionando uma nova regra de "molho secreto" ou simplesmente aplicando-a a um mercado diferente. Todos os itens acima podem ser demorados considerando o grande número de combinações de parâmetros de entrada que precisam ser avaliadas e testadas.
Backtesting é útil por alguns motivos. Primeiro, é um método que fornece dados de desempenho concretos para a comparação de estratégias lado a lado. Ele elimina adivinhação e permite que os comerciantes apliquem método científico para negociação. Em segundo lugar, o backtesting automatizado é uma ótima ferramenta de economia de tempo. Uma boa ferramenta de backtesting fornece uma maneira de iterar mais de milhares de combinações de parâmetros e encontrar as melhores. Esse processo pode ser executado repetidamente diariamente para garantir que uma estratégia permaneça ajustada usando dados mais atualizados.
Ajuste de curva.
Um dos maiores desafios no backtesting é o ajuste de curva (também conhecido como "overfitting"). Uma vez que o backtesting facilita o ajuste de parâmetros até que sua estratégia seja perfeita. Muitas vezes você acabou por otimizar demais a estratégia para o conjunto de dados específicos em que você estava testando o sistema. Isso é chamado de superação. A superposição tende a ocorrer mais frequentemente quando a estratégia usa uma grande quantidade de parâmetros e indicadores. Com maior número de variáveis ​​disponíveis, torna-se mais fácil gerar uma curva que se adapta perfeitamente ao desempenho histórico.
Existem várias maneiras de mitigar o risco de superação:
Mantenha o número de parâmetros de entrada razoável. Se você usar mais de 2-3 indicadores de análise técnica baseados em preços & # 8211; você provavelmente precisa se livrar de alguns deles. Os indicadores baseados em preços tendem a duplicar os sinais uns dos outros com vários graus de atraso e adicionar mais do que um casal é redundante.
Teste sua estratégia em vários conjuntos distintos de dados. Uma abordagem freqüentemente usada na aprendizagem de máquinas é dividir seu conjunto de dados históricos em duas partes: treinamento (cerca de 60-70% dos dados disponíveis) e validação (os outros 30-40%). O conjunto de dados de treinamento é usado para testes e otimização de parâmetros. Quando você acha que encontrou valores de parâmetro suficientemente bons e # 8211; Execute-os no conjunto de dados de validação e compare os resultados de desempenho. Se o desempenho mostrado no conjunto de dados de treinamento for significativamente melhor que o conjunto de dados de validação & # 8211; você tem um problema de superposição. Você superou otimizado a estratégia para funcionar perfeitamente no conjunto de treinamento, mas não em outros dados.
Teste os dados históricos de diferentes instrumentos de mercado. Se a sua estratégia é realmente rentável e # 8211; não deve apenas funcionar bem em AAPL ou S & # 038; P 500 futures & # 8211; deve mostrar pelo menos resultados comparáveis ​​em outros contratos / símbolos. Da mesma forma, se você negociar Forex & # 8211; não teste sua estratégia somente em EUR / USD, mesmo que esse seja o único par que você pretende negociar ao vivo e # 8211; Teste sua estratégia em alguns outros pares e veja se os resultados de desempenho são mais ou menos similares. Se o desempenho variar significativamente & # 8211; aprofundar para descobrir a causa. Novamente, o principal culpado seria superado.
Comissões e Slippage.
Um relatório de desempenho da estratégia comercial que não inclui comissões e derrapagens não pode ser considerado seriamente. Toda a idéia de backtesting é testar como uma estratégia seria realizada durante a negociação ao vivo usando dinheiro real, e as comissões e o atraso são duas realidades inevitáveis ​​de negociação.
A otimização de uma estratégia com comissões e deslizamentos refletirá a realidade do comércio e evitar surpresas desagradáveis, como descobrir que sua estratégia, enquanto super-lucrativa no ambiente idealizado de backtesting, realiza horrivelmente na negociação ao vivo.
Estratégias que geram uma grande quantidade de negócios, obviamente, acumulam grandes custos de comissão e deslizamento.
A comissão de cálculo é direta - descubra o que seu corretor cobra por troca e multiplique esse valor por número de negócios.
Slippage é um pouco mais complicado. Em primeiro lugar, existem várias causas principais de derrapagem: spreads de preços de oferta, volatilidade do mercado e (falta de liquidez) para instrumentos de baixo volume. O cálculo do deslizamento com precisão pode se tornar uma tarefa laboriosa. As boas notícias & # 8211; você provavelmente não precisa fazer isso. Na prática, a aproximação do deslizamento é tudo o que é necessário para gerar relatórios de desempenho suficientemente precisos que refletem o desempenho comercial vivo próximo o suficiente. Uma abordagem simples que recomendamos é simular o deslizamento, ajustando cada entrada e preço de saída comercial por alguns tiques contra sua direção. O número de carrapatos de deslizamento geralmente deve ser um dos parâmetros de entrada para sua estratégia, assim como o montante da comissão.
Tenha em mente: o deslizamento pode ter diferentes graus de impacto na sua estratégia, dependendo do tipo de pedidos que você usa e de quais mercados você troca. Estratégias que usam ordens de mercado irão sofrer uma maior derrapagem, enquanto isso usa ordens limitadas e # 8211; mais baixo. Da mesma forma, o deslizamento será menos um problema nos mercados de líquidos de alto volume do que nos níveis baixos de baixo volume.
Relatórios de desempenho da estratégia.
Um relatório de desempenho deve incluir uma série de métricas que descrevem o desempenho do sistema comercial, os retornos esperados e, mais importante: o risco esperado.
Padronizar.
Como desenvolvedor de sistemas de negociação, muitas vezes você se encontrará comparando vários relatórios de desempenho de estratégia para diferentes valores de parâmetros, instrumentos de negociação, prazos e períodos de tempo. Por exemplo, você pode ter acesso a dez anos de preços das ações, mas apenas um ou dois anos de dados futuros do S & 033; P. Para comparar maçãs com maçãs, é útil padronizar métricas apresentadas em relatórios de desempenho. Todos os valores esperados de ganhos e perdas, tanto os valores em dólares absolutos quanto o valor percentual devem ser anualizados.
Drawdown é a diferença, em qualquer momento, entre o valor patrimonial naquele momento e o capital máximo gerado pela estratégia até esse momento.
Drawdowns são uma medida de risco e o gerenciamento do risco deve ser o principal objetivo de um desenvolvedor de estratégia de negociação, muito mais importante do que a geração de lucros. Sua primeira prioridade deve ser sempre "permanecer vivo" e preservar seu capital, e somente então aumentá-lo.
Um relatório de desempenho deve incluir sempre as estatísticas de retirada, como a redução mais longa e a maior perda devido a uma redução, medida como: valor em dólares e porcentagem do tamanho da conta inicial.
Existem dezenas de diferentes índices de desempenho usados ​​para medir o desempenho da estratégia comercial. Na verdade, toda uma série de artigos pode ser escrita sobre eles (e muitos já foram). Nós achamos que usar um par de índices amplamente aceitos e entendidos geralmente será suficiente para avaliação de desempenho de estratégia. As proporções devem ser ajustadas ao risco para que reflitam os riscos de executar uma estratégia em oposição ao seu potencial de geração de lucro.
Mais uma vez, você pode encontrar descrições detalhadas de vários índices diferentes em vários livros, postagens de blog e white papers disponíveis on-line e impressos. Em algum momento, podemos escrever uma publicação mais detalhada sobre o assunto, mas, por enquanto, nos limitaremos a descrever dois índices que usamos em relatórios de desempenho para nossos clientes:
Sharpe Ratio.
Sharpe Ratio divide o retorno médio de um investimento pelo desvio padrão de seus retornos. O desvio padrão é tomado como uma medida do risco do investimento. Uma proporção Sharpe maior sugere mais retornos em menor risco. Mas o desvio padrão inclui variações acima dos retornos médios. A maioria das pessoas gosta desses e só se preocupa com os retornos abaixo da média.
Mede o retorno médio ajustado pelo risco conforme medido pelo desvio padrão (ou seja, volatilidade). Uma maior volatilidade reduz a taxa de Sharpe.
Diretrizes de interpretação de valor: mais de 1,0: bom, superior a 2,0: muito bom, mais de 3,0: incrível.
Calmar Ratio.
A razão de Calmar usa a redução máxima (declínio de um pico histórico, veja o artigo de Wikipedia, Drawdown (economia)) em vez do desvio padrão como medida de risco. Portanto, a Razão de Calmar é um retorno médio de investimento (normalmente por um período de 3 anos, mas não precisa ser) dividido pela sua redução máxima no mesmo período. Uma maior relação de Calmar sugere mais retornos em menor risco.
Como grandes remessas trazem o índice de Calmar para baixo & # 8211; é um valioso indicador de desempenho ajustado ao risco.
Outras métricas úteis.
Outras métricas úteis para obter uma melhor visão do desempenho de uma estratégia e aprender o que esperar se / quando você iniciar para negociação ao vivo:
Reflete o quão ativa é sua estratégia. Quantos negócios você deve esperar para ver quando você executa sua estratégia.
Isso, combinado com o número total de negócios, é uma das métricas mais importantes. Ele irá mostrar-lhe como muito lucro (ou perda) que sua estratégia deve gerar ao longo de um período de tempo.
Cálculo do comércio esperado Valor de lucro / perda:
Exp P / L = (lucro médio * operações Pct Win) + (perda média * Pct de operações perdidas)
Exp P / L = lucro ou prejuízo esperado por lucro médio de negócios = lucro médio por negociação vencedora, expresso em valor monetário Pct Win Trades = porcentagem de negociações vencedoras (ida e volta) Perda média = perda média por troca perdida, expressa em moeda Pct of Pering Trades = percentagem de negociações perdidas (ida e volta)
Esta e a próxima métrica são importantes para definir expectativas e gerenciar níveis de estresse quando você vê sua estratégia em execução. Dependendo da sua personalidade, se este número for muito baixo (e o número de negociações perdidas é muito alto) e # 8211; você pode não se sentir confortável com essa estratégia, mesmo que o esperado P / L por comércio gire o desempenho geral em seu favor ao longo do tempo.
Tanto o valor do dólar quanto o percentual do saldo da conta inicial.
Observe esta estatística, se a quantidade total de comissões e derrapagens (próxima) for muito alta e # 8211; Isso pode arruinar o desempenho geral de uma estratégia de outra forma lucrativa.
Este é um artigo introdutório sobre testes de estratégia de negociação. Esperamos que forneçamos algumas informações úteis e dicas sobre o desenvolvimento da estratégia comercial e backtesting. Pretendemos continuar a publicar mais artigos sobre o assunto, por favor, verifique regularmente. Enquanto isso, # 8211; consulte nossas outras postagens e seleções de livros colhidas à mão que publicamos no final de cada artigo. Cada livro que recomendamos é aquele que nos lemos e o encontramos contendo informações úteis para comerciantes e desenvolvedores de sistemas.
Deixe uma resposta Cancelar resposta.
IB Data Downloader.
O IB Data Downloader versão 3.3 está agora disponível! Faça o download de dados históricos da Interactive Brokers. Ações, Futuros, ETFs, Índices, Forex, Opções, FOPs. Agora suporta downloads de dados históricos de opções! Executa no Windows, MacOS, Linux. Manipula automaticamente as violações de estimulação da API IB, sem restrições de duração devido a limitações de estimulação. Apoia dados históricos para contratos de futuros expirados.
IB Excel Trader.
IB Excel Trader versão 1.6 está agora disponível! Trade Stocks, ETFs, Futuros e Forex diretamente do Excel. Implementar regras comerciais comerciais usando fórmulas de planilha ou VBA. Regras de entrada do programa para ordens de saída únicas ou de suporte. Mercado, Stop, Limite, Stop-Limit, além de encomendas complexas complexas são suportadas. Folha de registro de pedidos (novo!). Contém uma lista detalhada de cada alteração de status do pedido em uma tabela Excel filtrável. Use o nosso Serviço de personalização para expandir o IB Excel Trader e contratar nossos programadores para desenvolver suas estratégias comerciais comerciais.
O Interactive Brokers (IB) é um fornecedor de baixo custo de serviços de execução comercial e de compensação para indivíduos, conselheiros, grupos comerciais, corretores e hedge funds. A principal tecnologia do IB oferece acesso direto a ações, opções, futuros, divisas, títulos e fundos em mais de 100 mercados em todo o mundo a partir de uma única conta universal do IB.
Membro NYSE, FINRA, SIPC. Visite os roteiros interativos para obter mais informações.
Postagens recentes.
Contate-Nos!
Mensagem enviada.
Obrigado por contatar os Geeks comerciais. Nós responderemos a sua mensagem em breve. Entretanto, se você tiver alguma dúvida adicional, não hesite em nos enviar um e-mail para: contactstradinggeeks.
Desculpe, houve um problema e sua mensagem não foi enviada.
Digite seus detalhes de contato e uma breve mensagem abaixo e nós responderemos sua mensagem em breve.

Comments

Popular Posts