Movendo Média Backtesting


Médias móveis simples - Backtests de troca Que parâmetros de média movente são os melhores Este local tem um oceano de backtests de média movente que eu conduzi para o DAX, SP500 e também USDEU (Forex). Estes testes foram realizados utilizando diferentes estratégias de sinalização: variantes simples exponencial e cruzada e diferentes índices para um período de 1000 dias de negociação. Em contraste com outros sites, testei todos os valores médios da janela diária de 1 a 1000 dias, para as estratégias de cross-over também em combinação. Esses dados também são unqiue como eu tentei realizar testes realistas, simulando o spread buysell e impostos para Comparação com uma estratégia de referência (buy hold). Um valor de janela de rápida reação parece bom em teoria e com um teste simples. Mas o spread, taxas e impostos vai destruir todo o desempenho na aplicação prática. É por isso que esses testes realistas são tão valiosos. Espero que este site possa ajudá-lo com seus negócios, aproveite-oBacktesting um Moving Average Crossover em Python com pandas No artigo anterior sobre Pesquisa Backtesting Ambientes Em Python Com Pandas criamos um ambiente de backtesting baseado em pesquisa orientada a objetos e testá-lo em um random Estratégia de previsão. Neste artigo, faremos uso da maquinaria que introduzimos para realizar pesquisas sobre uma estratégia real, a saber, o Crossover Médio Móvel na AAPL. Estratégia de Crossover Médio em Movimento A técnica de Crossover de Moving Average é uma estratégia de momentum simplista extremamente bem conhecida. É freqüentemente considerado o exemplo Hello World para negociação quantitativa. A estratégia aqui descrita é longa. São criados dois filtros separados de média móvel simples, com períodos de retrocesso variáveis, de uma série temporal específica. Os sinais para comprar o ativo ocorrem quando a média móvel de retrocesso mais curta excede a média móvel de retrocesso mais longa. Se a média mais longa subseqüentemente exceder a média mais curta, o ativo é vendido de volta. 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 a Apple, Inc. (AAPL) como a série de tempo, com um lookback curto de 100 dias e um lookback longo de 400 dias. Este é o exemplo fornecido pela biblioteca de negociação algorítmica do zipline. Assim, se queremos implementar nosso próprio backtester, precisamos garantir que ele corresponda aos resultados em tirolesa, como um meio básico de validação. Implementaçã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 em particular, usei as seguintes bibliotecas: A implementação do macross. py requer backtest. py do tutorial anterior. O primeiro passo é importar os módulos e objetos necessários: Como no tutorial anterior, vamos subclassificar a classe base Abstract de Estratégia para produzir MovingAverageCrossStrategy. Que contém todos os detalhes sobre como gerar os sinais quando as médias móveis de AAPL cruzam-se uns aos outros. O objeto requer uma janela curta e uma janela longa sobre a qual operar. Os valores foram ajustados 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 pandas sobre as barrasFechar fechar preço do estoque AAPL. Uma vez construídas as médias móveis individuais, a Série de sinais é gerada ajustando a coluna igual a 1,0 quando a média móvel curta é maior que a média móvel longa, ou 0,0 caso contrário. A partir daí, as ordens de posição podem ser geradas para representar sinais de negociação. O MarketOnClosePortfolio é subclassificado do Portfolio. Que é encontrado em backtest. py. É quase idêntico à 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, ao invés de uma base Open-to-Open. Para obter detalhes sobre como o objeto Portfolio está definido, consulte o tutorial anterior. Ive deixou o código em para a integridade e para manter este tutorial auto-contido: Agora que as classes MovingAverageCrossStrategy e MarketOnClosePortfolio foram definidas, uma função principal será chamado para amarrar toda a funcionalidade em conjunto. Além disso, o desempenho da estratégia será analisado através de um gráfico da curva de equivalência patrimonial. O objeto DataReader do pandas faz o download dos preços OHLCV das ações da AAPL para o período de 1º de janeiro de 1990 a 1º de janeiro de 2002, momento em que os sinais DataFrame são criados para gerar os sinais long-only. Posteriormente, a carteira é gerada com uma base de capital inicial de 100.000 USD e os retornos são calculados na curva de equivalência patrimonial. O passo final é usar matplotlib para traçar um gráfico de dois dígitos de ambos os preços AAPL, sobreposta com as médias móveis e os sinais de buysell, bem como a curva de equidade com os mesmos sinais de buysell. O código de plotagem é obtido (e modificado) a partir do exemplo de implementação da tirolesa. 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. Os upticks cor-de-rosa representam a compra do estoque, enquanto os downticks negros representam vendê-lo de volta: Como pode ser visto a estratégia perde dinheiro durante o período, com cinco comércios de ida e volta. Isto não é surpreendente dado o comportamento da AAPL ao longo do período, que estava em uma ligeira tendência descendente, seguido por um aumento significativo começando em 1998. O período de retrocesso dos sinais de média móvel é bastante grande e isso afetou o lucro do comércio final , O que de outra forma pode ter feito a estratégia rentável. Em artigos subseqüentes, criaremos um meio mais sofisticado de analisar o desempenho, bem como descrevendo como otimizar os períodos de retorno dos sinais individuais de média móvel. Começando com Quantitative TradingMoving Average Backtest Symbol - Digite qualquer símbolo rastreado em nosso banco de dados, ou use uma relação entre símbolos, digitando dois símbolos como sym1: sym2. Médias móveis - pode ser simples ou exponencial para o número de dias especificado. Com um único MA, a participação é determinada pelo valor do Preço relativo à Média Móvel. Quando duas MAs são usadas, a participação é determinada pela relação entre as duas Médias Móveis. Participações - O fundo a ser detido pode ser o mesmo ou diferente do fundo utilizado para os cálculos acima. Por exemplo, você poderia modelar buyingselling um fundo leveraged baseado na média móvel do fundo desalavancado. Benchmark - SPY é o padrão, mas qualquer símbolo pode ser usado. Estatísticas - As Estatísticas incluem três medidas de volatilidade que você deseja que sejam baixas, o Desvio Padrão, índice de úlcera e Drawdown máximo. Além disso, há três retorno: medidas de risco onde maior é melhor. Estes incluem o Sharpe Ratio, Sortino Ratio, e Martin Ratio. Nota: As informações fornecidas pelo ETFScreen são estritamente para fins informativos e não devem ser interpretadas como conselhos ou solicitação para comprar ou vender qualquer segurança. O proprietário da ETFScreen não assume qualquer responsabilidade resultante da utilização do material aqui contido para quaisquer fins, incluindo fins de investimento. Política de Privacidade DisclaimerTermos de Uso Se você tem um comentário, entre em contato conosco. BackTesting Moving Averages 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, as médias móveis são destinadas a nos ajudar a dizer objetivamente 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 os investidores de longo prazo 8211 curto prazo comerciantes usá-los também. As médias móveis podem ser usadas para selecionar ações para bons candidatos, assinalar oportunidades de compra 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 maneiras 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 tive meus testes completos bem na minha frente e 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 contra 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 apenas isso há alguns anos, e enquanto eu não tenho os resultados para publicar, eu saí com a noção de que não fazia uma grande diferença se eu escolhi 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, confiei na função incorporada 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 como eles cruzam a sua média móvel de 50 dias ou 200 dias. Estas são regras 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 faz 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 distantes 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 MA 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 de um comprimento para se certificar de que seus resultados são um acaso. Stick com configurações padrão ou aquelas que você ouve sobre a maioria na mídia. Encontrar a definição de um parâmetro perfeito não vai torná-lo rico. Encontrar um conjunto de configurações boas e robustas só pode fazer você um monte de bom embora. 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 ter certeza de não contar quaisquer sinais da média móvel de 10 dias antes dos 200 dias estar pronto. 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. Mais lucro com 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. Isso 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 interessadas 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 compra e venda. Por estas razões, é aconselhável testar os sinais de compra separadamente dos sinais de venda. Isto coloca um dilema porque é difícil avaliar um sinal de compra isoladamente. Uma maneira de fazer isso é usar as 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 funcionar 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 a bondade Uma 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. Isso 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 um 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 fazer o download de uma cópia gratuita do relatório BackTesting Report Baseline 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 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. Você pode obter sua cópia dos meus relatórios de backtesting sobre sinais de compra de média móvel clicando aqui.

Comments

  1. O Serviço de Financiamento Le_Meridian foi acima e além de suas necessidades para me ajudar com meu empréstimo, que eu usei para expandir meus negócios de farmácia. Eles eram amigáveis, profissionais e absolutos, para trabalhar. E-mail..lfdsloans@lemeridianfds.com Ou lfdsloans@outlook.com.WhatsApp ... + 19893943740.

    ReplyDelete

Post a Comment

Popular posts from this blog

Heiken Ashi In Forex Trading

Tabelas Forex Pares Correlação

Conta Demo De Troca De Opções Binárias Gratuitas