Tuesday 5 December 2017

Backtesting estratégias de negociação com r


Eu sou muito novo para a R e tentando testar uma estratégia que eu já programei no WealthLab. Várias coisas que eu não entendo (e isso não funciona obviamente). Eu não entendo os Close Prices muito bem num vetor. Ou algum tipo de vetor, mas começa com a estrutura e eu realmente não entendo o que essa função faz. É por isso que minha série, 1 chamada provavelmente não funciona. N ltnrow (série) também não funciona, mas eu preciso disso para o loop. Então, acho que se eu receber essas 2 perguntas respondidas, minha estratégia deveria funcionar. Estou muito agradecido por qualquer ajuda ... R parece bastante complicado, mesmo com a experiência de programação em outras línguas, sim, eu copiei algumas linhas de código deste tutorial e realmente não entendo essa linha. Eu significo séries, 1 eu pensei que aplicaria a função f na quotcolumnquot 1 da série. Mas, uma vez que esta série é alguma completa com estrutura, etc., ela não funciona. Estou falando sobre este tutorial: r-bloggersbacktesting-a-trading-strategy ndash MichiZH 6 de junho 13 em 14: 22 Como Backtest uma estratégia em R Exploraremos as capacidades de backtesting de R. Em uma publicação anterior, desenvolvemos algumas oportunidades de entrada simples Para o USDCAD usando um algoritmo de aprendizado de máquina e técnicas de um subconjunto de mineração de dados chamado aprendizagem de regras de associação. Nesta publicação, vamos explorar como fazer um backtest completo em R usando nossas regras da publicação anterior e implementar lucros e parar as perdas. Vamos mergulhar diretamente: Nota: o backtest é construído nas barras de 4 horas em nosso conjunto de dados e não tem uma visão mais granular. O CAGR (taxa de crescimento anual composta) é o percentual de perda de ganhos anualizado, o que significa que suaviza o crescimento em parcelas iguais a cada ano. Desde o início do nosso teste, veja se podemos melhorar o desempenho, adicionando uma perda de parada e aproveitamos o lucro. Com apenas uma parada, o desempenho diminuiu. Parece que estamos sendo retirados de nossos negócios antes que eles possam se recuperar. A fim de bloquear nossos lucros, vamos avançar e implementar um lucro obtido. Bloquear nossos ganhos com um lucro obtido melhorou ligeiramente o desempenho, mas não de forma drástica. Permite incorporar uma perda de stop e um lucro de tomada. Agora, vamos comparar a estratégia Long Short da linha de base, com apenas uma perda de parada, apenas um lucro de tomada, e tanto uma perda de parada e tirar proveito. Agora, você sabe como adicionar um lucro e parar a perda, recomendo que você brinque com os dados e teste diferentes valores com base em seus próprios parâmetros de risco pessoais e usando suas próprias regras. Mesmo com algoritmos poderosos e ferramentas sofisticadas, é difícil construir uma estratégia bem-sucedida. Por cada boa idéia, tendemos a ter muitos mais maus. Armado com as ferramentas e conhecimentos certos, você pode testar suas idéias eficientemente até chegar aos bons. Nós simplificamos esse processo na TRAIDE. Desenvolvemos uma infra-estrutura de teste que permite que você veja onde os padrões estão em seus dados e veja em tempo real como eles teriam realizado sobre seus dados históricos. Bem, estará lançando a TRAIDE para 7 pares principais no mercado FX com indicadores técnicos em duas semanas. Se você está interessado em testar o software e fornecer feedback, envie um e-mail para infoinovancetech. Temos 50 pontos disponíveis. Backtesting de uma estratégia simples de negociação de ações Nota: Esta publicação não é um conselho financeiro Esta é apenas uma maneira divertida de explorar alguns dos recursos que R tem para importar e manipular dados. Recentemente, li uma publicação no ETF Prophet que explorou uma estratégia de negociação de ações interessante no Excel. A estratégia é simples: encontre o ponto alto do estoque nos últimos 200 dias e conte o número de dias decorridos desde aquela alta. Se tiver sido mais de 100 dias, possui o estoque. Se isso acontecesse há mais de 100 dias, don8217t é o próprio. Esta estratégia é muito simples, mas produz resultados impressionantes. (Note, no entanto, que este exemplo usa dados que não foram ajustados de divisões ou dividendos e podem conter outros erros. Além disso, nós ignoramos custos de negociação e atrasos de execução, o que afeta o desempenho da estratégia.) Implementar esta estratégia em R é simples, E oferece inúmeras vantagens em relação ao excel, cujo principal é que tirar dados do mercado de ações em R é fácil e podemos testar essa estratégia em uma ampla gama de índices com relativamente pouco esforço. Em primeiro lugar, nós baixamos dados para GSPC usando quantmod. (GSPC significa índice SampP 500). Em seguida, construímos uma função para calcular o número de dias desde a alta de n-dia em uma série temporal e uma função para implementar nossa estratégia de negociação. A última função leva 2 parâmetros: o máximo de n-dia que você deseja usar, e os números de dias depois dessa altura você segurará o estoque. O exemplo é de 200 e 100, mas você poderia facilmente mudar isso para o máximo de 500 dias e ver o que acontece se você armazenar o estoque 300 dias depois antes de sair. Uma vez que esta função está parametrizada, podemos testar facilmente muitas outras versões da nossa estratégia. Assumimos o início da nossa estratégia com zeros, por isso será o mesmo comprimento que os nossos dados de entrada. (Se desejar uma explicação mais detalhada da função daysSinceHigh, veja a discussão sobre validação cruzada). Nós multiplicamos nosso vetor de posição (0,1) pelos retornos do índice para obter nossos retornos de estratégia8217s. Agora, construímos uma função para retornar algumas estatísticas sobre uma estratégia comercial e comparamos nossa estratégia com o benchmark. Um pouco arbitrariamente, I8217ve decidiu analisar o retorno cumulativo, o retorno anual médio, a proporção de sharpe, o vencedor, a volatilidade média anual, a redução máxima e a redução do comprimento máximo. Outras estatísticas seriam fáceis de implementar. Como você pode ver, esta estratégia se compara favoravelmente à abordagem 8220buy-and-hold8221 padrão. Finalmente, testamos nossa estratégia em 3 outros índices: FTSE que representa a Irlanda e o Reino Unido, o Dow Jones Industrial Index. Que remonta a 1896, e a N225. Que representa o Japão. I8217ve funcionalizado todo o processo, para que você possa testar cada nova estratégia com 1 linha de código: Nunca perca uma atualização Assine os R-bloggers para receber e-mails com as últimas postagens R. (Você não verá esta mensagem novamente).

No comments:

Post a Comment