Mudança Média De Teste


Médias móveis simples - Testes de negociação Os parâmetros de média móvel são os melhores. Este site tem um oceano de backtests de média móvel que eu realizei para o DAX, SP500 e também o USDEU (Forex). Esses testes foram feitos usando diferentes estratégias de sinal: variáveis ​​simples e exponencial e diferentes índices para um período de tempo de 1000 dias de negociação. Em contraste com outros sites, eu testei todos os valores da média diária móvel de 1 a 1000 dias, pois as estratégias de cross-over também em combinação. Estes dados também são unqiue, pois tentei realizar testes realistas, simulando a propagação de buysell e impostos para Comparação com uma estratégia de referência (buy hold). Um valor de janela que reage rápido parece ser bom em teoria e com um teste simples. Mas a propagação, taxas e impostos destruirão todo o desempenho em 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-o. Visão geral: este site educacional gratuito destina-se a permitir que você compare as estratégias de negociação técnicas populares tão cientificamente quanto possível através do teste de backtesting. Em geral, é bastante difícil vencer constantemente o mercado e você deve estar cético em relação a qualquer coisa que lhe diga o contrário. Este site permite que você tente testar algumas estratégias técnicas comuns para ver como eles teriam realizado contra o mercado e permitir que você examine os estoques que atendem aos seus critérios de negociação. As estratégias que acompanham bem, é claro, não garantem o sucesso no futuro, mas podem ter uma maior probabilidade de se comportarem bem. Backtesting também permite que você veja as condições do mercado em que uma determinada estratégia irá funcionar bem. Por exemplo, se você tiver certeza de que o mercado estará ajustado para o futuro, você pode descobrir quais estratégias funcionam melhor neste tipo de mercado. Isso é feito por backtesting em períodos históricos que foram vinculados e vendo quais estratégias são melhores. Backtesting também ajuda você a ver quais parâmetros de estratégia são mais robustos em diferentes períodos de tempo. Por exemplo, uma perda de 10 paradas supera os 5 períodos de perdas de 9 períodos de tempo históricos de 10. Assim, o backtesting pode fornecer informações comerciais valiosas, embora não possa garantir o futuro. Algumas coisas interessantes que você pode descobrir: a combinação de negociações e comissões ativas pode limpá-lo, mesmo que você tenha uma boa porcentagem de negociações vencedoras. Paradas de arranque realmente apertadas podem prejudicar seriamente a sua rentabilidade a longo prazo e não reduzem a redução de custos tanto quanto você poderia esperar Estratégias que você pensou que seriam boas que consistentemente dão um desempenho inferior às orientações do mercado (Single Stock Backtesting): Selecione o estoque no qual você deseja testar sua estratégia técnica. Capital inicial: quantidade de dinheiro que você começa com Stoploss: ponto no qual deseja sair de uma posição em frente a você. Uma parada regular significa que você vai sair da sua posição se o estoque cair uma porcentagem definida abaixo, onde você comprou. Parada final: Digamos que você compre um estoque às 10 e coloque uma parada de 10 trilhas. Se o estoque caindo 10 sem ir mais alto, você venderá em 9. Mas se o estoque subiu para 15, em seguida, 10 a 13,5, você vai vender às 13,5 e bloquear algum ganho. Objetivo: Vender quando seu estoque atingir um determinado ganho de porcentagem (pode desativar selecionando Não Usar Alvo) Data de Início Data: Selecione as datas históricas entre as quais deseja testar a estratégia. Sinais: os sinais envolvem cruzamentos ou relações entre preços e indicadores técnicos. Por exemplo, a cruz dourada, compre quando a média móvel simples de 50 dias (sma) cruza acima da sma de 200 dias e vende quando os 50 dias se cruzam abaixo dos 200 dias (cruz de morte). Os links a seguir explicam alguns indicadores técnicos populares: Get TradesGraph: Obter trades, literalmente, mostrará os negócios que você teria feito se você voltasse no tempo com um resumo do desempenho incluído. Os testes estatísticos: teste para ver se o retorno diário médio da estratégia é o mesmo que o retorno diário médio do SampP 500 ou o mesmo que o retorno diário médio de compra e retenção durante o período de tempo. Queremos saber o quão confiável podemos ser para rejeitar que os dois retornos são os mesmos. Quanto maior a confiança, mais certeza de que sua estratégia é realmente melhor que o SampP 500 ou compre e segure. O gráfico traça o valor do portfólio ao longo do tempo com um resumo incluído do desempenho. Diretrizes (PortTester Beta): Isso é para testar uma estratégia que você aplicaria ao seu portfólio à medida que as ações atingissem seus sinais técnicos de compra e venda. Na primeira caixa de texto, insira os tickers para a cesta de ações em que deseja testar sua estratégia técnica. Insira cada ticker separado por um espaço. Os estoques atualmente disponíveis incluem os 30 estoques de dow, AA AXP BA BAC CAT CSCO CVX DD DIS GE HD HPQ IBM INTC JNJ JPM KFT KO MCD MMM MRK MSFT PFE PG T TRV UTX VZ WMT XOM. Para incluir todos os 30 no backtest, basta digitar DJIA o padrão. Número de Posições Abertas: Este é o número de ações que deseja ter e não mais. Por exemplo, dizemos que deseja segmentar 2 posições abertas. Quando o backtester encontrar um sinal de compra em uma das ações que você colocou na cesta, digamos GE, assumirá que a GE foi comprada. Agora procurará mais 1 estoque para comprar quando houver um sinal de compra, diga BAC. Você agora possui um portfólio de 2 posições abertas (GE e BAC) e o backtester não comprará mais até que um sinal de venda venda uma das ações. Um portfólio diversificado provavelmente deve ter 10 ou mais ações, mas isso requer muito poder de computação para backtest. Assim, um pequeno portfólio como o padrão de 5 posições abertas será suficiente para ter uma idéia de um desempenho de estratégias. De notar, para os investidores com uma pequena quantidade de capital, digamos 10.000, é caro negociar um grande número de posições com 20 comissões para trocas de ida e volta. Os ETFs são uma maneira barata de se diversificar. Capital de início: quantidade de dinheiro que você começa com a Comissão de Negociação: montante que você paga TDAmeritrade, SOGO, ScottTrade, etc. para negociar um dimensionamento de posição de ações: é assim que você decide comprometer uma certa quantia de dinheiro para cada ação em sua carteira. Atualmente, apenas uma opção (Equal Cash Allocation) está disponível. Isso significa que se eu tiver 10.000 e eu quero entrar em 2 posições, eu colocarei 5000 em cada menos comissões. Em outras palavras, o dinheiro disponível será igualmente dividido em novas posições até chegar ao meu alvo n número de posições abertas. Outras opções para vir serão igual número de ações e regras de dimensionamento de posição baseadas em volatilidade. Stoploss: ponto em que você quer sair de uma posição em movimento contra você. Digamos que você compre um estoque às 10 e coloque uma parada de 10 paradas. Se o estoque caindo 10 sem ir mais alto, você venderá em 9. Mas se o estoque subiu para 15, em seguida, 10 a 13,5, você vai vender às 13,5 e bloquear algum ganho. Start DateEnd Date: Selecione as datas históricas entre as quais deseja testar a estratégia. O backtester começará na data de início em dados históricos e procurará os estoques que você selecionou até multar um sinal de compra. Se nenhum sinal de compra for encontrado no primeiro dia, o backtester se desloca para o dia seguinte e procura através de todos os estoques na cesta até encontrar um sinal de compra no qual o estoque é assumido para ser comprado ao preço fechado ajustado para divisões e Dividendos. Assim que um estoque é comprado, o backtester procurará vender esse estoque quando chegar um sinal de venda. Ele também continua a procurar comprar ações até atingir o número alvo de posições abertas. Ao mesmo tempo, venderá quaisquer posições existentes se ocorrer um sinal de venda. O valor do portfólio é calculado todos os dias até a data de término. Sinais: os sinais envolvem cruzamentos ou relações entre preços e indicadores técnicos. Por exemplo, a cruz dourada, compre quando a média móvel simples de 50 dias (sma) cruza acima da sma de 200 dias e vende quando os 50 dias se cruzam abaixo dos 200 dias (cruz de morte). Obter TradesGraph: Obter negócios, literalmente, mostrar-lhe-á os negócios que você teria feito se você voltasse no tempo com um resumo do desempenho incluído. O gráfico traça o valor do portfólio ao longo do tempo com um resumo incluído do desempenho. Disclaimer: o stockbacktest não endossa nem recomenda nenhuma das estratégias ou títulos neste site. O conteúdo deste site é para fins informativos e não deve ser tomado como conselho de investimento. O stockbacktest não se responsabiliza por quaisquer erros neste site ou ações tomadas com base neste conteúdo de sites. Testando um Crossover Médio Mínimo em Python com pandas No artigo anterior sobre Ambientes de Backtesting de Pesquisa Em Python Com Pandas criamos uma pesquisa orientada a objetos Baseado no ambiente de backtesting e testou-o 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 de média móvel na AAPL. Estratégia de Crossover média móvel A técnica de Crossover de média móvel é uma estratégia de impulso simplista extremamente conhecida. Muitas vezes é considerado o exemplo do Hello World para negociação quantitativa. A estratégia descrita aqui é longa apenas. São criados dois filtros de média móvel simples separados, com diferentes períodos de lookback, de uma série temporal específica. Os sinais para comprar o recurso ocorrem quando a média móvel de lookback mais curta excede a média móvel de lookback mais longa. Se a média mais longa exceder a média mais curta, o ativo é vendido de volta. A estratégia funciona bem quando uma série temporal entra em um período de forte tendência e, em seguida, inverte lentamente a tendência. Para este exemplo, escolhi a Apple, Inc. (AAPL) como a série temporal, 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 de tirolesa. Assim, se quisermos implementar nosso próprio backtester, precisamos garantir que ele coincida com os resultados na linha aérea, 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 particular eu 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 sub-classificar a classe básica abstrata Estratégia para produzir MovingAverageCrossStrategy. Que contém todos os detalhes sobre como gerar os sinais quando as médias móveis da AAPL se cruzam. O objeto requer uma janela curta e uma longa janela para operar. Os valores foram configurados 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 pandas rollingmean no preço de fechamento do fechamento de barras do estoque AAPL. Uma vez que as médias móveis individuais foram construídas, a série do sinal é gerada definindo a coluna igual a 1,0 quando a média móvel curta é maior do que a média móvel longa, ou 0,0 caso contrário. A partir disso, as ordens de posições podem ser geradas para representar sinais de negociação. O MarketOnClosePortfolio é subclassado do Portfolio. Que é encontrado em backtest. py. É quase idêntico à implementação descrita no tutorial anterior, com a exceção de que os negócios são agora realizados em uma base Close-to-Close, em vez de Open-to-Open. Para obter detalhes sobre como o objeto Portfolio está definido, consulte o tutorial anterior. Eu deixei o código em completo e mantenho esse tutorial autônomo. Agora que as classes MovingAverageCrossStrategy e MarketOnClosePortfolio foram definidas, uma função principal será chamada para amarrar toda a funcionalidade em conjunto. Além disso, o desempenho da estratégia será examinado através de um gráfico da curva de equidade. O objeto DataReader de pandas baixa os preços de ações da AAPL da OHLCV para o período de 1º de janeiro de 1990 a 1º de janeiro de 2002, em que ponto os sinais DataFrame são criados para gerar os sinais de longo tempo. Posteriormente, o portfólio é gerado com uma base de capital inicial de 100.000 USD e os retornos são calculados na curva de patrimônio. O passo final é usar matplotlib para plotar um gráfico de dois dígitos de ambos os preços AAPL, superado com as médias móveis e os sinais de buysell, bem como a curva de equidade com os mesmos sinais de compra. O código de plotagem é tomado (e modificado) do exemplo de implementação de tirolesa. A saída gráfica do código é a seguinte. Eu usei o comando de pasta IPython para colocar isso diretamente no console do IPython, enquanto no Ubuntu, de modo que a saída gráfica permaneceu em exibição. As barras-de-rosa cor-de-rosa representam a compra do estoque, enquanto os bastões 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. Isso não é surpreendente, dado o comportamento da AAPL durante o período, que estava em uma ligeira tendência descendente, seguido de um aumento significativo em 1998. O período de lookback dos sinais da média móvel é bastante grande e isso impactou o lucro do comércio final , O que de outra forma pode ter tornado a estratégia rentável. Em artigos subseqüentes, criaremos um meio mais sofisticado de análise de desempenho, bem como descrevendo como otimizar os períodos de lookback dos sinais individuais de média móvel.

Comments

Popular Posts