Movendo média estratégia backtest
Médias móveis: Estratégias 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 qualquer posições longas existentes. Por outro lado, 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 por comerciantes para identificar que o momentum está deslocando em uma direção e que um movimento forte está aproximando provavelmente. 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 no gráfico abaixo, este sinal é muito objetivo, que é por isso que é tão popular. Crossover Triplo e Faixa Média Móvel As 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 avaliar 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 acrescentando 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 acrescenta médias em incrementos de 10 dias até a média final de 200. Esse tipo de média é bom para identificar tendências de tendências 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 atravessa 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 é desistido e ele poderia levar a sentir como você perdeu o barco. Esses sentimentos negativos irão diminuir ao longo do tempo conforme você constantemente ajustar os critérios utilizados para o seu filtro. Não há regras estabelecidas 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. Esta estratégia envolve traçar duas bandas em torno de uma média móvel, escalonada por uma taxa percentual 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 irã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 além da banda pode sinalizar um período de exaustão e os comerciantes vão assistir a uma inversão em direção à média center. Backtesting um Crossover média móvel em Python com pandas No artigo anterior sobre Pesquisa Backtesting Ambientes Em Python Com Pandas criamos um objeto Baseado em pesquisa 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é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 lookback 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. Apenas começando com Quantitative TradingTypically, duas médias móveis podem ser usadas para criar uma estratégia de forex (EA para MT4) com estas regras: Compre quando a média móvel de curto período está acima da média móvel de longo período Vender quando a média móvel de longo período está acima A média móvel de curto período No gráfico a seguir do MetaTrader Terminal, a linha amarela é a média móvel de período curto (Period9) ea linha vermelha é a média móvel de período longo (Period18). Analizando o gráfico, poderíamos reescrever as regras de negociação ou sinais de forex como: Compre quando a linha amarela está acima da linha vermelha Venda quando a linha amarela está abaixo da linha vermelha Em vez de gastar muito tempo codificando esta estratégia forex, com Molanis Strategy Builder Você pode criar um diagrama de negociação que representa a estratégia de média móvel em minutos. Basta arrastar e soltar dois blocos de análise técnica, um bloco de compra e um bloco de venda. Conecte-os e defina os parâmetros de bloco para obter um diagrama como o seguinte: Este diagrama de negociação tem dois caminhos de negociação. A esquerda é realçada. Ele vai do bloco START ao bloco END. Podemos lê-lo como: Compre 1 lote de EURCAD (com um 100 Pip Take Profit e 50 pip Stop Loss) quando a média móvel de curto período (9) está acima da média móvel de longo período (18). Lembre-se de ler o diagrama de negociação em sentido oposto ao fluxo de negociação. O caminho correto de negociação pode ser lido como: Vender 1 lote de EURCAD (com um 100 Pip Take Profit e 50 pip Stop Loss) quando a média móvel de longo período (18) está acima da média móvel de curto período (9). Gerando o código MQL para o MetaTrader com apenas um clique No menu Diagrama de negociação, clique em Gerar código MQL4 para obter a janela do código MQL4. Molanis Strategy Builder permite que você abra seu consultor perito diretamente com MetaTrader ou salvá-lo como um arquivo MQ4. Não perca nosso tutorial em vídeo sobre
Comments
Post a Comment