Thursday 28 December 2017

Moving average strategy backtest


Estratégia Testing Precisa de mais informações Back-Testing Estratégias de Negociação com Wealth-Lab Pro. As estratégias de negociação e o teste de estratégia e os sinais comerciais gerados pelas estratégias são fornecidos para fins educacionais e apenas como exemplos e não devem ser usados ​​ou confiados para tomar decisões sobre sua situação individual. Você pode modificar os parâmetros de Teste de Estratégia como entender. A Fidelity não está adotando, fazendo uma recomendação ou endossando qualquer estratégia de negociação ou investimento ou segurança específica. O recurso Teste de Estratégia fornece um cálculo hipotético de como um título ou carteira de títulos, sujeito a um exemplo de estratégia de negociação, teria sido executado ao longo de um período de tempo histórico. Somente os títulos que estavam em existência durante o período de tempo histórico e que têm dados de preços históricos estão disponíveis para uso no recurso Teste de Estratégia. O recurso tem apenas uma capacidade limitada para calcular as comissões de negociação hipotético, e não conta para quaisquer outras taxas ou para as consequências fiscais que poderiam resultar de uma estratégia de negociação. Você não deve assumir que Strategy Testing de uma estratégia de negociação fornecerá qualquer indicação de como sua carteira de títulos, ou uma nova carteira de títulos, pode executar ao longo do tempo. Você deve escolher suas próprias estratégias de negociação com base em seus objetivos específicos e tolerâncias de risco. Certifique-se de rever as suas decisões periodicamente para se certificar de que eles ainda estão consistentes com seus objetivos. O desempenho passado não é garantia de resultados futuros. Cópia 1998 ndash 2017 FMR LLC. Todos os direitos reservados. Backtesting um Crossover média móvel em Python com pandas Por Michael Halls-Moore em 21 de janeiro de 2017 No artigo anterior sobre Research Backtesting Ambientes Em Python Com Pandas criamos um ambiente de backtesting baseado em pesquisa orientada a objeto e testado em Uma estratégia de previsão aleatória. 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édia 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 maior tempo de retrocesso. 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 essa 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 cruzar 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 o preço de fecho barsClose 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, em vez 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 todas as funcionalidades 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. Subseqüentemente, a carteira é gerada com uma base de capital inicial de 100.000 USD e os retornos são calculados na curva de patrimônio líquido. O passo final é usar matplotlib para traçar um gráfico de dois dígitos de ambos os preços da AAPL, superposto com as médias móveis e sinais de compra / venda, bem como a curva de equidade com os mesmos sinais de compra / venda. 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, para que a saída gráfica permaneceu na vista. Os upticks rosa representam a compra do estoque, enquanto os downticks pretos representam vendê-lo de volta: Como pode ser visto a estratégia perde dinheiro durante o período, com cinco negócios de ida e volta. Isto não é surpreendente, tendo em conta o comportamento da AAPL ao longo do período, que registou uma ligeira tendência descendente, seguida de um aumento significativo a partir de 1998. O período de retrocesso dos sinais da média móvel é bastante grande e isso afectou 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. Michael Halls-Moore Mike é o fundador da QuantStart e tem estado envolvido na indústria de finanças quantitativas nos últimos cinco anos, principalmente como desenvolvedor quantitativo e, mais tarde, como consultor de comerciantes quant para hedge funds. Moving Averages: Strategies 13 Por Casey Murphy. Analista Sênior ChartAdvisor Diferentes investidores usam médias móveis por diferentes razões. Alguns usá-los como sua principal ferramenta analítica, enquanto outros simplesmente usá-los como um construtor de confiança para fazer backup de suas decisões de investimento. Nesta seção, bem apresentar alguns tipos diferentes de estratégias - incorporá-los em seu estilo de negociação é até você Crossovers Um crossover é o tipo mais básico de sinal e é favorecido entre muitos comerciantes, porque ele remove toda a emoção. O tipo mais básico de crossover é quando o preço de um recurso se move de um lado de uma média móvel e fecha-se no outro. Os crossovers dos preços são usados ​​por comerciantes para identificar mudanças no momentum e podem ser usados ​​como uma entrada ou uma estratégia básica da saída. Como você pode ver na Figura 1, uma cruz abaixo de uma média móvel pode sinalizar o início de uma tendência de baixa e provavelmente seria usado por comerciantes como um sinal para fechar quaisquer posições longas existentes. Inversamente, um fechamento acima de uma média móvel de baixo pode sugerir o início de uma nova tendência de alta. O segundo tipo de crossover ocorre quando uma média de curto prazo atravessa uma média de longo prazo. Este sinal é usado pelos comerciantes para identificar que o momento está mudando em uma direção e que um forte movimento provavelmente se aproxima. Um sinal de compra é gerado quando a média de curto prazo cruza acima da média de longo prazo, enquanto um sinal de venda é desencadeado por um cruzamento médio de curto prazo abaixo de uma média de longo prazo. Como você pode ver a partir do gráfico abaixo, este sinal é muito objetivo, que é por isso que é tão popular. Crossover Triplo e Faixa Média Movente Médias móveis adicionais podem ser adicionadas ao gráfico para aumentar a validade do sinal. Muitos comerciantes colocam as médias móveis de cinco, dez e vinte dias em um gráfico e esperam até que a média de cinco dias atravesse os outros, este é geralmente o sinal de compra primário. Esperar a média de 10 dias para cruzar acima da média de 20 dias é freqüentemente usado como confirmação, uma tática que muitas vezes reduz o número de sinais falsos. Aumentar o número de médias móveis, como visto no método triplo crossover, é uma das melhores maneiras de medir a força de uma tendência ea probabilidade de que a tendência vai continuar. Isso levanta a questão: o que aconteceria se você continuasse adicionando médias móveis Algumas pessoas argumentam que se uma média móvel é útil, então 10 ou mais devem ser ainda melhores. Isso nos leva a uma técnica conhecida como a fita média móvel. Como você pode ver no gráfico abaixo, muitas médias móveis são colocadas no mesmo gráfico e são usadas para avaliar a força da tendência atual. Quando todas as médias móveis estão se movendo na mesma direção, a tendência é dito ser forte. As reversões são confirmadas quando as médias se cruzam e se dirigem na direção oposta. A capacidade de resposta às mudanças de condições é explicada pelo número de períodos de tempo utilizados nas médias móveis. Quanto mais curtos os períodos de tempo usados ​​nos cálculos, mais sensível a média é a pequenas variações de preços. Uma das fitas mais comuns começa com uma média móvel de 50 dias e adiciona médias em incrementos de 10 dias até a média final de 200. Esse tipo de média é bom para identificar tendências / reversões de longo prazo. Filtros Um filtro é qualquer técnica utilizada na análise técnica para aumentar a confiança sobre um determinado comércio. Por exemplo, muitos investidores podem optar por esperar até que uma segurança cruza acima de uma média móvel e é, pelo menos, 10 acima da média antes de fazer um pedido. Esta é uma tentativa de certificar-se de que o crossover é válido e de reduzir o número de sinais falsos. A desvantagem de depender de filtros demais é que algum do ganho é dado acima e poderia conduzir à sensação como youve faltou o barco. Esses sentimentos negativos irão diminuir ao longo do tempo como você constantemente ajustar os critérios utilizados para o seu filtro. Não há regras definidas ou coisas para olhar para fora para quando a filtragem é simplesmente uma ferramenta adicional que lhe permitirá investir com confiança. Envelope Médio Móvel Outra estratégia que incorpora o uso de médias móveis é conhecida como um envelope. Essa estratégia envolve traçar duas bandas em torno de uma média móvel, escalonada por uma porcentagem específica. Por exemplo, no gráfico abaixo, um envelope 5 é colocado em torno de uma média móvel de 25 dias. Os comerciantes vão assistir a essas bandas para ver se eles agem como áreas fortes de apoio ou resistência. Observe como o movimento muitas vezes inverte a direção depois de se aproximar de um dos níveis. Um movimento de preço para além da banda pode sinalizar um período de exaustão, e os comerciantes irão assistir a uma inversão em direção à média center. Este é um teste de uma outra estratégia de negociação VIX do excelente Logical-Invest (ver nosso teste anterior de LIs bandas Bollinger) . Este usa um crossover de média móvel de 5/15 dias para trocar VIX ETPs como XIV (ou VXX curto). O gráfico abaixo mostra os resultados da estratégia de negociação XIV (azul), em comparação com a compra e exploração XIV (cinza), a partir de meados de 2004. Leia sobre pressupostos de teste. Ou obter ajuda na sequência desta estratégia. Regras de estratégia: Vá longo XIV no fechamento de hoje se sua média móvel simples de 5 dias (SMA) vai fechar acima de sua SMA de 15 dias. Segure até que seu SMA de 5 dias feche abaixo de sua SMA de 15 dias e, em seguida, mova para caixa. A estratégia (como a variação da banda de Bollinger) é de uma forma indireta uma estratégia de momentum. A estratégia está comprando XIV quando a sua recente força mostrando, e segurando até XIV se move para trás abaixo da sua média de médio prazo. Note que nosso backtest difere de Logical-Invests teste original de três maneiras: LIs teste começou no início de 2009. Weve adicionou quase 5 anos de dados simulados adicionais (1). O teste de LIs supor que nós shorted VXX. Enquanto Ive mostrou resultados negociando longo XIV para permitir uma comparação maçãs-a-maçãs com outros backtests aqui em Volatility Made Simple. LIs teste assumiu nós executados comércios nos próximos dias abertos, ao invés de fechar hoje. Eu testa no fechamento porque não há nenhum método de confiança para simular dados pré-2009 para o aberto. Como seria de esperar intuitivamente com base nas regras de estratégia, o seu feito um bom trabalho evitando a maioria dos XIVs levantamentos significativos porque a sua forçando a estratégia de dinheiro quando XIV começa a mover-se contra o comerciante, independentemente de todas as outras considerações, como o estado do futuro VIX Mas que a ânsia de sair posições rapidamente também deixa um monte de ganhos na mesa quando XIV está em uma tendência de alta consistente (ou seja, VXX está em uma forte tendência de baixa), como tem sido o caso nos últimos 2 anos. A estratégia de banda Bollinger testada anteriormente ajudou a responder que, tornando-se um pouco mais difícil sair posições (veja post para obter detalhes). Com base nos testes muito mais longos que Ive apresentou aqui, das duas variações, eu prefiro a banda Bollinger um. Um grande obrigado à Logical-Invest por publicar esta estratégia. Quando as estratégias que abordamos em nosso blog (incluindo este) sinalizam novos negócios, incluímos um alerta no relatório diário enviado aos assinantes. Isso é completamente independentes do nosso próprio sinal strategys apenas serve para adicionar um pouco de cor para o relatório diário e permite que os assinantes para ver o que outras estratégias quantitativas estão dizendo sobre o mercado. Clique para ver Volatility Made Simples própria solução elegante para o puzzle VIX ETP. Boa Negociação, Volatilidade Made Simple Nota Wonk: Dados antes do lançamento do XIV foi simulado. Foram capazes de fazer isso com precisão usando uma combinação dos índices e os dados de futuros em que este ETP é baseado. Leia mais sobre a simulação de dados para ETPs VIX. Navegação por mensagem Categorias Mensagens recentesTerminando as médias móveis Como se movimentar médias Como comerciante ou investidor, a única razão para investigar médias móveis é obter 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. Você pode obter sua cópia dos meus relatórios de backtesting sobre sinais de compra de média móvel clicando aqui.

No comments:

Post a Comment