Analisando transações em quantstrat Esta publicação será parte 1 de um seguimento para a publicação original, Estratégia de Estratégia de Movimento Simples com um Filtro de Volatilidade. Neste acompanhamento, vou dar uma olhada nas negociações individuais de cada estratégia. Isso pode fornecer informações valiosas para explicar a diferença no desempenho da Estratégia SMA com um filtro de volatilidade e sem um filtro de volatilidade. Felizmente, os criadores do pacote quantstrat tornaram muito fácil ver as transações com uma função simples e uma única linha de código. GetTxns (Portfólio, Símbolo, Datas) Para o resto da postagem, eu me referirei às estratégias como: Estrategia 1 Estratégia de Estratégia de Movimento Simples com Estratégia de Filtro de Volatilidade 2 Estratégia de Estratégia de Movimento Simples sem Filtro de Volatilidade É evidente a partir das curvas de equidade Na última publicação, que nenhuma das estratégias fez muito entre 2000 e 2017. Por essa razão, analisarei o período de 1990 a 2000 Estratégia 1 Transações Estratégia 2 Transações Para facilidade de comparação, exporei as transações para cada estratégia de excel e Alinhou os negócios o mais perto possível por data. Primeiro, olhemos os negócios destacados pelo retângulo vermelho. A Estratégia 2 executou um comércio por 548 unidades em 1131995 e fechou em 941998 para um lucro total de 278340,16. Em comparação, a Estratégia 1 executou um comércio por 247 unidades em 5191995 (cerca de 4 meses depois) e fechou em 941998 para um lucro total de 112.310,90. Esta é uma diferença significativa de 166.029. É claro que esse comércio único é fundamental para o desempenho da estratégia. Agora, vamos ver o comércio destacado pelo retângulo amarelo. Ambos os negócios foram encerrados em 10221999. A estratégia 1 resultou em uma perda de 2.250,45 e a Estratégia 2 resultou em um ganho de 15,706.648230, uma diferença de 17.957.09. A curva de equidade da Estratégia 1 em comparação com a Estratégia 2 mostra uma imagem mais clara da superação. Por que uma grande diferença Para um olhar ainda mais próximo, precisamos dar uma olhada na medida da volatilidade que usamos como filtro. Vou fazer algumas modificações na função RB para que possamos ver a medida de volatilidade e a mediana. O sd para 1995-01-13 é 0.0135 enquanto o SDEV é 8.924. O sd para 1995-05-19 é 0.0124 enquanto o SDEV é 21.168230 o SDEV é quase 3 vezes maior mesmo que nossa medida de volatilidade esteja indicando um período de baixa volatilidade (nota: o SDEV tem um impacto direto no dimensionamento da posição) Talvez devêssemos levar Um segundo olhar sobre a nossa escolha de medida de volatilidade. Se você quiser incorporar um filtro de volatilidade no seu sistema, escolha a medida de volatilidade com sabedoria8230 Obrigado pela publicação, estou ansioso para mais. Eu sou novo na programação de R e na negociação de tendências. Minha exposição na negociação de tendências vem principalmente da leitura dos livros de Michael Covels. Estou me perguntando qual é a melhor maneira de aprender sistemas de negociação de tendências. Não encontrei muitos detalhes além do sistema de breakout de canal donchian. Qual é a melhor maneira de aprender os sistemas táticos de negociação de tendências na sua opinião I8217m que gostou da postagem. Bem-vindo ao mundo da negociação de tendências e da programação R. A leitura de livros é uma boa maneira de começar e obter conhecimentos básicos de negociação, mercados, etc. A melhor maneira de aprender os sistemas de negociação is8230 começa a desenvolver, testar e negociar seus sistemas. Eu descreveria minha abordagem comercial como tendência sistemática de longo prazo Segue. Uma tendência de estratégia de seguimento pode ser difícil de negociar mentalmente depois de experimentar múltiplas perdas consecutivas quando um comércio se reverte devido a um aumento de volatilidade ou a tendência inverte. A volatilidade tende a aumentar quando os preços caem. Isso não é bom para uma única e longa estratégia seguindo, especialmente quando inicialmente entrando em negociações. Pode adicionar um filtro de volatilidade a um sistema simples melhorar o desempenho Sistema SMA com Regras de Filtro de Volatilidade Regra de Compra: Vá longo se fechar for maior do que o período N SMA e uma medida de volatilidade é menor do que a mediana nos últimos N períodos. Regra de Saída: Sair se longa e fechada for inferior ao período N SMA Sistema SMA sem Regras de Filtro de Volatilidade Regra de Compra: Vá longo se fechar for maior do que o período N SMA Regra de Saída: Sair se fechar for menor que o período N SMA Para isso Teste, a minha medida de volatilidade é o desvio padrão de 52 períodos da variação de 1 período de preços próximos e usarei uma SMA de 52 períodos. Vou testar a estratégia na série de retorno total do SampP500 usando preços semanais de 111990 a 4172017. yuck8230 as curvas de equidade parecem muito boas até 1999, então não são tão boas depois disso. Este teste mostra que adicionar um filtro de volatilidade às nossas entradas pode realmente prejudicar o desempenho. Tenha em mente que isso não significa um teste exaustivo em um único instrumento. Eu também escolhi o período SMA e o SDEV de 52 períodos de forma arbitrária porque representa um ano. Leitura através de fóruns de negociação, é claro para ver que as pessoas estão em busca do sistema comercial 8220holy grail8221. Algumas pessoas afirmam ter encontrado o sistema 8220holy grail8221, mas esse sistema geralmente é combinação de 10 indicadores e regras que dizem que o 8220 usa o indicador A, B e C quando o mercado está fazendo X ou usa os indicadores D, E e F quando o mercado Está fazendo Y.8221 Cuidado com estes 8220filters8221 e sempre teste você mesmo. Fique atento para postagens futuras que irão olhar para adicionar um filtro semelhante em um teste de instrumento múltiplo. O que você encontrou com a adição de filtros de entrada aos sistemas de negociação Disclaimer: resultados passados não garantem retornos futuros. As informações contidas neste site são apenas para fins informativos e não oferecem conselhos para comprar ou vender quaisquer valores mobiliários. Compartilhe isso: Gosto do seguinte: Postar navegação Deixe uma resposta Cancelar resposta Em geral, acho que os filtros são uma boa idéia para tentar limitar o número de posição quando os tradings estão selecionando um portfólio (também) grande (ou seja, siga os 100 instrumentos, mas apenas escolham os melhores 20 Ou qualquer número é retornado pelo (s) seu (s) filtro (s). Não tenho a certeza de que eles sempre podem agregar valor na prova FORWARD. Em alguns casos, eles fazem, e mesmo no exemplo que você escolheu. Eu fiz um estudo onde testei o mesmo conceito: os filtros de volatilidade no seguimento das tendências (em um portfólio diversificado de instrumentos) e apenas filtrar o decompo de volatilidade superior, pareceu melhorar os resultados, ainda melhor, ao filtrar volumes mais altos. Aqui está o estudo: automatizado-trading-systemvolatility-filters By the way, parece haver mais em mais bloggers R backtest hoje em dia. Desculpas por perguntar, mas o que atrai você para a plataforma de back-testing É custar, eu gosto de R como uma ferramenta de análise estatística off-line, mas eu realmente não me veria usando isso para backtests8230 Obrigado pelo feedback. I8217ve sido um seguidor do seu blog Au. Tra. Sy sobre o ano passado. Eu concordo que ter limites de risco ou filtros de risco é importante, essencialmente, permitir que você troque um portfólio infinitamente grande com uma quantidade limitada de capital. Adicionar valor ao teste direto é sempre a questão8230 I8217ll veja o estudo que você fez, obrigado pelo envio do link. Parece que existe uma linha fina quando um filtro de volatilidade funciona e quando não é 8217t. Eles tendem a trabalhar e limitam a redução geral, mas à custa do desempenho. Tudo depende do que você está otimizando (MAR, RAR, Retorno Total, outras razões de felicidade). Pelo menos, podemos executar testes para entender os impactos e tomar uma decisão informada se quisermos adicionar um certo grau de liberdade (filtro) ao nosso sistema. O que me atrai para R é a flexibilidade, grande biblioteca de pacotes, facilidade de uso, e é um software livre de código aberto. O pacote Quantstrat e o pacote Performance Analytics facilitam a execução de backtests, análises personalizadas e gráficos com apenas algumas linhas de código. Quando inicialmente me interessei em negociação sistemática, quase não tinha experiência em programação. Eu queria a flexibilidade para criar meus próprios sistemas, mas aprender a sintaxe tradeblox ou a sintaxe de receitas comerciais era muito intimidante e não estava confortável gastar vários milhares de dólares em uma plataforma de backtesting para aprender uma linguagem que talvez não consiga usar. Na minha opinião, tradingblox é como o ferrari de testes e plataformas de geração de pedidos, eu definitivamente poderia me ver me movendo para uma plataforma como essa. Mas por enquanto, R faz tudo do que preciso e aproveito para usá-lo. Vocês estão bem-vindos Ross. Eu acho que um dos problemas dos filtros é que eles resultam em oportunidades perdidas (ou seja, pode tirar você de 9 8220bad8221 comércios de 10, mas com o décimo mais do que compensar os 9 más). Ao testar com um instrumento, isso provavelmente resulta em maior impacto no desempenho. Ao testar a comercialização de um portfólio diversificado completo (como no meu estudo), os efeitos da diversificação contrariariam essa queda potencial. De certa forma, é mais a diversificação do que a tendência que é sua amiga. Obrigado pelo feedback sobre R. Para mim, parece um pouco mais complicado executar back-tests lá e não consegui ver uma vantagem clara sobre a Trading Blox ou outras plataformas (além do custo), mas para cada uma delas (mente Você não é tão direto também). Da minha experiência, concordo com ambos sobre o uso de R vs TB ou outro software. Eu avaliei o TradingBlox e encontrei a arquitetura do it8217s perto do domínio de Automated Trading, pois é muito flexível na criação de portfólio de estratégias e executar backtests neles. No entanto, como o rbresearch mencionou, o idioma é uma merda. R do outro lado ajuda muito na análise de dados com facilidade. Atualmente criei meu próprio sistema automatizado que foi inspirado por TB, MT4, TS e também por R. Eu integrar com R para fazer a maior parte da análise e geração de grafos. Os pacotes incluídos em R não têm preço. Estratégia média simples móvel com um filtro de volatilidade: Acompanhamento Parte 2 Na Parte de Acompanhamento 1. Explorou algumas das funções no pacote quantstrat que nos permitiu detalhar o comércio por comércio para Explique a diferença no desempenho das duas estratégias. Ao fazer isso, descobri que a minha escolha de uma medida de volatilidade talvez não tenha sido a melhor escolha. Embora o filtro de volatilidade me manteve fora dos negócios durante períodos de maior volatilidade, também teve um impacto negativo no dimensionamento da posição e no retorno geral. A medida de volatilidade apresentada na publicação original foi o desvio padrão de 52 períodos da variação de 1 período de preços fechados. Eu fiz um indicador personalizado para incorporar o filtro de volatilidade na regra de compra. Aqui está a função RB original: o novo filtro de volatilidade será o desvio padrão de 52 períodos de preços fechados. Agora, a regra de compra pode ser interpretada da seguinte maneira: Regra de compra: Vá longo se fechar for maior que o SMA de 52 períodos e o desvio padrão de 52 períodos de preços fechados é menor do que a sua mediana nos últimos N períodos. Regra de Saída: Sair se longo e fechar for menor do que o período N SMA Uma ligeira alteração na função RB fará o truque, vou chamar RBrev1 (esse é o meu lado criativo). Vou testar a estratégia no ajuste ajustado Da SampP500 usando preços semanais de 111990 a 112000, assim como na publicação anterior. E o vencedor is8230 ambos Não há diferença no desempenho neste único instrumento nesta janela específica de tempo que usei para o teste. Sempre faça seus próprios testes para decidir se um filtro de qualquer tipo irá adicionar valor ao seu sistema. Este teste de instrumento único na série de postagens mostrou que a escolha do filtro de volatilidade 8220wrong8221 pode dificultar o desempenho e outra opção de filtro de volatilidade não tem muito impacto, se houver. Como você acha que o filtro de volatilidade afetará um teste de instrumento múltiplo Nunca perca uma atualização Inscreva-se em R-bloggers para receber e-mails com as últimas postagens R. (Você não verá esta mensagem novamente).
No comments:
Post a Comment