Saturday 28 April 2018

Estratégia de negociação do excel backtesting


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ê poderia obter mais lucros 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.
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 4 em 1 Pacote e libra; 32,75 e libra; 27,84.
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.

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 que Y. A fórmula seria assim: = IF (X & gt; Y, & # 8220; X é superior; # 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 Calcular automaticamente as retracções de Fibonacci Como calcular o indicador SuperTrend usando o Excel Um sistema de negociação Heikin-Ashi, simples e rentável, qual o modelo tradinformado a escolher? Como negociar 3 linhas de quebras de linha obviamente as ú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)
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 4 em 1 Pacote e libra; 32,75 e libra; 27,84.
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.

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
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.

Backtesting Long Short Moving Average Crossover Strategy no Excel.
Agora, para aqueles que me conhecem como blogueiro podem achar esse post pouco ortodoxo ao meu estilo tradicional de escrita, no entanto, no espírito da evolução, inspirado por meu amigo Stuart Reid (TuringFinance), vou seguir alguns dos As dicas sugeridas na seguinte postagem no blog.
Sendo um estudante no programa EPAT, fiquei entusiasmado por aprender a metodologia que outros fazem uso quando se trata de testar. Como de costume, começamos no Excel e depois migramos para R.
Tendo escrito anteriormente uma série de blog em backtesting no Excel e, em seguida, mudando-se para R, estava muito interessado em ver um método ligeiramente diferente usado pela equipe QuantInsti.
Faça o download da planilha do Excel para que você possa seguir o exemplo à medida que avançamos.
"Ao calcular os preços das transações, abre portas muito interessantes para implementar a análise MAE"
A principal diferença no método é que abre a porta para métricas de desempenho como:
Total Retornos positivos Retornos negativos Negociações positivas Negociações negativas Taxa de acerto Retorno médio MAE (Excursão adversa máxima)
Mas sofre de não ser capaz de traçar uma curva de equidade como o meu método original (que eu gosto de pensar em nós um backtest vetorial), você pode, no entanto, incorporar facilmente a curva de equidade, como fiz nesta publicação.
Construa o "Olá Mundo" das estratégias de negociação: a "Estratégia de Transmissão Média Longa Curta Longa".
Passo 1: Obter dados.
Há vários lugares a partir dos quais você pode obter dados, no entanto, para este exemplo, obteremos dados do Yahoo Finance. Eu vou construir este exemplo usando o Google como um compartilhamento. Aqui está um link para baixar os dados de preços no formato de arquivo Csv do Yahoo. Nota: Certifique-se de encomendar da data mais antiga para a mais nova.
Dados de preço do Yahoo no formato de arquivo CSV.
Etapa 2: crie uma coluna para a média móvel curta e curta (SMA)
Para este exemplo, quero que você faça uso da SMA de 5 e 25 dias. Para aqueles que são novos para estratégias de negociação, um SMA é simplesmente a soma total do preço de fechamento dividido pelo número de observações.
2.1) Criar o SMA de curto prazo (5 dias)
Usando a seguinte fórmula no Excel: = MÉDIA (G2: G6)
2.2) Crie o SMA de longo prazo (25 dias)
Usando a seguinte fórmula no Excel: = MÉDIA (E2: E26)
Etapa 3: Gerar sinais de negociação.
É neste passo onde os leitores vão pegar uma grande diferença em relação às minhas postagens de blog anteriores sobre a construção de um backtester vectorizado. Incluirei também minha metodologia original nesta postagem para traçar a curva de equidade.
A próxima coisa que precisamos fazer é gerar sinais de compra e venda.
No dia anterior, o (5) SMA estava abaixo do (25) SMA e no dia atual há uma alteração em que o (5) SMA está agora acima do (25) SMA,
Escreva a string "COMPRAR" no campo atual.
No dia anterior, o (5) SMA estava acima do (25) SMA e no dia atual há uma alteração em que o (5) SMA está agora abaixo do (25) SMA,
Escreva a string "VENDER" no campo atual.
Adicione uma string vazia "" ao campo atual.
Isso é representado no Excel usando a seguinte fórmula:
Os SMAs são calculados sobre os preços de fechamento e não ajustados próximos porque queremos que o sinal comercial seja gerado nos dados do preço e não influenciado pelos dividendos pagos.
Passo 4: Obter preço de compra / venda do comércio.
Na próxima coluna, adicione a seguinte fórmula do Excel: = IF (J26 & lt; & gt; & # 8221; & # 8221;, G27, K26)
A lógica é a seguinte:
Se a coluna de sinal de comércio para o dia anterior (Muito importante para desacelerar o indicador para remover o viés de avanço) não é uma string vazia, então use o preço anterior acima do campo atual, caso contrário, configure o campo atual para o preço de fechamento para o dia.
Alguns podem argumentar que você não consegue realmente fechar o dia, mas você pode se você colocar seu pedido no leilão de encerramento e, mesmo depois do leilão, há algumas ordens residuais que você pode preencher, um dos fundos anteriores que eu Trabalhou para fazer exatamente isso.
Passo 5: Calcule os retornos.
Adicione uma coluna chamada retornos que faz uso da seguinte Fórmula Excel: = IF (J26 = & # 8221; SELL & # 8221;, K27 / K26-1, IF (J26 = & # 8221; COMPRAR & # 8221; 1-K27 / K26, & # 8221; & # 8221;)))
Se o dia anterior gerou um sinal de VENDA, pegue o preço de fechamento de hoje e divida-o pelo preço de compra e subtraia 1.
Se o dia anterior gerou um sinal de COMPRA, adicione 1 e subtraia (preço de fechamento de hoje e divida-o pelo preço de compra).
Esta fórmula calcula os retornos para um determinado comércio.
Etapa 6: Calcule algumas métricas de desempenho.
Retornos positivos: = SUMIF (L: L, & # 8221; & gt; 0 & # 8243;) Retornos negativos: = SUMIF (L: L, & # 8221; & lt; 0 & # 8243;) Operações positivas: = COUNTIF (L: L, & # 8220; & gt; 0 & # 8221;) Negociações negativas: = COUNTIF (L: L, & # 8220; & lt; 0 & # 8221;) Relação de impacto = O4 / (O4 + O5) Retornos médios = MÉDIA (L :EU)
Estas não são as métricas tradicionais de desempenho do portfólio, mas ao calcular o preço de compra e venda, abre portas muito interessantes para implementar análises de excursão adversas máximas que podem ser usadas para otimizar as perdas de parada.
"Nota: não consegui calcular essas métricas no meu método anterior devido a não ter registrado os preços de compra e venda das transações".
Adicionando uma Curva de Equidade.
Passo 1: adicione duas novas colunas para as Devoluções Diárias e os retornos diários do diário natural do compartilhamento.
Para isso, vou fazer uso do preço de fechamento ajustado, pois eu quero que os dividendos pagos sejam refletidos em nossa curva de equidade de estratégias e perfil de retorno total.
Fórmula para Retornos Diários é: (Preço de Hoje / Preço de Ontem) & # 8211; 1.
Fórmula Excel: = G3 / G2-1.
A fórmula é usada para o log natural. Os retornos diários são: LN (preço de hoje / preço de ontem)
Fórmula Excel: = LN (G3 / G2)
Etapa 2: Calcule os sinais de Holdings Longos ou Curtos.
Nesta coluna, queremos saber se estamos atualmente segurando uma posição longa ou curta. Isso é representado por 1 para longo e -1 para breve.
Isso baseia-se na estratégia de cruzamento médio móvel, prolongando-se se o SMA de curto prazo estiver acima do SMA de longo prazo e curto se o contrário for verdadeiro.
"Nota: você deve atrasar os sinais por um dia para remover o viés de frente para a frente".
Neste exemplo, a fórmula do Excel é como tal: = IF (H26 & gt; I26, 1, -1)
Passo 3: Calcule a Estratégia em Devoluções Diárias.
Esta é a parte fácil, basta multiplicar o retorno natural do diário natural pela posição atual.
Fórmula Excel: = R27 * S27.
Passo 4: Calcule os retornos acumulados tanto para a estratégia quanto para o compartilhamento, como se você tivesse comprado e segurado. (Faça isso para atuar como uma comparação)
A fórmula para acumular retornos é simples, pois LN retorna, basta adicioná-los usando = T27 + U26.
Em seguida, você precisa reverter o log natural usando a seguinte fórmula: = EXP (U27) -1.
E então você precisa calcular os retornos acumulados das ações:
Excel formula = (1 + Q27) * (1 + Q26) -1.
Passo 5: trace os retornos.
Como pode ser visto a partir do gráfico acima, esta estratégia não é rentável neste período de tempo específico e compartilhe, mas isso.
O foco do tutorial é criar um backtester usando o Excel Clique para Tweet. Gostaria de encorajar os leitores a explorar outras estratégias de negociação, tentando incorporar o indicador RSI para atuar como um guia sobre como dimensionar uma posição.
Próximos passos.
Aqui estão algumas outras estratégias de negociação com exemplos de folhas de dados e # 8211; Negociação com ETF, estratégia de negociação de castiçal, estratégia de troca de pares e modelo de preço de opção de Black-Scholes. Se você é um codificador ou um profissional de tecnologia que procura iniciar sua própria mesa de negociação automatizada, aprenda a negociação automatizada de palestras interativas ao vivo por praticantes diários. Programa Executivo em Negociação Algorítmica abrange módulos de treinamento como Statistics & amp; Econometria, Computação Financeira e Tecnologia e Algorítmica e Negociação quantitativa. Inscreva-se agora!
Posts Relacionados:
10 pensamentos sobre "Backtesting Long Short Moving Average Crossover Strategy no Excel"
20 de outubro de 2018.
Obrigado por compartilhar isso. Parece-me que há um erro ao calcular os retornos diários da estratégia (col S) nos dias que possuem um sinal comercial. Você está usando o fechar para fechar o preço para o retorno diário, mas em dias de negociação ocorre o preço de abertura precisa ser usado.
Por exemplo, no primeiro dia, há uma posição (linha 27), o retorno deve-nos o preço aberto desse dia (533.762426) como a entrada, e não no fim do dia anterior (531.352374). O retorno diário deve ser = -1 * (G27 / B27-1), que é de 1,09%.
22 de outubro de 2018.
Muito bem visto. Obrigado por apontar isso. Isso é um erro que eu fiz.
Existem duas maneiras de consertar isso,
1.) O Passo 4 deve fazer uso do preço de fechamento e não do aberto. (Isso é freqüentemente como eu executo testes rápidos.) Nota: você não pode realmente comprar no fechamento e o & # 8220; Blog Flirting with Models & # 8221; tem uma ótima maneira de resolver este problema com os dados do final do dia) https: //blog. thinknewfound/2018/10/building-better-backtests/
2.) Alternativamente, você pode adicionar a seguinte fórmula à linha 27 coluna S e a todos os campos abaixo dessa coluna.
= IF (R27R26, ((E27 / B27) -1) * R27, Q27 * R27)
A lógica é a seguinte:
Se houver uma mudança no sinal comercial, então:
Calcule o retorno diário se comprarmos ao abrir. fórmula = (preço fechado / preço aberto) & # 8211; 1.
& amp; também multiplique-o pelo seu sinal comercial.
Basta usar os retornos diários como antes que são calculados de perto para fechar multiplicado pelo sinal comercial.
Obrigado novamente pelo feedback.
Como você encontrou o artigo? Existem outros tópicos sobre os quais você gostaria que escrevêssemos?
Olá, Jacques Joubert.
Trabalho interessante. No entanto, encontrei um erro. Ao calcular os rendimentos cum na posição curta, o capital final deve depender do preço de entrada e saída do cargo, mas não do que acontece no meio. Por exemplo, se você alterar G33 a 800, ele muda todos os dados abaixo (deve-se esperar que um aumento adverso do preço adverso na posição curta e, portanto, o retorno negativo deve ser compensado pelo retorno positivo do retorno ao intervalo 500-520, mas que não aconteceu).
Bull And Bear Investor.
Oi Bull e Bear Investor.
Obrigado por isso. É porque eu não usei o Ln Returns. Estarei atualizando o artigo durante o fim de semana. A curva de Equidade não altera muito com os retornos padrão (é desativado em 2%) Dado que você não contribui com os preços ajustados, adicionando valores abertos.
Mas bem manchado.
Ok. O artigo foi atualizado com todas as correções. Obrigado a todos pelo feedback.
15 de janeiro de 2017.
como calcular o retorno médio para RSI ou MFI indecator.
Obrigado por compartilhar isso, me ajudou a projetar meu SMA um pouco.
20 de outubro de 2017.
É bom ver sua postagem e compartilhar a lógica de negociação usando excel. Eu tentei isso por quase dois anos em casa depois do trabalho. Gostaria de compartilhar um ponto de vista para você obter essa melhoria de estratégia, portanto, pode inspirar as pessoas enquanto olha essa postagem.
Obrigado pela sua ideia que me inspira a considerar ao preparar um sistema de teste de volta. No entanto, com uma investigação de longo prazo e baixa eficiência, começo a tentar obter software profissional para executar o backtest, mas ainda enfrenta um grande problema. É realmente começar a plataforma para usar o Excel que pode fortalecer sua idéia antes de se aproximar do nível de especialistas.
O preço da transação será o preço aberto do próximo dia de negociação. Na realidade, não podemos negociar preços próximos quando o mercado está fechado. Por exemplo, na célula K27, a fórmula deve ser = IF (J26 & # 8243; & # 8221;, B27, K26) em vez de = IF (J26 & # 8243; & # 8221; G27, K26).
Além disso, para melhorar o parâmetro SMA, eu usarei a função de deslocamento que permitirá fazer um cálculo rápido apenas alterando os parâmetros. Eu adicionarei 5 e 25 às células H2 e I2, respectivamente. Então, a fórmula para a célula H6 será = IF (ROW () - 1 & lt; $ H $ 2, & quot; & quot;, MÉDIA (OFFSET ($ E6,0,0, - $ H $ 2,1)) enquanto I6 será = IF (ROW () - 1 & lt; $ I $ 2, & quot; & quot;, MÉDIA (OFFSET ($ E6,0,0, - $ I $ 2,1))).
Espera a mensagem acima ajuda.
24 de outubro de 2017.
Obrigado por sua recomendação. É certamente algo que os leitores podem implementar se eles não quiserem executar a análise nos preços do final do dia. Eu também gosto de como você usou a função de deslocamento. Eu recomendaria que você mude do Excel para um ambiente Python e use a biblioteca Numpy.
Quanto ao final do dia, fechar os preços. Foi minha experiência profissional que, como um investidor institucional, seu corretor pode obter um preço muito próximo do preço de fechamento, você pode adicionar uma pequena despesa de deslizamento aos custos de transação para explicar isso no backtest. A maioria dos mercados também tem uma negociação pós-mercado que os corretores podem facilitar (mas com baixa liquidez).
Espero que isso ajude a esclarecer.
1 de novembro de 2017.
Aqui é alimento para pensar: se a estratégia é consistentemente um perdedor, faça o contrário.

No comments:

Post a Comment