Friday 16 March 2018

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.

Testando uma Estratégia de Negociação SuperTrend Usando o Excel.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar as tendências do mercado. Este artigo apresenta uma estratégia de negociação SuperTrend e mostra como a estratégia pode ser testada com o Excel.
Para ter uma perspectiva diferente no SuperTrend. Veja este artigo recente onde eu mostro como pode ser rentável reverter o indicador: uma Estratégia Forex SuperTrend.
A estratégia foi lucrativa durante o período de tempo testado e os resultados podem ser vistos abaixo.
Estratégia de negociação.
Os critérios para a estratégia são os seguintes:
Digite Long Trade.
Quando o preço de fechamento é acima de 200 SMA e cruza de baixo para cima acima do SuperTrend Ou quando o preço de fechamento está acima do SuperTrend e cruza de abaixo para acima de 200 SMA.
Digite Short Trade.
Quando o preço de fechamento é inferior a 200 SMA e cruza de cima para baixo SuperTrend Ou quando o preço de fechamento está abaixo de SuperTrend e cruza de cima para abaixo de 200 SMA.
Fechar Long Trade.
Quando Target Target ou Stop-Loss for atingido Quando o comércio é aberto na direção oppposite Ao fechar cruzamentos de preço de cima para abaixo de 25 EMA.
Fechar Short Trade.
Quando Target ou Stop-Loss for atingido Quando o comércio é aberto na direção do oppposite Ao fechar os cruzamentos de preços de abaixo para acima de 25 EMA.
O vídeo explica a estratégia de negociação e analisa as planilhas utilizadas para o backtest. Ele também passa pelos resultados e realiza uma análise passo-a-passo.
Fórmulas do Excel.
Essas fórmulas são baseadas em uma versão da planilha no meu curso de Ebook, como fazer uma prova de uma estratégia de negociação usando o Excel. As referências da célula dependerão de quais dados você está usando em quais colunas. No entanto, uma vez que você entenda a estratégia de negociação que está sendo testada, deve ser fácil adaptar as fórmulas à sua própria planilha ou sistema de teste.
Close Close Abaixo EMA AC203 = IF (AND (F203 & lt; I203, F202 & gt; I202, AI203 = $ AI $ 2, AB203 = 0, AA203 = 0, Z203 = 0), & # 8221; ema close & # 8221 ;,)
Longo EMA Close AN203 = IF (AC203 = & # 8221; EMA close & # 8221;, (F203-AD203) / (AE203-AD203) * AG203,)
Fechar curta abaixo EMA AS203 = IF (E (F203 & gt; I203, F202 & lt; I202, AY203 = $ AY $ 2, AQ203 = 0, AR203 = 0, $ AS $ 2 = 1, AP203 = 0) e # 8221; EMA fechar & # 8221 ;,)
Short EMA Close BD203 = IF (AS203 = & # 8221; EMA close & # 8221;, (AT203-F203) / (AT203-AU203) * AW203,)
A estratégia de negociação foi testada no par forex EUR / USD no período de 1 hora. O backtest foi realizado em três períodos de 20.000 períodos de 1 hora (3 anos, 3 meses).
Em seguida, combinei esses backtests e os resultados são mostrados na tabela abaixo.
Links Relacionados.
Se você está interessado em usar o Excel para testar estratégias de negociação, meu novo curso do Ebook: Como fazer uma prova de uma estratégia de negociação usando o Excel agora está disponível na Kindle Kindle Amazon.
Se você está interessado em testar e negociar automatizado usando o MT4, veja como criar um consultor especialista para uma Estratégia de negociação SuperTrend.
Se você quiser saber como calcular o SuperTrend no Excel, veja meu artigo anterior, Como calcular o indicador SuperTrend usando o Excel.
Outros artigos que você gostaria.
Curso Ebook - Como testar uma estratégia de negociação com o Excel Você quer & hellip;
Curso Ebook - Como testar uma estratégia de negociação com o Excel Você quer & hellip;
Neste artigo, mostro uma estratégia de negociação que usa o indicador SuperTrend para o comércio e o 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.
Como calcular o indicador SuperTrend usando o Excel 3 Estratégias rentáveis ​​de negociação Ichimoku Um sistema de negociação Heikin-Ashi simples e rentável Como calcular o indicador PSAR usando o Excel Uma estratégia de negociação Forex SuperTrend Calcule os Retraques Fibonacci Automaticamente Últimas postagens.
Algoritmo Negociável (1) Opções Binárias (2) Padrões de Gráficos (1) Ebook (2) Dados Econômicos (1) Crescimento Econômico (2) Essential Traders Library (4) Excel Trading (6) Google Sheets (1) How to Backtest (2 ) Entrevistas com comerciantes (1) Aprender 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) Trading Strategies (24) Uncategorized (2)
Modelo e euro do Backtest do Papai Noel; 16,39 10 em 1 Pacote e euro; 93,04 e euro; 59,91 Pacote 4 em 1 e euro; 35,67 & euro; 27,82 Modelo Breakout e euro; 16.39.
21 Indicadores técnicos e euro; 4.97 Long-Short Backtest Model usando Excel & euro; 9.34 Advanced Backtest Model & euro; 16.39 21 Mais Indicadores Técnicos e Euro; 4.97.
VIX Volatility S & P 500 Entry & euro; 16,39 Pacote 4 em 1 e euro; 35,67 & euro; 27,82 Long-Short Backtest Model usando Excel & euro; 9.34.
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.

Computer Aided Finance & # 8211; Excel, Matlab, Theta Suite etc.
Ferramentas, Algoritmos, Simulação, Gerenciamento de Riscos: Eficiência para Finanças Matemáticas.
O mais fácil teste posterior de estratégias de negociação: tabela dinâmica do MS Excel!
Antes de usar ferramentas especializadas para back-testing, proponho que se analise primeiro a Tabela de Pivô do MS Excel. A ferramenta de tabela dinâmica é excelente para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, vou apresentar como criar uma estratégia simples baseada no cronograma e como calcular seu desempenho histórico.
No seguinte, vou mostrar, como criar uma análise como a publicação anterior: & # 8220; Sell in May and Go Away & # 8211; Realmente? & # 8220 ;.
Passo 1: Obter os dados.
Primeiro, precisamos obter os dados para a análise. Recorremos ao Yahoo para buscar o Índice Dow Jones (consulte Lista de fontes de dados do mercado para outras fontes).
De alguma forma, o Yahoo Finance esconde o botão de download do Índice Dow-Jones. Mas, é fácil adivinhar o Link correto:
Salve este arquivo no disco. Em seguida, abra-o com o MS Excel 2010 e continuamos com o próximo passo.
Etapa 2: Adicionar colunas para desempenho e indicador.
Agora, neste arquivo, adicionamos o log-return (Coluna & # 8220; Return & # 8221;) para cada dia na série temporal:
Então, adicionamos o indicador da estratégia de negociação e # 8211; neste caso, apenas o mês do ano:
Finalmente, adicionamos um indicador de grupo: Decade.
Etapa 3: Adicionar tabela dinâmica.
Classifique Dados na Tabela.
[Pivot Table Tools - & gt; Opções - & gt; Resumir valor por - & gt; Soma]
Etapa 4: formatação condicional.
Para obter uma visão geral dos dados na tabela dinâmica, formatamos os valores em & # 8220; Porcentagem Estilo & # 8221; e por & # 8220; formatação condicional & # 8221 ;:
[Home - & gt; Estilos - & gt; Formatação condicional]
Etapa 5: Calcule o desempenho real.
A soma dos retornos do registro na tabela dinâmica é uma boa indicação para o desempenho de uma estratégia de negociação. Mas, o desempenho acutal pode ser facilmente obtido a partir dos log-returns por:
Agora, você está pronto: cada célula contém o desempenho de comprar o índice Dow Jones e começar a vender no final de cada mês. Divirta-se com seus próprios estudos! Você encontra um estudo detalhado sobre os desempenhos dos diferentes meses nos principais índices aqui.
Conclusão.
Back-testing de estratégias de negociação simples é fácil usando tabelas dinâmicas do Excel. Enquanto as estratégias mais avançadas geralmente requerem um pacote de software mais especializado (como vemos no MACD Back-testing), cinco etapas simples levam a uma visão detalhada de uma estratégia baseada em tempo. Se a série de dados se tornar grande, pode-se executar exatamente os mesmos passos usando o MS Power Pivot, um suplemento MS Excel gratuito com acesso ao banco de dados.
Pós-navegação.
Deixe uma resposta Cancelar resposta.
Bela postagem. Estou feliz em aterrar neste blog.
Deixe-me sugerir-lhe isso:
Para ver o desempenho real na tabela dinâmica, basta adicionar um campo calculado no menu:
Opções & gt; Campos, Itens, & amp; Conjuntos & gt; Campo calculado & # 8230;
Em seguida, marque-o e # 8220; p & # 8221; e digite a fórmula: & # 8220; = EXP (Return) -1 & # 8221;
Você pode finalmente adicionar este campo à área de valores, para obter o & # 8220; Soma de p & # 8221; bem na mesa.
Sim você está certo! Isso é muito melhor do que duplicar a tabela. Vou atualizar esta publicação o mais rápido possível.
Podemos baixar diretamente os modelos do Excel e os dados do backtest.

Estratégias de negociação usando excel
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.

No comments:

Post a Comment