Wednesday, 23 May 2018

Estratégia de negociação do backtest no excel


Exemplo: Backtesting uma estratégia de negociação.
Todos os comerciantes podem se beneficiar do teste de suas estratégias de negociação. Ele pode destacar os pontos fortes e fracos e mostrar como melhorar como trader. No entanto, é difícil encontrar uma maneira precisa de testar suas estratégias de negociação.
O Excel é um dos softwares mais populares do mundo. A maioria das pessoas já possui 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 de negociação em qualquer mercado e período de tempo.
Muitas pessoas aprendem melhor assistindo. Eu gravei um vídeo no YouTube mostrando como é fácil testar suas próprias estratégias usando o Excel. Neste vídeo, adiciono dados históricos. Eu programo 3 indicadores técnicos. Por fim, insiro os critérios de entrada e saída de negociação.
O quadro.
Toda vez que você testa uma estratégia de negociação, você está fazendo as mesmas coisas repetidas vezes. Você não quer começar com um modelo em branco toda vez que precisar testar uma estratégia.
Você deve desenvolver uma estrutura para desenvolver uma estratégia de negociação. Eu uso um modelo Tradinformed Backtest como um framework para testar todas as minhas estratégias de negociação. Esses modelos incluem muitos recursos úteis, incluindo stop-loss, metas de lucro e paradas finais. 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 históricos de preços antes do backtesting. É fácil obter dados de preços diários e de longo prazo com frequência de graça. O Yahoo Finance tem uma enorme gama de diferentes mercados.
Obter dados intradiários é mais difícil. Eu uso MT4 para minha negociação forex. O MT4 é oferecido por muitos corretores e tem a vantagem de permitir o download de 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. Você pode usar Copiar e Colar para inserir rapidamente os dados no seu backtest. Não use Recortar e Colar porque isso pode afetar as fórmulas na planilha de backtest.
Sinais de entrada & # 8211; Indicadores Técnicos e Padrões de Cartas.
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 Média da Faixa Real. Você pode ver no vídeo que não demora muito para fazer isso.
Na maioria das vezes você não vai querer calcular os indicadores do zero. Para tornar isso mais rápido e fácil, escrevi dois eBooks que mostram como calcular uma série de indicadores técnicos e padrões gráficos. Para obter mais informações, consulte: Melhore seus resultados comerciais calculando indicadores técnicos e obtenha melhores resultados comerciais 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, basta copiá-lo e colá-lo na planilha do backtest.
Programando seus critérios de entrada e saída.
Esse bit pode ser um desafio para pessoas que não estão acostumadas com as instruções do IF no Excel. Se as declarações são os principais blocos de construção de toda a lógica de negociação. Queremos entrar em negociações sob condições específicas. Isso pode acontecer quando o MACD cruzou a linha 0, uma vela Doji se formou ou o preço atingiu um certo nível de Fibonacci.
A sintaxe para instruções If é: IF (Logic) & # 8211; é verdade, então faça isso & # 8211; é falso, então faça isso.
No Excel, poderíamos querer usar uma instrução If para verificar se X é maior que Y. A fórmula ficaria assim: = IF (X & gt; Y, & # 8220; X é mais alto & # 8221 ;, & # 8220; Menor & # 8221;)
Critério de entrada.
No vídeo eu usei um critério de entrada comercial de Enter Long quando o preço é maior que o da EMA e o da Stochsatic cruzou acima da linha 20 (oversold line). Meus critérios de Entrada no Comércio estão na Coluna R. A primeira célula continha: = SE (AND (F203 & gt; G203, K203 & gt; Resultados! $ C $ 12, K202 & lt; Resultados! $ C $ 12, AC203 = $ AC $ 3) & # 8220; Longo & # 8221;, & # 8221; & # 8221;)
Podemos fazer mais sentido se o traduzirmos em pseudocódigo. Isso significa usar linguagem normal para explicar cada etapa. No pseudo-código, a declaração diz:
IF (Fechar & gt; EMA E Estocástico & gt; Linha de sobrevenda E Estocástica Anterior & lt; Linha de Oversold E nenhum negócio longo está aberto), Em seguida, insira 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 maneira que os critérios de entrada. Nesse caso, talvez eu queira sair de um Long Trade quando o estocástico se movimentar acima de 80 (linha de sobrecompra). No Excel, usei o código: = SE (AND (K203 & gt; Resultados! $ C $ 13, U203 = 0, T203 = 0, AC203 = $ AC $ 2), & # 8221; Fechar & # 8221 ;,)
No pseudo-código isso significa. IF (Estocástico & gt; Linha de compra excessiva E Stop-Loss não foi atingido E o Alvo de lucro não foi atingido E Negociações longas estão abertas, depois fecham por muito tempo, caso contrário não fazem nada.
Stop-Losses e Lucro Alvos.
Neste modelo de Backtest Tradinformed 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 as métricas de resultados que desejamos. Nesta planilha eu uso uma variedade de métodos para ver o quão lucrativa é a estratégia. O fator de lucro mede o valor absoluto dos negócios vencedores dividido pelos negócios perdidos. A porcentagem de vitórias nos informa quantas negociações são lucrativas em comparação com quantas estão perdendo. Também comparo o valor do comércio médio vencedor com o comércio médio perdedor.
Eu também uso um Gráfico de Capital para obter uma impressão visual da estratégia de negociação ao longo do tempo. Isso mostrará se os resultados foram consistentes ou se ocorreram durante condições de mercado específicas.
Outros artigos que você pode gostar.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar tendências de mercado. Este artigo & hellip;
// Retrações de Fibonacci são uma das melhores maneiras de entender a ação do preço de mercado. Se você & hellip;
Aprenda a Backtest suas estratégias de negociação usando o Excel Você quer melhorar o seu & hellip;

Estratégia de negociação do backtest no excel
Um contrato Longo ou Curto será entrado quando as Condições de Entrada forem cumpridas. As condições de entrada podem ser expressas como uma expressão de fórmula. A expressão da fórmula faz distinção entre maiúsculas e minúsculas e pode fazer uso de Funções, Operadores e Colunas conforme descrito abaixo.
crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. e (lógicaexpr,…) - Booleana E. Retorna True se todas as expressões lógicas forem verdadeiras. ou (logicalexpr,…) - Boolean Or. Retorna True se alguma 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 que 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. Ele permite que colunas da planilha "AnalysisOutput" sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação.
Neste 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 que o valor da coluna B e o valor da coluna C for maior que a coluna D, a condição de entrada será satisfeita. crossabove (A, B)
Neste exemplo, se o valor da coluna A na planilha "AnalysisOutput" cruzar acima do valor de B, a condição de entrada será satisfeita. crossabove significa que A originalmente tem um valor que é menor ou igual a B e o valor de A subseqüentemente se torna maior 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 fazer uso de variáveis, como mostrado abaixo.
lucro É definido como o preço de venda menos o preço de compra. O preço de venda deve ser maior que o preço de compra para um lucro a ser feito. Caso contrário, o lucro será zero. perda É definido como o preço de venda menos o preço de compra quando o preço de venda é menor que o preço de compra. profitpct (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 profitpct 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 porcentagem for maior que 20%, as condições de saída serão satisfeitas.

Finanças Assistidas por Computador & # 8211; Excel, Matlab, Theta Suite etc.
Ferramentas, Algoritmos, Simulação, Gestão de Riscos: Eficiência para Finanças Matemáticas.
O mais fácil back-teste de estratégias de negociação: Tabela Dinâmica do MS Excel!
Antes de usar ferramentas especializadas para back-testing, proponho que se tente primeiro a Tabela Dinâmica do MS Excel. A ferramenta de tabela dinâmica é ótima para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, apresentarei como criar uma estratégia simples baseada em tempo e como calcular seu desempenho histórico.
A seguir, mostrarei como criar uma análise como a postagem anterior: "Sell in May and Go Away & # 8211; Realmente? & # 8220 ;.
Etapa 1: obtenha os dados.
Primeiro, precisamos obter os dados para a análise. Voltamo-nos para o Yahoo para buscar o índice Dow-Jones (ver lista de fontes de dados de mercado para outras fontes).
De alguma forma, o Yahoo Finance esconde o botão de download para o índice Dow-Jones. Mas é fácil adivinhar o Link correto:
Salve este arquivo em disco. Em seguida, abra-o com o MS Excel 2010 e continuamos com a próxima etapa.
Etapa 2: adicione colunas para desempenho e indicador.
Agora, neste arquivo, adicionamos o log-return (Column & # 8220; Return & # 8221;) para cada dia da série temporal:
Então, adicionamos o indicador da estratégia de negociação & # 8211; neste caso, apenas o mês do ano:
Finalmente, adicionamos um indicador de grupo: Década.
Etapa 3: adicione a tabela dinâmica.
Classificar dados na tabela.
[Ferramentas de Tabela Dinâmica - & 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, formamos os valores em & # 8220; Porcentagem de estilo & # 8221; e pela formatação condicional "# 8221 ;:
[Página inicial - & gt; Estilos - & gt; Formatação condicional]
Etapa 5: Calcular o desempenho real.
A soma dos retornos de log 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 retornos de log por:
Agora você está pronto: cada célula contém o desempenho de comprar o Índice Dow-Jones no início e vendê-lo ao final de cada mês. Divirta-se com seus próprios estudos! Você encontra um estudo detalhado sobre as performances dos diferentes meses nos principais índices aqui.
Conclusão.
O teste retroativo de estratégias simples de negociação é fácil usando as tabelas dinâmicas do Excel. Embora as estratégias mais avançadas geralmente exijam um pacote de software mais especializado (como vemos no teste de retorno do MACD), cinco etapas simples levam a insights aprofundados de uma estratégia baseada em tempo. Se a série de dados se tornar grande, é possível realizar exatamente as mesmas etapas usando o MS Power Pivot, um suplemento gratuito do MS Excel com acesso ao banco de dados.

Usando o Excel para Back Test Trading Strategies.
Como fazer o teste de volta com o Excel.
Eu fiz uma quantidade justa de testes de estratégia de negociação. Eu usei linguagens de programação sofisticadas e algoritmos e também fiz isso 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ê puder operar um programa de planilha eletrônica como o Excel, poderá testar várias estratégias.
O objetivo deste artigo é mostrar como testar uma estratégia de negociação usando o Excel e uma fonte de dados disponível publicamente. Isso não deve custar 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 datas / horários e preços. Mais realisticamente, você precisa da data / hora, abertura, alta, baixa, preços baixos. Você normalmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradia.
Se você quiser trabalhar junto e aprender a fazer o teste com o Excel enquanto estiver lendo isso, siga as etapas que descrevi em cada seção. Precisamos obter alguns dados para o símbolo que vamos testar.
Ir para: Yahoo Finance No campo Inserir símbolo (s), insira: IBM e clique em GO Em 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 Desça até a parte inferior da página e clique em Fazer o download na planilha Salve o arquivo com um nome (como ibm. csv) e em um lugar 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ê abre podem ter mudado no momento em que você leu isso.
Quando baixei este arquivo, as primeiras linhas ficaram assim:
Agora você pode excluir as colunas que não serão usadas. Para o teste que estou prestes a fazer, usarei apenas a data, abra e feche os valores para que eu tenha excluído o High, o Low, o Volume e o Adj. Fechar.
Eu também classifiquei os dados para que a data mais antiga fosse a primeira e a data mais recente estivesse na parte inferior. Use os dados - & gt; Ordene as opções do menu para fazer isso.
Em vez de testar uma estratégia em si, tentarei encontrar o dia da semana que forneceu o melhor retorno se você seguisse uma estratégia de compra aberta e venda de fechamento. Lembre-se de que este artigo está aqui para apresentar a você como usar o Excel para fazer o back das estratégias de teste. Podemos construir isso daqui para frente.
Aqui está o arquivo ibm. zip que contém a planilha com os dados e fórmulas para este teste.
Meus dados agora residem nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, tenho fórmulas de lugar para determinar o retorno em um determinado dia.
Entrando nas fórmulas.
A parte complicada (a menos que você seja um especialista do Excel) está elaborando as fórmulas para usar. Isso é apenas uma questão de prática e quanto mais você pratica, mais fórmulas você descobrirá e mais flexibilidade terá com seus testes.
Se você baixou a planilha, dê uma olhada na fórmula na célula D2. Se parece com isso:
Essa fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada depois de copiada. Eu explicarei 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 corresponde de segunda a sexta-feira) for 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 é nosso lucro / prejuízo. A parte falsa da declaração é um par de aspas duplas (") que não colocam nada na célula se o dia da semana não coincidir.
Os sinais $ à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou linha para que, quando for copiada, essa parte da referência da célula não seja alterada. Portanto, aqui no nosso exemplo, quando a fórmula é copiada, a referência à 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.
Na parte inferior das colunas do dia da semana, coloquei algumas funções de resumo. Notavelmente as funções de média e soma. Estes mostram-nos que, durante 2004, o dia mais rentável para implementar esta estratégia foi numa terça-feira e esta foi seguida de perto por uma quarta-feira.
Quando eu testei as sextas-feiras de expiração - alta ou baixa? estratégia e escreveu esse artigo eu usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas-feiras eram geralmente de alta ou baixa.
Experimente. Faça o download de alguns dados do Yahoo Finance, carregue-os no Excel e experimente as fórmulas e veja o que você pode criar. Publique suas perguntas no fórum.

Voltar testando o Trader Excel.
Backtest Trading strategies & amp; Avalie estratégias de negociação de fim de dia com dados históricos.
back-testing Excel é vendido apenas como parte do pacote Excel Trader | Visite o site de desenvolvedores para mais como este.
back-testing O Excel, parte do Trader Excel Package, é um complemento para estratégias de negociação de back-testing no Microsoft Excel. Ele permite que você teste e avalie estratégias de negociação no final do dia usando dados históricos. Os usuários podem usar o VBA (Visual Basic for Applications) para criar estratégias para o Back Testing Excel. No entanto, o conhecimento do VBA é opcional - além de usar regras de negociação criadas pelo VBA, é possível construir regras de negociação em uma planilha usando códigos de teste de back-end padrão pré-fabricados.
back-testing Detalhes do Excel.
Back Testing O Excel suporta funcionalidades avançadas, tais como piramidação (mudança de tamanho de posição durante uma negociação aberta), limitação de posição curta / longa, cálculo de comissão, controle de patrimônio, controle de out-of-money, customizing de preço de compra / venda Hoje ou amanhã, os preços de abertura, fechamento, alta ou baixa). Tal funcionalidade permite que você construa & quot; natural & quot; estratégias de negociação e impede que você coloque suas estratégias em & quot; frames & quot;
Voltar Teste O Excel cria relatórios de desempenho de teste de estratégia informativos e altamente detalhados. Cada relatório tem sete guias:
Relatório resumido - o mais importante back-testing resulta em um formato compacto Data Series Report - negociações, patrimônio e dinâmica de lucros / perdas exibidos em formatos tabelados e gráficos Relatório Trades - negociações agrupadas por posições Negociações (cronológica) Relatório - negociações em ordem cronológica Sinais Relatório - 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 do Strategy Code Report - contendo código de estratégia bruta.
AutoFiltering.
Os relatórios Trades, Trades (cronológicos) e Signals possuem uma opção AutoFiltering que, quando implementada, pode produzir relatórios mais refinados. A filtragem é uma maneira rápida e fácil de encontrar e trabalhar com um subconjunto de dados em uma lista. Uma lista filtrada exibe apenas as linhas que atendem aos critérios especificados para uma coluna. Ao contrário da classificação, a filtragem não reorganiza uma lista. Em vez disso, oculta temporariamente as linhas que você não deseja exibir. Quando você ativa o AutoFiltro, as setas aparecem à direita dos rótulos da coluna na lista filtrada. O AutoFiltro pode ser usado, por exemplo, para exibir apenas negociações curtas, negociações lucrativas ou negociações executadas após uma data específica ou apenas os sinais que resultaram em transações.
Resumo dos recursos:
Criação de estratégia simples O código de estratégia pode ser desenvolvido usando o Excel ou VBE (Visual Basic Environment) relatório de desempenho de teste de estratégia detalhado e informativo de 7 páginas Acompanhamento de capital (capital inicial e comissões) Limitações de posição longa e curta separadas Suporte a piramidação.
Para fazer backtest de uma estratégia de negociação, o Back Testing Excel itera em todas as linhas de dados históricos, executando o código de estratégia para cada linha de dados. O código de estratégia consiste nestes blocos de construção básicos:

No comments:

Post a Comment