Friday 28 July 2017

Moving Average Trading System Backtesting


Backtesting é uma prática essencial para quem quer desenvolver sistemas automatizados de negociação. Usando preços históricos para vários títulos, os comerciantes podem otimizar a rentabilidade e aumentar a durabilidade de seus sistemas de negociação: traderhq / 10-relics-only-traders-apreciar. Existem muitas ferramentas disponíveis para ajudar no processo de desenvolvimento e backtesting sistemas de negociação em muitos mercados diferentes, incluindo mercados de ações e forex. Neste artigo, bem dar uma olhada no backtesting que implica, alguns recursos essenciais e limitações para manter em mente antes de negociar com capital real. O que é o Backtesting Os sistemas de negociação consistem em programas de computador que automatizam o processo de compra e venda de títulos com base em um conjunto de regras. Ao aplicar as regras aos preços históricos, os comerciantes podem avaliar a rentabilidade eo risco associado aos seus sistemas de negociação sem colocar qualquer capital real em risco. O processo de aplicação de um sistema de comércio a preços históricos é conhecido como backtesting que o sistema de comércio. Por exemplo, suponha que um comerciante concebe um sistema de negociação que gera um sinal de compra quando a média móvel de 10 dias cruza acima da média móvel de 50 dias e um sinal de venda quando a média móvel de 10 dias cruza abaixo da média móvel de 50 dias . Ao aplicar essas regras aos preços históricos, os comerciantes podem ver o quanto eles poderiam ter gerado e os riscos de volatilidade tomadas no processo ver também Ultimate Guide to Bollinger Bands. 8211 Os comerciantes podem determinar o lucro ou perda global durante um período de tempo expresso como uma percentagem do capital inicial, o que fornece um guia aproximado de como rentável o sistema de comércio pode Ser quando empurrado ao vivo. Max Drawdown Os comerciantes podem determinar a perda máxima de capital inicial que um sistema de negociação gera durante um período de tempo, o que é útil quando se considera requisitos de margem e outras preocupações relacionadas à alavancagem. Sharpe Ratio Traders pode determinar um sistema de negociação Sharpe Ratio, que fornece um grande indicador global de risco ajustado retornos. Como Backtest Backtesting pode ser realizado manualmente, mas sistemas de negociação complexos podem tornar o processo bastante assustador. Usando uma variedade de diferentes programas de software, os comerciantes podem introduzir as suas regras de sistemas de negociação e backtest automaticamente a estratégia contra uma ampla gama de prazos históricos e títulos. Muitos programas de software também relatam análises detalhadas de risco e lucratividade (como visto acima). O mais popular intermediário integrado e backtesting plataforma é TradeStation e seu Portfolio Maestro. Enquanto os clientes corretora TradeStations têm acesso à plataforma gratuitamente (se eles atendem a certos critérios), a plataforma de software está disponível para o público em geral para 59,95 por mês. A plataforma permite backtesting, análise, otimização e relatórios de desempenho em nível de portfólio. Wealth-Lab é outra opção que tem opções gratuitas e premium. Com um assistente de estratégia de arrastar e soltar e a capacidade de usar uma linguagem de script complexa, a plataforma de software atende a comerciantes novatos e profissionais. As estratégias pré-fabricadas e o backtesting multi-sistema oferecem opções adicionais projetadas para ajudar a melhorar os sistemas de negociação e implementar estratégias lucrativas. QuantConnect é uma opção relativamente nova que fornece software backtesting livre para comerciantes quantitativos. Com base na linguagem de programação C, os traders que utilizam o software devem ter uma boa compreensão dos conceitos básicos de programação para interagir com a extensa API. A própria empresa busca investir em algoritmos rentáveis ​​e compartilhar os lucros como um meio de gerar receita. No final, essas três soluções de software backtesting são apenas algumas das muitas opções disponíveis para os comerciantes. Muitos programas de software estão disponíveis gratuitamente, pelo menos durante um período experimental, enquanto outros são pagos ou empacotados com corretoras. Enquanto a maioria das plataformas requer algum conhecimento de programação, outras são projetadas com ferramentas de arrastar e soltar projetadas para facilitar o desenvolvimento do sistema de negociação. Backtesting Limitations Traders devem estar cientes das muitas limitações associadas com backtesting trading systems antes de usar essas ferramentas. Ao não ter em conta estas limitações, as perdas podem aumentar rapidamente em casos de negociação frequente e / ou automatizada. Uma ótima maneira de evitar esses problemas é testar extensivamente sistemas de negociação usando papel moeda e dados ao vivo e, em seguida, usando pequenas quantidades de dinheiro real com dados ao vivo. Algumas das principais limitações a serem consideradas incluem: Risco de Previsão 8211 O desempenho passado não se correlaciona necessariamente com o desempenho futuro, uma vez que os mercados financeiros são extremamente dinâmicos. De fato, as arestas competitivas passam regularmente rapidamente quando descobertas. Curve Fitting 8211 A otimização do desempenho passado pode resultar em estratégias de negociação altamente específicas que são ajustadas à curva do passado e improváveis ​​de serem suficientemente amplas para funcionar bem no futuro, especialmente com eventos inesperados. Resolução de dados 8211 Dependendo da frequência de negociação, alguns dados de backtesting só podem fornecer resolução de um minuto ou de um dia, em vez de dados up-to-second vistos em ambientes de negociação em tempo real ao vivo. Slippage 8211 Muitos sistemas de negociação não contabilizar fatores aleatórios como derrapagem no preço de ordem, o que pode resultar em grandes mudanças na lucratividade e perfis de risco dos sistemas de negociação. Naturalmente, há muitas outras limitações possíveis que devem ser consideradas ao desenvolver e backtesting sistemas negociando. Os comerciantes podem evitar muitos desses problemas, garantindo que eles estão usando uma plataforma sólida que fornece dados granulares, respondendo por derrapagem nos casos em que é relevante, e tendo o cuidado de não refinar um sistema comercial tanto que se torna curva ajustada aos resultados históricos. O Bottom Line Traders olhando para automatizar ou fazer comércios com base em um conjunto de regras deve sempre backtest suas estratégias antes de aplicá-los no mercado ao vivo. Ao simular a atividade do mercado histórico, os comerciantes podem garantir que a negociação ao vivo não vai dar surpresas desagradáveis ​​em termos de comportamento comercial inesperado. No entanto, backtesting isnt perfeito que existem muitas limitações que os comerciantes devem considerar também. Se youve apreciado este artigo, assine acima para o boletim de notícias livre de TraderHQ emite-o bem similar semanalmente. Estratégia média do cruzamento de Moving Nesta identificação da página como para lhe fazer exame através de uma comparação de um par de sistemas de cruzamento de média movente. Um usa duas médias móveis simples (smas) eo outro usa três smas. Já pensou em usar um sistema de média móvel dupla para o comércio Se você está considerando o uso de cruzamentos de média móvel dupla para entrar e sair comércios, você pode considerar testar um sistema de MA triplo também. Compare-os lado a lado em diferentes ações ou outros instrumentos de negociação, bem como períodos de tempo diferentes ou prazos. Teste diferentes períodos de média móvel, mas tenha cuidado para não confiar em resultados otimizados ou de ajuste de curva. Mas uma vez que alguns dos meus visitantes não sei o que é isso, vamos passar alguns princípios básicos em primeiro lugar. O QUE É UM CRESCENTE MÉDIO MOVENTE A imagem à direita é um exemplo de um crossover de média móvel dupla. Que iria iniciar um sinal de compra (crossover de alta). Uma média móvel mais rápida (8 sma - azul) cruza acima de uma média mais lenta (13 sma - amarelo). Observe que o sinal não é confirmado até o fechamento da barra. Isso significa que a entrada real (na negociação ao vivo) estaria em algum lugar dentro da próxima barra. Provavelmente perto do aberto daquele bar. Se você ainda não fez nenhum backtesting ainda, este tipo de sistema simples será provavelmente um dos primeiros que youll testar, uma vez que requer muito poucas habilidades de programação. De qualquer forma, se você seguir este caminho, você encontrará que o preço de abertura da próxima barra após a cruz, é onde o software backtesting (dependendo da configuração) irá colocar os comércios simulados. O que é razoável, porque se você estivesse realmente negociando usando software de negociação automatizado. Esta é uma aproximação aproximada de onde o seu comércio teria lugar. Com um sistema de inversão de batente típico, esta entrada longa não seria retirada até que a MA azul, mais rápida cruzasse abaixo da MA amarela, mais lenta. Este crossover MA bearish não só sai do comércio, mas inicia um curto comércio na direção oposta também. Assim, com sistemas de cruzamento de média móvel dupla, o comerciante está sempre em um comércio, longo ou curto. Vamos dar uma olhada em um exemplo intraday ao longo de um dia. Utilize um gráfico de 5 minutos do SPY com duas médias móveis simples para o primeiro exemplo: Rápido (8 sma - verde) e Lento (13 sma - amarelo). Eu escolhi este dia específico, porque eu queria ilustrar o que é muito típico para praticamente qualquer estratégia de passagem média móvel. O primeiro comércio longo após 11:00 vai muito bem e realmente pega uma boa entrada pullback. A saída em torno de 12:45 pm é rentável. Mas, quero Id como você observar é a ação de preço choppy entre 12:00 - 3:00. Isto é onde os sistemas dobro do MA podem realmente moer seus lucros para baixo. O MAs whipsaw apenas frente e para trás causando três perdas em uma linha, provavelmente evaporando os lucros do primeiro comércio. Se uma pessoa estava negociando este método neste dia, felizmente eles wouldve visto mais um comércio vencedor decente às 2:30. A boa parte deste sistema é exibido no primeiro comércio e no último comércio. Enquanto os crossovers médios móveis falham miseravelmente durante a ação do preço choppy, trabalham muito bem durante a ação do preço de tendência. Se você backtest esses sistemas simples parar e inverter, e inspecionar um que sai com um lucro, youll mais provável encontrar que a vitória é inferior a 50, mas o vencedor médio será maior do que o perdedor médio. Isso é porque os sistemas de cruzamento de média móvel são essencialmente sistemas de negociação de tendência. E, os sistemas negociando da tendência quase sempre têm esta característica de uma porcentagem pequena dos vencedores e de uma boa ave. win à relação do ave. loss. Nos gráficos abaixo L Long, S Short e Ex Exit. TRIPLE MOVING CROSSOVER MÉDIO Até agora, a discussão centrou-se em torno de um sistema de tipo stop-reverse, em que um sinal para uma saída, também produz um comércio na direção oposta. Mas se introduzimos uma terceira média móvel para o sistema, pode haver um período de neutralidade. Em outras palavras, nenhum comércio ocorre - você está em dinheiro. Para este exemplo, vamos usar um gráfico de 3 minutos e três médias móveis simples: 4 sma, 10 sma e 50 sma. As regras são muito simples. Se a linha lenta (50 sma) está subindo, ea linha rápida (4 sma) cruza acima da linha média (10 sma), há um sinal de compra. O sinal de saída surge quando a linha rápida passa por baixo da linha média. As regras são o oposto para entradas curtas. É fácil ver, que este sistema é semelhante a tomar comércios fora da tendência de um período de tempo mais elevado. Uma alternativa a este sistema, seria tomar somente entradas longas, quando as médias móveis rápidas e médias estão acima da sma lenta. Lembre-se de que quando você lida com três graus de liberdade (3 variáveis), ao invés de dois como no exemplo acima, você está tornando o sistema mais complexo e, portanto, criando muitas combinações possíveis para testar. Naturalmente, o software do backtesting faz este um snap, mas recorde que adicionar filtros ea complexidade doesnt sempre fazem um sistema melhor. Frequentemente, um sistema mais simples pode ser mais robusto sob testes. Um exemplo está abaixo. Se você estiver interessado em médias móveis, você pôde também querer verific para fora minha página em como usar médias moventes como um batente de arrasto. Trading com o indicador de Gmma ea importância de Backtesting Se há uma atividade negociando-relacionada que eu aprecío realmente fazer é Criando simples estratégias mecânicas que têm uma vantagem estatística, e pode ser utilizado com sucesso por qualquer pessoa, independentemente do nível de experiência no mundo da negociação em geral, e Forex em particular. Este mês eu dei uma olhada em um indicador de média móvel chamado GMMA (Guppy Multiple Moving Average), e tentei chegar a uma estratégia rentável, com base em algumas regras simples. Breve introdução ao indicador GMMA Embora esta ferramenta (desenvolvida pelo trader australiano Daryl Guppy) não esteja disponível na plataforma jForex da Dukascopy, você pode aplicá-la facilmente aos seus gráficos, porque consiste simplesmente em dois grupos de médias móveis exponenciais (EMA) . As médias mais rápidas são 3, 5, 8, 10, 12 e 15 EMA, enquanto as mais lentas são 30, 35, 40, 45, 50 e 60 EMA. A maneira como você negocia com o GMMA não é pelo cruzamento de média móvel típico que você esperaria, mas analisando e interpretando a interação entre os dois grupos (por exemplo, se a distância entre eles é comprimir ou expandir) e também entre os diferentes EMAs dentro de cada grupo. No entanto, uma vez que acredito que olhar para as coisas de forma diferente do que a maioria das pessoas faz é uma boa maneira de aumentar suas chances de sucesso, eu ignorei as interpretações habituais do GMMA, e focado no desenvolvimento de algo mais fácil de sistematizar e sem qualquer tipo de subjetividade. Ingredientes deste sistema mecânico Ao desenvolver esta estratégia eu substituí as EMAs do grupo mais rápido para SMAs (média móvel simples), porque as EMAs reagirão mais nervosamente ao mercado e acabarão provocando muitos negócios, ou fechando prematuramente os já existentes. Coloque 3, 5, 8, 10, 12 e 15 SMA em suas cartas. Você pode usar cores ligeiramente diferentes para facilmente distingui-los, Por exemplo, diferentes tons de azul. Lugar 30, 35, 40, 45, 50 e 60 EMA. Adicionar um ATR 10, isso vai medir a volatilidade e nos ajudar com a posição de dimensionamento e parar a colocação de perda. Prazo: Eu não recomendo usar nada mais curto do que 1 hora velas, porque em menor tempo-frames há muito ruído de preço que sempre têm um impacto muito negativo ao usar médias móveis. Recomendar pares: Qualquer par que tende bem, tem muita liquidez e como poucos picos de preço possível, pode ser usado. Isso é basicamente todos os majores. Regras da estratégia O objetivo desta estratégia é desencadear negócios somente quando há uma clara tendência no mercado, em todos os prazos. Ir LONGO quando no fim da vela atual todas as médias móveis são corretamente alinhadas em uma direção de uptrend, em ordem crescente. EMA 3 será maior do que EMA 5, este será maior do que EMA 8 e, em seguida, EMA 10, até chegar a SMA 60: Ir SHORT quando acontece o oposto e todas as 12 médias móveis são alinhados em ordem decrescente: Open trades São saídas quando a perda de parada inicial é atingida, ou mais provável se uma ou mais das médias móveis não estiverem mais devidamente alinhadas no final da vela (sempre espere a vela fechar). Por exemplo, uma posição longa seria fechada se o EMA 8 fosse abaixo do EMA 10, mesmo se todos os outros mantiveram seu alinhamento: Perda de stop inicial é colocada em 2 x ATR 10. Assim, se ATR 10 é de 75 pips, o stop Perda seria colocado 150 pips a partir do preço de entrada. Todos os comércios são introduzidos na abertura da próxima vela. Por exemplo, se no final da vela 10am todas as médias móveis apontam para uma tendência de alta, então você abre uma posição longa direita quando a vela 11am começa. Gestão de dinheiro e dimensionamento de posição Eu não recomendo tamanhos de lote fixos em tudo, os mercados são dinâmicos e assim deve ser o seu comércio. Como de costume com todas as minhas estratégias, eu incluo uma calculadora de dinheiro do Excel, que usaremos para colocar a perda de stop e determinar o dimensionamento de posição, com base na volatilidade, o tamanho da conta de negociação e quanto queremos arriscar por comércio. Desta forma trocamos posições menores quando o mercado é mais volátil, e maior quando o mercado está calmo. Além disso, ao combinar os lucros e negociar posições maiores, maior a conta fica (e o oposto se começamos a perder), conseguimos uma taxa de retorno maior do que se trocássemos a mesma quantidade o tempo todo. Esta calculadora que eu desenvolvi foi descrita em outros artigos que eu escrevi, se você tiver quaisquer dúvidas, por favor verifique este artigo Como calcular o dimensionamento de posição e normalizar a volatilidade. Ou simplesmente postar uma pergunta aqui. É assim que a calculadora se parece: eu sempre faço alguns ajustes, para melhor adaptá-lo a cada sistema que eu criar, você pode baixar este mês calculadora AQUI (você precisa do Excel para abri-lo). Eu fiz um backtest manual desta estratégia em uma carta diária de EUR / USD nos últimos 10 anos, de 17 de abril de 2003 a 17 de abril de 2013. 1 pip foi retirado de cada posição, por spread e comissões, eo risco por trade Foi 4 do saldo da conta. Note que esta estratégia pode ser usada em qualquer período de tempo, eu usei gráficos diários porque é o que eu troco na minha conta ao vivo, e eu estava olhando para ver se eu poderia adicionar esta estratégia para a minha coleção de sistemas. Esta estratégia didnt gatilho que muitos comércios, 120 em 10 anos. Considerando que existem cerca de 250 velas diárias em um ano (2500 para todo o período de teste), há aproximadamente um sinal de comércio a cada 21 velas, em média. Se, em vez de gráficos diários você usou horário, você poderia esperar cerca de 1 sinal de comércio por dia. Se alguém quiser uma lista de alguns comércios feitos no backtest, por favor me avise nos comentários abaixo. Arriscando 4 por comércio, o sistema produziu um retorno positivo total de 51, o que equivale a uma taxa de crescimento anual composta (CAGR) de 4,21, enquanto que a descida máxima foi de 32,1. Ao contrário dos últimos meses artigo, onde os resultados dessa estratégia excedeu as minhas expectativas, desta vez eu tenho que admitir que estou decepcionado. Embora os primeiros 5-6 anos do teste foram muito bons, os anos seguintes produziram muitas perdas, o que causou essa grande retirada. O sistema parece ter uma vantagem positiva (e em um mercado de soma negativa mesmo quebrar mesmo já é bom), embora um pequeno. Minha maior decepção vem do fator de lucro (embora qualquer coisa acima de 1 seja rentável), não o CAGR, porque se eu tivesse usado velas por hora que por si só teria aumentado significativamente a CAGR (e a retirada um pouco também), porque haveria Muito mais comércios e tempo para compostos os lucros. Como melhorar ainda mais o sistema Quase no final do backtest, comecei a perceber que colocar o stop loss no ATR 10, quase certamente, funcionaria melhor do que 2 x ATR 10, porque havia algumas grandes perdas que poderiam ter sido Parcialmente evitado. Se fizermos isso também devemos reduzir o risco por comércio para 2. Eu também pensei sobre a adição de uma média móvel de muito longo prazo, possivelmente 200 SMA, e apenas abrir ordens no sentido de que MA. Outro filtro poderia ser retrações Fibonacci, o que nos manteria fora de um comércio se houvesse uma ração importante perto do preço de abertura. Todas essas melhorias poderiam potencialmente dar um impulso ao fator de lucro, eu provavelmente vou voltar a esta estratégia em algum momento no futuro, com mais testes. As palavras finais e por que backtesting é tão importante Depois de verificar os resultados, e percebendo que eles não eram tão bons como eu esperava (eu estava contando com um fator de lucro de pelo menos 1,5), eu tinha duas opções: por um lado eu poderia ter descrito o (Sem os resultados do backtesting), dizendo o quão bem eu acreditava que iria funcionar e a maioria das pessoas iria classificá-lo e me parabenizar por uma estratégia tão boa por outro lado, eu poderia incluir o backtesting, assim admitindo, não é tão surpreendente Sistema depois de tudo (embora ainda bate mais de 95 do mercado). Mas, ao fazer isso, a Id está fornecendo um serviço muito melhor à comunidade, então a opção certa é óbvia. A lição aqui é simples, quando você acha que tem uma ótima idéia, teste-a extensivamente antes de comercializá-lo em uma conta real. E se você ver um sistema desenvolvido por outro comerciante pedir-lhe para fornecer um backtest, porque sem um você realmente não sei se o que parece como uma grande estratégia é realmente bom, ou apenas uma maneira de perder dinheiro muito rápido. Não backtest nenhuma estratégia. Sim, desempenho passado não é garantia de desempenho futuro, mas quando feito corretamente backtesting fornece uma boa idéia se um determinado sistema / abordagem é rentável ou não. Porque sem backtesting, o que mais existe para nos dar alguma confiança de que uma idéia funciona. ) Muitas vezes me aconteceu que eu tinha o que parecia ser grandes idéias, só para eles falharem completamente ao fazer um longo backtest. ) As médias moventes podem ser perigosas, mas como a maioria de coisas na troca podem também provar ser muito úteis, tudo depende de como são usadas :) Por exemplo, algumas pessoas amam Ondas de Elliot, mas para mim nunca trabalharia, mas Talvez um dia eu vou explicar em detalhes porque eu não gosto de Elliot Waves. ) Movendo-se ao longo das médias móveis: P Bom artigo, bem explicado. Eu gostei da parte dos backtests. Devemos considerar que o mercado muda ao longo do tempo e algumas estratégias têm alguns bons resultados em uma situação de mercado, mas não em outro. O mercado mudou nos últimos anos, e as velhas estratégias que têm grande sucesso não funcionam agora. Mas podemos aprender com eles e adaptá-los aos novos tempos :) Mantenha o bom trabalho yap parece muito profissional este artigo. Eu vejo raramente este tipo de trabalho aqui e espero para você um lugar melhor este monthBackTesting Movendo Médias Por que Mover Médias Como um comerciante ou investidor, a única razão para investigar médias móveis é ganhar conhecimento para aumentar os lucros. Como muitos outros indicadores técnicos, médias móveis são destinadas a ajudar-nos objectivamente a dizer o status do mercado a qualquer momento. Isso nos ajuda a ver através das emoções do dia e tomar decisões racionais, o que será dito vai levar a maiores lucros e / ou menos perdas a longo prazo. Médias móveis (MAs) suavizar a série de preços de uma ação. MAs são mais frequentemente utilizados para identificar a tendência de direção do mercado, e são classificados como um indicador de tendência seguinte. Isto doesn8217t significa que MAs são apenas para investidores de longo prazo 8211 curto prazo comerciantes usá-los também. Médias móveis podem ser usadas para selecionar ações para bons candidatos, oportunidades de compra de sinal e oferecer sinais de venda. Por que Backtest 8211 uma história O objetivo de backtesting é descobrir se as médias móveis realmente levar a melhores resultados e quais são as formas mais promissoras para aplicar MAs. Deixe-me contar uma história curta. Enquanto eu estava montando os resultados para uma das questões de média móvel BackTesting Relatório, eu aconteceu a visitar um amigo. Em sua casa, deparei com algum material de leitura de um corretor de ações de desconto bem anunciado. Nele era um artigo que aconselhar seus clientes a usar um determinado comprimento médio móvel aplicada de uma certa maneira para obter os melhores resultados. Eu tinha meus testes completos na minha frente e eu posso dizer-lhe que o método broker8217s não obter os melhores resultados, embora eles fizeram mencionar um comprimento MA que é útil de outras maneiras. Eu tinha em meus resultados de teste de mão que mostrou que a maneira que o corretor aplicou a média móvel tinha uma taxa de vitória pior do que a linha de base quando testado em 7147 ações mais de 14 anos de dados do mercado de ações. Claramente o corretor não estava executando esse tipo de teste. It8217s até os clientes 8211 nós 8211 para nos defender e descobrir o que funciona versus o que doesn8217t. Como calcular MAs Quando backtesting médias móveis, a primeira decisão é como calcular a média móvel. Você quer uma média móvel simples (SMA) Ou algo projetado para controlar o preço melhor, como uma média móvel exponencial (EMA) Você pode considerar uma experiência para comparar as taxas de vitórias das duas médias diferentes. Eu fiz isso há alguns anos atrás e, embora eu não tenha os resultados para publicar, eu saí com a noção de que não fazia uma grande diferença se eu escolhia a SMA ou a EMA 8212 apenas pegar uma e usá-la consistentemente. Então, para este projeto, eu escolho usar médias móveis simples, porque eu os vejo mencionados no comentário com mais freqüência. Para realmente fazer o cálculo, eu confiei na função embutida que veio com TradeStation. (A escolha do motor de backtesting é outra decisão que é geral o suficiente para escrever sobre em outro post.) Como usar MAs Em seguida, você precisa definir como exatamente você deseja aplicar médias móveis. Como você vai interpretar a relação entre preço e média móvel Quais regras você vai usar para decidir quando comprar e vender Você don8217t tem que ler muito sobre ações antes de vir através de uma referência de alta para uma negociação de ações acima de sua média móvel de 200 dias ou sua Média móvel de 50 dias, ou mesmo a MA de 10 ou 20 dias. Ou conselhos sobre a compra de ações que atravessam a sua média móvel de 50 dias ou 200 dias. Essas regras são importantes para testar no mecanismo de backtesting. E, em seguida, o crossover médio móvel 8211 um método clássico de análise técnica. Isso torna três maneiras distintas de usar médias móveis para testar. Indo mais em profundidade, alguns textos comerciais falam sobre a inclinação de uma média móvel. Se você voltar para a álgebra e considerar a MA como uma linha, para encontrar sua inclinação, você escolheria dois pontos na linha e aplicaria a fórmula usual ((x2-x1) / (y2-y1)). Isso traz a questão de quão distante para escolher os dois pontos que podem fazer a diferença para os resultados. Realmente, uma vez que o MA está sendo usado para identificar a tendência, só queremos saber se ele está inclinado para cima ou para baixo. Então nós podemos simplificar o cálculo inteiro observando que se o preço for acima da média movente, deve puxar a média acima, e um preço abaixo do miliampère puxa para baixo. Assim, outra razão para testar a eficácia do preço acima da média móvel. Configurações de parâmetros Depois de decidir como usar as MAs, você precisa escolher uma seleção de vários comprimentos para testar. Cuidado com o excesso de otimização. Em algum lugar para fora há um indivíduo com resultados do backtesting que mostram o ganho 3895 ou o que quer que usando apenas a média movente direita. Muito ruim ele não sabe o que MA vai produzir esses resultados no futuro. Dito isto, você precisa tentar mais do que um comprimento para se certificar de que seus resultados são um acaso. Stick com configurações padrão ou aqueles que você ouve sobre a maioria dos meios de comunicação. Encontrar a configuração de um parâmetro perfeito não vai torná-lo rico. Encontrar um conjunto de configurações boas e robustas pode fazer muito bem. Como uma questão prática quando backtesting permitir suficiente data lag antes da medição. Todos os testes devem começar a medir no mesmo local para comparação de maçãs a maçãs entre diferentes comprimentos de MA. Por exemplo, se você estiver testando uma média móvel de 200 dias, levará os primeiros 200 dias de dados para calcular o primeiro ponto dessa média móvel. Isso significa que o primeiro dia em que você poderia ter um sinal é de 200 dias no conjunto de dados. Para fazer uma comparação justa com, digamos, a média móvel de 10 dias, você precisa certificar-se de não contar quaisquer sinais da média móvel de 10 dias antes dos 200 dias estar pronto para ir. Felizmente TradeStation tem uma maneira de definir o número 8220Maximum de estudo de barras será reference8221 em 8220Properties para All8221 estratégias que força o motor backtesting para esperar tanto tempo antes de tabular dados. Maior lucro de compra ou venda As regras de média móvel e, em particular, as regras de crossover médio móvel, são frequentemente discutidas como um sistema de reversão. Isto significa que um sinal, digamos que o MAs cruzamento para cima é um sinal de compra e, em seguida, o seu oposto, por exemplo linhas MA cruzamento para baixo, não é apenas um sinal de venda, mas também o gatilho para ir curto. Teoricamente, that8217s muito bem, mas muitas pessoas não estão interessados ​​em curto-circuito no mercado. Eles estão procurando técnicas para ajudá-los a comprar e talvez vender. Mesmo uma pessoa que regularmente vende e vende curto pode usar diferentes técnicas para comprar e vender. Por estas razões, é aconselhável testar os sinais de compra separadamente dos sinais de venda. Isso coloca um dilema porque é difícil avaliar um sinal de compra isoladamente. Uma maneira de fazer isso é usar saídas programadas 8211, ou seja, sair do comércio ou vender o estoque após um certo período de tempo decorrido. Eu escolhi executar cada backtest três vezes com três saídas diferentes dos tempos porque os povos diferentes têm estilos diferentes e necessidades diferentes. Para produzir backtesting resultados úteis para swing comerciantes, eu sair após 2 dias. Para modelar os comerciantes de posição, 20 dias. Para atender às necessidades dos investidores ativos, backtesting detém cada posição por 200 dias. Isso dá uma maneira de isolar os sinais de compra e descobrir o quão útil a média móvel é comprar compradores de vários temperamentos. Necessidade de definir Bondade Mais uma coisa muito importante a considerar se você está backtesting médias móveis para descobrir o quão bem eles fazem no mercado de ações: Como você vai saber o que é bom Você precisa de critérios objetivos para o sucesso. Isso significa identificar as estatísticas-chave, tais como taxa de vitória, expectativa, ganhos hipotéticos de equidade, etc. Também significa estabelecer padrões para desempenho aceitável em cada uma dessas áreas. Um exemplo ilustra por que isso é importante e por que ele não é tão fácil quanto aparece pela primeira vez. Digamos que seus testes mostram uma taxa de vitórias de 55 para um determinado indicador. Isso pode não ser tão bom se, digamos, 62 de todas as ações subiu durante o mesmo período de tempo. Ou se apenas 25 das ações subiu durante esse período de tempo, sua taxa de 55 vitórias seria espetacular. O que é bom depende de como ele se compara ao desempenho do mercado de base nas mesmas condições. Você pode baixar uma cópia gratuita do relatório BackTesting Report Baseline clicando aqui. Conjunto de teste Para um backtest significativo, você precisa ter dados suficientes para fazer uma comparação estatisticamente válida. No mínimo, isso significa 30 comércios. Mesmo se você está negociando apenas um instrumento 8211 apenas um estoque ou apenas um par de moedas 8211 Eu acho que it8217s importante para testar sua estratégia de negociação em muitos instrumentos diferentes para provar a sua robustez. Eu fui sobre o topo com um conjunto de teste extremamente grande 8212 7147 ações ao longo de 14 anos 8212 para se certificar de que meus resultados seriam aplicáveis ​​em uma ampla variedade de condições de mercado. A versão mais recente do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Gráficos de Ponto e Gráfico e Backtesting de Estratégia. 17/06/2013 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 17/06/2013 ConnectCode Barcode Font Pack - permite códigos de barras em aplicações de escritório e inclui um suplemento para o Excel que suporta a geração em massa de códigos de barras. 17/06/2013 InvestmentCode, um conjunto abrangente de calculadoras e modelos financeiros para o Excel está agora disponível. 09/01/2009 Lançamento de Investimento Livre e Calculadora Financeira para Excel. 01/01/2008 Lançamento do SparkCode Professional - add-in para criar Dashboards no Excel com sparklines 12/15/2007 Anunciando o ConnectCode Duplicate Remover - um poderoso add-in para encontrar e remover entradas duplicadas no Excel 09/08/2007 Lançamento do SparkCode Professional TinyGraphs - add-in de fonte aberta para criar sparklines e gráficos minúsculos em Excel. Estratégia Backtesting no Excel Estratégia Backtesting Expert Visão Geral O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. Durante o processo de backtesting, o Backtesting Expert executa os dados históricos de uma linha a linha de cima para baixo. Cada estratégia especificada será avaliada para determinar se as condições de entrada são atendidas. Se as condições forem satisfeitas, uma negociação será inserida. Por outro lado, se as condições de saída forem atendidas, uma posição que foi inserida anteriormente será encerrada. Diferentes variações de indicadores técnicos podem ser geradas e combinadas para formar uma estratégia de negociação. Isso torna o Backtesting Expert uma ferramenta extremamente poderosa e flexível. Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. O modelo pode ser configurado para entrar em posições longas ou curtas quando determinadas condições ocorrem e sair das posições quando outro conjunto de condições são atendidas. Ao negociar automaticamente em dados históricos, o modelo pode determinar a lucratividade de uma estratégia de negociação. Backtesting Expert Step by Step Tutorial 1. Inicie o Backtesting Expert O Backtesting Expert pode ser iniciado a partir do menu Iniciar do Windows - Programas - TraderCode - Backtesting Expert. Isso lança um modelo de planilha com várias planilhas para gerar indicadores de análise técnica e testar as diferentes estratégias. Você notará que o Backtesting Expert inclui muitas planilhas conhecidas como DownloadedData, AnalysisInput, AnalysisOutput, ChartInput e ChartOutput do modelo Expert de análise técnica. Isso permite que você execute todos os seus testes de volta rapidamente e facilmente a partir de um ambiente de planilha familiar. 2. Primeiro, selecione a planilha DownloadedData. Você pode copiar dados de qualquer planilha ou arquivos separados por vírgula (csv) para esta planilha para análise técnica. O formato dos dados é como mostrado no diagrama. Como alternativa, você pode consultar o documento Download Stock Trading Data para baixar dados de fontes de dados bem conhecidas, como o Yahoo Finance, o Google Finance ou o Forex para uso no Backtesting Expert. 3. Depois de ter copiado os dados, vá para a folha de cálculo AnalysisInput e clique no botão Analyze e BackTest. Isso irá gerar os diferentes indicadores técnicos na planilha AnalysisOutput e executar backtesting nas estratégias especificadas na planilha StrategyBackTestingInput. 4. Clique na folha de cálculo StrategyBackTestingInput. Neste tutorial, você só precisará saber que especificamos estratégias longas e curtas usando crossovers de média móvel. Estaremos entrando em detalhes da especificação de estratégias na próxima seção deste documento. O diagrama abaixo mostra as duas estratégias. 5. Uma vez concluídos os testes de volta, a saída será colocada nas folhas de cálculo AnalysisOutput, TradeLogOutput e TradeSummaryOutput. A planilha AnalysisOutput contém os preços históricos completos e os indicadores técnicos do estoque. Durante os back tests, se as condições para uma estratégia forem satisfeitas, informações como preço de compra, preço de venda, comissão e lucro / perda serão registradas nesta planilha para facilitar a consulta. Esta informação é útil se você gosta de rastrear através das estratégias para ver como as posições de ações são inseridas e saídas. A planilha TradeLogOutput contém um resumo dos negócios realizados pelo Backtesting Expert. Os dados podem ser facilmente filtrados para mostrar apenas os dados de uma estratégia específica. Esta planilha é útil para determinar o lucro ou a perda global de uma estratégia em períodos de tempo diferentes. A saída mais importante dos testes de volta é colocada na planilha TradeSummaryOutput. Esta planilha contém o lucro total das estratégias realizadas. Conforme mostrado no diagrama abaixo, as estratégias geraram um lucro total de 2.548,20, totalizando 10 negócios. Destes negócios, 5 são Long posições e 5 são Short posições. A Ratio ganha / perda de mais de 1 indica uma estratégia rentável. Explicação das diferentes planilhas Esta seção contém a explicação detalhada das diferentes planilhas no modelo do Backtesting Expert. As planilhas DownloadedData, AnalysisInput, AnalysOutput, ChartInput e ChartOutput são as mesmas do modelo do Technical Analysis Expert. Assim, eles não serão descritos nesta seção. Para obter uma descrição completa dessas planilhas, consulte a seção Especialista em Análise Técnica. Planilha StrategyBackTestingInput Todas as entradas para backtesting incluindo as estratégias são inseridas usando esta planilha. Uma estratégia é basicamente um conjunto de condições ou regras que você vai comprar em um estoque ou vender um estoque. Por exemplo, você pode querer executar uma estratégia para ir Long (ações de compra) se a média móvel de 12 dias do preço cruza acima da média móvel de 24 dias. Esta planilha trabalha em conjunto com os indicadores técnicos e dados de preço na planilha AnalysisOutput. Daí a média móvel indicadores técnicos têm de ser gerados, a fim de ter uma estratégia de negociação baseada na média móvel. A primeira entrada necessária nesta planilha (como mostrado no diagrama abaixo) é especificar se deseja sair de todos os negócios no final da sessão de teste de volta. Imagine o cenário onde as condições para a compra de um estoque ocorreu eo especialista Backtesting entrou em um comércio Long (ou Short). No entanto, o período de tempo é demasiado curto e terminou antes de o comércio pode satisfazer as condições de saída, resultando em alguns comércios não saiu quando a sessão backtesting termina. Você pode definir isso como Y para forçar todos os comércios a serem encerrados no final da sessão de backtesting. Caso contrário, os negócios serão deixados abertos quando backtesting sessão termina. Estratégias Um máximo de 10 estratégias podem ser apoiadas em um único teste de volta. O diagrama abaixo mostra as entradas necessárias para especificar uma estratégia. Iniciais de Estratégia - Esta entrada aceita um máximo de dois alfabetos ou números. As iniciais de estratégia são usadas nas planilhas AnalysisOutput e TradeLog para identificar as estratégias. Long (L) / Short (S) - Isso é usado para indicar se a posição Long ou Short deve ser inserida quando as condições de entrada da estratégia forem atendidas. Condições de entrada Uma negociação longa ou curta será inserida 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 de fórmula diferencia maiúsculas de minúsculas e pode utilizar Funções, Operadores e Colunas como descrito abaixo. Crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna 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 ocorreu. E (logicalexpr,) - Boolean E. Retorna True se todas as expressões lógicas forem True. 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, inclusive hoje. Operadores Maior que Igual Não igual Maior ou igual Subtração Multiplicação / Divisão Colunas (de AnalysisOutput) A - Coluna AB - Coluna BC .. .. YY - Coluna YY ZZ - Coluna ZZ Esta é a parte mais interessante e flexível do Condições de Entrada. Ele permite que colunas da planilha AnalysisOutput sejam especificadas. Quando os testes de retorno são realizados, cada linha da coluna será usada para avaliação. Por exemplo, A 50 significa que cada uma das linhas na coluna A da folha de cálculo AnalysisOutput será determinada se é maior do que 50. AB Neste exemplo , Se o valor na coluna A na folha de cálculo AnalysisOutput for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. E (A B, CD) Neste exemplo, se o valor na coluna A na folha de cálculo AnalysisOutput for maior que o valor da coluna B eo 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 folha de cálculo AnalysisOutput ultrapassar o 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 posteriormente torna-se maior que B. Condições de Saída 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, ele também pode fazer uso de variáveis ​​como mostrado abaixo. Variables for Exit Condições lucro Isso é 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 É 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. Profitpct (preço de venda - preço de compra) / preço de compra Nota. Preço de venda deve ser superior ou igual ao preço de compra. Caso contrário, profitpct será zero. Losspct (preço de venda - preço de compra) / preço de compra Nota. Preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero. Exemplos profitpct 0.2 Neste exemplo, se o lucro em termos de percentagem for superior a 20, as condições de saída serão satisfeitas. Comissão em termos de percentagem do preço de negociação. Se o preço de negociação é 10 e Comissão é 0,1, em seguida, comissão será 1. A comissão percentual e comissão em dólares serão somados para calcular a comissão total. Comissão em dólares. O percentual de comissão e comissão em dólares será somado para calcular o total da comissão. Número de Ações - Número de ações a serem compradas ou vendidas quando as condições de entrada / saída da estratégia forem atendidas. Folha de trabalho TradeSummaryOutput Esta é uma planilha que contém um resumo de todos os negócios realizados durante os testes de volta. Os resultados são categorizados em Long e Short Trades. Uma descrição de todos os campos pode ser encontrada abaixo. Lucro / perda total - lucro ou perda total após a comissão. Este valor é calculado somando todos os lucros e perdas de todas as operações simuladas no back test. Lucro / perda total antes da comissão - lucro ou perda total antes da comissão. Se a comissão for definida como zero, este campo terá o mesmo valor que o Lucro Total / Perda. Total Comissão - Comissão total exigida para todas as operações simuladas durante o teste de volta. Número total de negócios - Número total de negócios realizados durante o teste de volta simulada. Número de negócios vencedores - Número de negócios que obtêm lucro. Número de negócios perdidos - Número de negócios que causam prejuízo. Percentagem de negócios vencedores - Número de negócios vencedores dividido pelo número total de negócios. Percentagem de negócios perdidos - Número de negócios perdedores dividido pelo número total de negócios. Average winning Trade - O valor médio dos lucros dos negócios vencedores. Média perdendo Comércio - O valor médio das perdas das operações perdedoras. Average Trade - O valor médio (lucro ou prejuízo) de um único negócio do teste de volta simulada. Maior vencedora Trade - O lucro do maior comércio vencedor. Maior perda de comércio - A perda do maior comércio perdedor. Rácio médio de vitória / perda média - Média ganhando Comércio dividido pela Média perdendo Comércio. Ratio ganha / perda - Soma de todos os lucros nos comércios ganhando divididos pela soma de todas as perdas nos comércios perdedores. Uma proporção maior do que 1 indica uma estratégia lucrativa. Folha de trabalho TradeLogOutput Esta planilha contém todos os negócios simulados pelo Expert Backtesting classificados por data. Ele permite que você faça zoom em qualquer comércio específico ou período de tempo para determinar a rentabilidade de uma estratégia de forma rápida e fácil. Data - A data em que uma posição Long ou Short é inserida ou saiu. Estratégia - A estratégia que é usada para executar este comércio. Posição - A posição do negócio, se Long ou Short. Comércio - Indica se este comércio está comprando ou vendendo estoques. Ações - Quantidade de ações negociadas. Preço - O preço em que as ações são compradas ou vendidas. Comm. - Comissão total para este comércio. PL (B4 Comm.) - Lucro ou prejuízo antes da comissão. PL (Aft Comm.) - Lucro ou prejuízo após a comissão. Porra. PL (Aft Comm.) - Lucro ou prejuízo acumulado após comissões. Isso é calculado como o lucro / prejuízo acumulado total a partir do primeiro dia de uma negociação. PL (na posição de fechamento) - Lucro ou prejuízo quando a posição é fechada (encerrada). Tanto a comissão de entrada como a comissão de saída serão contabilizadas neste PL. Por exemplo, se tivermos uma posição Longa onde o PL (Com. B4) é 100. Supondo que quando a posição é inserida, uma comissão 10 é cobrada e quando a posição é saida, outra comissão de 10 é carregada. O PL (na posição de fecho) é 100-10-10 80. Tanto a comissão ao entrar na posição e sair da posição são contabilizadas na posição fechada. Voltar para TraderCode Technical Analysis Software e Indicadores Técnicos

No comments:

Post a Comment