Movendo média trading sistema backtesting
Moving Average Crossover Strategy. Em esta página eu gostaria de levá-lo através de uma comparação de um par de média móvel sistemas de cruzamento Um usa duas médias simples movimentos sma s eo outro usa três sma s. Ever pensamento sobre como usar um sistema de média móvel dupla Se você está considerando a utilização de cruzamentos dupla movimentação média para entrar e sair comércios, você pode considerar testar um sistema de triplo MA também Compare-los lado a lado em diferentes estoques ou outros instrumentos de negociação, bem como diferentes períodos de tempo ou períodos de tempo Teste Diferentes períodos de média móvel, mas tenha cuidado para não confiar em resultados otimizados ou curva de ajuste. Mas desde alguns dos meus visitantes don t saber o que é isso, vamos passar alguns princípios em primeiro lugar. Qual é MOVING AVERAGE CROSSOVER. A imagem do lado direito É um exemplo de um crossover de média móvel dupla que iria iniciar um crossover de sinal de compra de alta Uma média móvel mais rápida 8 sma - azul cruza acima de uma média mais lenta 13 sma - yellow. Notice que o sinal não é co Nfirmed até o fechamento da barra Isto significa que a entrada real em negociação ao vivo seria em algum lugar dentro da próxima barra Provavelmente perto da abertura dessa barra. Se você não fez qualquer backtesting ainda, este tipo de sistema simples será provavelmente um dos O primeiro que você vai testar, uma vez que requer muito poucas habilidades de programação De qualquer forma, se você seguir este caminho, você vai achar que o preço de abertura da próxima barra após a cruz, é onde o software backtesting, dependendo da configuração irá colocar o simulada 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 iria ocorrer. Com um sistema de inversão de batente típico, esta entrada longa não seria saida até o MA azul, mais rápido cruzado abaixo O MA amarelo, mais lento Este cruzamento bearish MA não só sai do comércio, mas inicia um comércio de curto na direção oposta, assim Assim, com sistemas de cruzamento dual móvel média, o comerciante está sempre em um comércio, Long ou short. Lets dê uma olhada em um exemplo intraday ao longo de um dia. DUAL MOVING AVERAGE CROSSOVER. We ll usar um gráfico de 5 minutos de SPY com duas médias móveis simples para o primeiro exemplo Fast 8 sma - verde e Slow 13 Sma - yellow. I escolheu este dia em particular, porque eu queria para ilustrar o que é muito típico para praticamente qualquer estratégia de passagem média móvel A primeira negociação longa após 11 00 vai muito bem e realmente pega uma boa entrada pullback. A saída em torno de 12 45pm É rentável. Mas, quero que eu gostaria que você observe é a ação preço agitado entre 12 00 - 3 00 Este é o lugar onde os sistemas de MA dupla pode realmente moer seus lucros para baixo A MA s whipsaw apenas para trás e para frente 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 teriam visto um comércio mais vencedor decente em 2 30. A boa parte deste sistema é exibido no primeiro comércio e no último comércio Enquanto Movendo-se Os crossovers do ge falham miseravelmente durante a ação choppy do preço, trabalham muito bem durante a ação do preço da tendência. Se você backtest estes sistemas simples do batente e do reverso, e inspeciona um que sai com um lucro, você ll achará mais provável que a vitória é menos de 50 , Mas o vencedor médio será maior do que o perdedor médio. Isso é porque a movimentação média crossover sistemas são essencialmente sistemas de negociação de tendência E, tendência sistemas comerciais quase sempre têm essa característica de uma pequena porcentagem de vencedores e um bom ratio. In 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 introduzir um terceiro movimento Média 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, 1 0 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 vem quando a linha rápida cruza abaixo do Linha média. As regras são o oposto para entradas curtas É fácil ver, que este sistema é semelhante à tomada de comércios fora da tendência de um frame de tempo mais elevado. Uma alternativa a este sistema, seria apenas levar entradas longas, quando ambos As médias móveis rápidas e médias estão acima do lento sma. Be ciente de que quando o seu lidar com três graus de liberdade 3 variáveis, em vez de dois como no exemplo acima, você está fazendo o sistema mais complexo e, portanto, criando muitas combinações mais possíveis para Teste. Claro que, backtesting software torna isso um snap, mas lembre-se que a adição de filtros e complexidade doesn t sempre fazer um melhor sistema freqüentemente, um sistema mais simples pode ser mais robusto em testing. An exemplo é below. If você está interessado em médias móveis Você pode T também quero verificar a minha página sobre como usar as médias móveis como uma parada de arrasto. Backtesting um Moving Average Crossover em Python com pandas. No artigo anterior sobre Pesquisa Backtesting Ambientes Em Python Com Pandas criamos um objeto orientado à investigação baseada em Backtesting ambiente e testou-o em uma estratégia de previsão aleatória Neste artigo, vamos fazer uso da máquina que introduziu para realizar uma pesquisa sobre uma estratégia real, ou seja, o Crossover média móvel em AAPL. Moving Average Crossover Strategy. The Crossover média móvel é Uma estratégia de impulso simplista extremamente bem conhecida É frequentemente considerado o exemplo de Hello World para a estratégia de negociação quantitativa. A estratégia descrita aqui é longa apenas Dois filtros de média móvel simples separados são criados, com períodos de retrocesso variáveis, de uma série temporal particular Sinais para Comprar o ativo ocorrem quando a média móvel de retrocesso mais curto excede a média móvel de maior retrocesso Se a média A estratégia funciona bem quando uma série de tempo entra em um período de forte tendência e, em seguida, lentamente inverte a tendência. Para este exemplo, eu escolhi Apple, Inc AAPL como a série de tempo, com um Curto lookback de 100 dias e um longo lookback de 400 dias Este é o exemplo fornecido pela biblioteca de negociação algorítmica zipline Assim, se queremos implementar o nosso próprio backtester precisamos garantir que ele coincide com os resultados em zipline, como um meio básico de validação . Certifique-se de seguir o tutorial anterior aqui que descreve como a hierarquia de objeto inicial para o backtester é construída, caso contrário, o código abaixo não funcionará Para esta implementação particular eu usei as seguintes bibliotecas. A implementação de requer do tutorial anterior O primeiro Passo é importar os módulos e objectos necessários. Como no tutorial anterior, vamos subclassificar a classe base abstrata de Estratégia para produzir MovingAverageCrossStrategy w Que contém todos os detalhes sobre como gerar os sinais quando as médias móveis de AAPL se cruzam entre si. O objeto requer uma janela curta e uma janela longa sobre a qual operar Os valores foram definidos para padrões de 100 dias e 400 dias, respectivamente, Que são os mesmos parâmetros usados no exemplo principal de tirolesa. As médias móveis são criadas usando a função rollingmean das pandas nas barras Fechar preço de fechamento do estoque de AAPL Uma vez que as médias móveis individuais foram construídas, o sinal Série é gerado ajustando O colum igual a 1 0 quando a média curta móvel é maior do que a média móvel longa, ou 0 0 caso contrário, as ordens de posições podem ser geradas para representar sinais de negociação. O MarketOnClosePortfolio é subclassificado do portfólio que é encontrado em É quase idêntico A implementação descrita no tutorial anterior, com a exceção de que as negociações são agora realizadas em uma base Close-to-Close, em vez de um Open-to - Base aberta Para detalhes sobre como o objeto Portfólio é definido, consulte o tutorial anterior Eu deixei o código em para integridade e para manter este tutorial self-contained. Now que as classes MovingAverageCrossStrategy e MarketOnClosePortfolio foram definidas, uma função principal será Chamado para amarrar todas as funcionalidades em conjunto Além disso, o desempenho da estratégia será examinado através de um gráfico da curva de equidade. O objeto pandora DataReader downloads OHLCV preços de ações AAPL para o período de 01 janeiro de 1990 a 01 de janeiro de 2002, momento em que Os sinais DataFrame são criados para gerar os sinais apenas longos Subseqüentemente o portfólio é gerado com uma base de capital inicial de 100.000 USD e os retornos são calculados na curva de equidade. O passo final é usar matplotlib para traçar um gráfico de dois dígitos de ambos AAPL preços, sobreposta com as médias móveis e comprar vender sinais, bem como a curva de equidade com os mesmos sinais de compra vender O código de plotagem é tomado e modificado a partir do z Ipline exemplo de implementação. A saída gráfica do código é a seguinte Eu fiz uso do comando IPython colar para colocar isso diretamente no console IPython enquanto no Ubuntu, de modo que a saída gráfica permaneceu na vista O upticks rosa representam a compra do estoque, enquanto Os downticks negros representam vendê-lo para trás. AAPL Moving Average Crossover Performance de 1990-01-01 a 2002-01-01.As pode ser visto a estratégia perde dinheiro durante o período, com cinco comércios de ida e volta Isso não é surpreendente dado o Comportamento da AAPL ao longo do período, que registou uma ligeira tendência para a baixa, seguida de um aumento significativo a partir de 1998. O período de retrocesso dos sinais da média móvel é bastante grande e isto afectou o lucro do comércio final, Estratégia rentável. Em artigos subseqüentes vamos criar um meio mais sofisticado de analisar o desempenho, bem como descrevendo como otimizar os períodos de lookback do sinal de média móvel individual 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 Objetivamente dizer o status do mercado em um determinado momento Isso nos ajuda a ver através das emoções do dia e tomar decisões racionais, que nos dizem vai levar a maiores lucros e ou menos perdas a longo prazo Mover médias MAs suavizar a série de preços para Um estoque 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 não significa que MAs são apenas para investidores de longo prazo comerciantes de curto prazo usá-los também Médias móveis podem ser usados para tela Ações para bons candidatos, oportunidades de compra de sinal e oferecer sinais de venda. Por que Backtest A Story. O objetivo do backtesting é descobrir se as médias móveis realmente levam a melhores resultados. D que são as maneiras as mais prometedoras aplicar MAs Deixe-me dizer-lhe uma história curta Quando eu juntasse os resultados para uma da média movente BackTesting Relatório edições, eu aconteci visitar um amigo Em sua casa, eu vim através de algum material da leitura A partir de um corretor de ações bem anunciado desconto Em que foi um artigo que aconselhar seus clientes a usar um determinado comprimento média móvel aplicada de uma certa maneira de obter os melhores resultados Eu tive meus testes abrangentes na minha frente e posso dizer-lhe que Método do corretor não obter os melhores resultados, embora eles fizeram mencionar um comprimento MA que é útil em outras maneiras que 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 É até os clientes para nos defendermos e descobrir o que funciona versus o que doesn t. Como calcular MAs. Quando de volta Testando 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 rastrear melhor preço, como uma média móvel exponencial EMA Você pode considerar uma experiência para comparar as taxas de vitória dos dois diferentes Médias que eu fiz apenas isso um par anos há, e quando eu não tenho os resultados publicar, eu saí com a noção que não fêz uma diferença grande se eu escolheu SMA ou EMA apenas escolhe um e uso-o consistentemente Assim para Este projeto, eu optar por usar médias móveis simples, porque eu vê-los mencionados no comentário mais frequentemente Para realmente fazer o cálculo, eu confiava na função embutida que veio com TradeStation A escolha do motor de backtesting é outra decisão que é geral o suficiente para Escreva sobre em outro post. How para usar MAs. Next 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 wi Você vai usar para decidir quando comprar e vender Você não 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 até mesmo o 10 ou 20 dias MA Ou conselhos sobre a compra de ações como eles cruzam a sua média móvel de 50 dias ou 200 dias Estas são regras importantes para testar no motor backtesting E, em seguida, há o crossover média móvel um método clássico de análise técnica Que faz três distinto Maneiras de usar médias móveis para test. Going mais aprofundada, alguns textos comerciais falam sobre a inclinação de uma média móvel Se você hark voltar a álgebra e considerar o MA como uma linha, para encontrar a sua inclinação que você escolheria dois pontos sobre a Line e aplicar 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 podemos simplificar th E todo o cálculo, percebendo que se o preço está acima da média móvel, deve estar puxando a média para cima, e um preço abaixo da MA puxa para baixo Assim, outra razão para testar a eficácia do preço acima da média móvel. Parameter settings. Once Você decide como usar o MAs, você precisa escolher uma seleção de vários comprimentos para testar Cuidado com o excesso de otimização Em algum lugar lá fora é um cara com backtesting resultados mostrando 3895 ganho ou o que quer que use apenas a média móvel direita Muito ruim ele doesn t Saber o que MA vai produzir esses resultados no futuro Que disse, você precisa tentar mais de um comprimento para se certificar de que os seus resultados aren ta fluke Stick com configurações padrão ou aqueles que você ouve sobre a maioria dos meios de comunicação Encontrar o ajuste de um parâmetro perfeito Não vai torná-lo rico Encontrar um cluster de configurações boas e robustas só pode fazer-lhe uma grande quantidade de bom though. As uma questão prática quando backtesting permitir suficiente data lag antes de medir Todos os testes devem começar a medir um 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 da média móvel. Que o primeiro dia você poderia possivelmente ter um sinal é de 200 dias para o conjunto de dados Para fazer uma comparação justa com, digamos, a média móvel de 10 dias, você precisa ter certeza de não contar todos os sinais da movimentação de 10 dias Média antes do 200-dia está pronto para ir Felizmente TradeStation tem uma maneira de definir o número máximo de barras de estudo referência em propriedades para todas as estratégias que força o motor backtesting para esperar tanto tempo antes de tabulação de dados. Mais lucro de compra ou venda. As regras de média móvel e, em particular, as regras de crossover média móvel, são frequentemente discutidas como um sistema de reversão. Isto significa que um sinal, digamos que as MAs que cruzam para cima é um sinal de compra e então o seu oposto, Mas também O gatilho para ir curto Teoricamente, que é apenas bom, 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, é sábio para testar os sinais de compra separadamente dos sinais de venda. Isto coloca um dilema porque é difícil avaliar um sinal de compra em isolamento Uma maneira de fazer isso é usar saídas programadas que é, sair do comércio ou Vender o estoque depois de uma certa quantidade de tempo decorrido Escolhi para executar cada backtest três vezes com três saídas diferentes vezes porque diferentes pessoas têm diferentes estilos e necessidades diferentes Para produzir backtesting resultados úteis para swing comerciantes, saio após 2 dias Para modelar posição comerciantes , 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 é t O compradores de ações de vários temperaments. Need para definir Goodness. One coisa mais 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 Que Significa identificar as estatísticas-chave, como taxa de vitória, expectativa, ganhos de capital hipotético, etc Também significa estabelecer padrões para o desempenho aceitável em cada uma dessas áreas. Um exemplo ilustra por que isso é importante e por que não é tão fácil como parece Say Seus testes mostram uma taxa de vitória de 55 para um determinado indicador Que 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 subiram durante esse período, sua vitória 55 Taxa 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 BackTesting Report Baseline questão clicando aqui. 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 apenas um estoque ou apenas um par de moedas Eu acho que é importante para testar sua estratégia comercial em muitos instrumentos diferentes Para provar a sua robustez Eu fui sobre o topo com um conjunto de teste extremamente grande 7147 ações ao longo de 14 anos para se certificar de que meus resultados seriam aplicados em uma ampla variedade de condições de mercado. Você pode obter a sua cópia do meu backtesting relatórios sobre sinais de compra média móvel por Clicando aqui.
Comments
Post a Comment