Tuesday 27 March 2018

FOSS Trading



Comércio algorítmico com software livre de código aberto.
Sábado, 26 de março de 2011.
Como testar uma estratégia em R.
A função getSymbols no quantmod facilita este passo se você puder usar dados diários do Yahoo Finance. Há também "métodos" (não no sentido estrito) para extrair dados de outras fontes (FRED, Google, Oanda, R, salvar arquivos, bancos de dados, etc.). Você também pode usá-los como um modelo para escrever uma função personalizada para um fornecedor específico que você usa.
Etapa 2: crie seu indicador.
O pacote TTR contém uma multiplicidade de indicadores. Os indicadores são escritos para facilitar a combinação de formas criativas e não convencionais. Começando com a revisão 106 na R-forge, a TTR possui um indicador DVI.
Passo 3: Construa sua regra de negociação.
Uma vez que esta regra de negociação é simples - ficamos 100% longos se o DVI for inferior a 0,5 e curto de 100% caso contrário - pode ser escrito em uma única linha. Regras mais elaboradas e / ou posicionamentos de posição também podem ser feitas, mas requerem mais código (RSI (2) com o dimensionamento de posição é um exemplo de regras de dimensionamento de posição mais complexas). Observe também que o vetor de sinal está defasado, o que evita o viés de avanço.
Passo 4: A curva de negociação / equidade.
Tal como no exemplo de Damian, o código abaixo é uma abordagem simplificada que é fricção e não explica a derrapagem. O código abaixo leva o retorno percentual de hoje e o multiplica pelo tamanho do sinal / posição de ontem (sempre +/- 100% neste exemplo). Eu também subconjunto o sistema retorna para coincidir com os resultados no arquivo do Excel.
Etapa 5: Avalie o desempenho da estratégia.
Damian mencionou a importância de avaliar sua estratégia. Felizmente, para os usuários de R, o pacote PerformanceAnalytics facilita isso. Com algumas linhas de código, podemos ver os drawdowns, os riscos de downside e um resumo de desempenho.
Isso é tudo o que há para testar uma estratégia simples em R. Não foi tão intimidante, foi? Deixe comentários se você estiver movendo seu backtesting do Excel para R e há algo em que você está desligado ou você tem uma ótima dica que você gostaria de compartilhar.

Estratégia de negociação de backtest em r
Vamos explorar as capacidades de backtesting de R.
Em uma publicação anterior, desenvolvemos algumas oportunidades de entrada simples para o USD / CAD usando um algoritmo de aprendizado de máquinas 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 postagem anterior e implementando tirar lucros e parar as perdas.
Vamos mergulhar direito: Nota: o backtest é construído com as barras de 4 horas em nosso conjunto de dados e não tem uma visão mais granular.
A CAGR (taxa de crescimento anual composta) é o percentual de perda / lucro anualizado, o que significa que suaviza o crescimento em parcelas iguais a cada ano. Uma vez que o nosso teste acabou, 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 de tirar proveito.
Bloquear nossos ganhos com um lucro obtido melhorou ligeiramente o desempenho, mas não de forma drástica. Vamos incorporar uma perda de parada e um lucro obtido.
Agora, vamos comparar a estratégia Long Short da linha de base, com apenas uma perda de parada, apenas um lucro, e tanto uma perda de parada e aproveitar o lucro.
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. Para 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.

Estratégias de Backtesting com R.
2016-05-06.
Capítulo 1 Introdução.
Este livro foi concebido para não apenas produzir estatísticas em muitos dos padrões técnicos mais comuns no mercado de ações, mas para mostrar trades reais em tais cenários.
Teste uma estratégia; rejeitar se os resultados não são promissores.
Aplique uma série de parâmetros para estratégias de otimização.
Tentativa de matar qualquer estratégia que pareça promissora.
Deixe-me explicar esse último um pouco. Só porque você pode encontrar uma estratégia que parece superar o mercado, ter bons lucros e baixa redução, isso não significa que você tenha encontrado uma estratégia para trabalhar. Pelo contrário, você deve trabalhar para refutá-lo. Nada é pior do que colocar uma estratégia não lucrativa para o trabalho, porque não foi testado rigorosamente. Vamos abordar isso mais tarde.
1.1 R Resources.
Este livro supõe que você tenha pelo menos um conhecimento básico de trabalho da plataforma R. Se você é novo em R ou precisa de uma atualização, o seguinte site deve ser benéfico:
Além disso, os pacotes utilizados neste livro podem ser encontrados no TradeAnalytics projetado no R-Forge. Você encontrará fóruns e código-fonte que ajudaram a inspirar este livro.
Eu também recomendo que você leia as apresentações de Guy Yollin no backtesting, bem como a apresentação do Quantstrat usando Jan Humme e Brian Peterson.
Este livro não se destina a substituir nenhum dos recursos existentes em estratégias de backtesting em R. Em vez disso, a intenção é aprimorar e agilizar esses recursos. Se algo não for abordado neste livro, leia as apresentações acima.
Além disso, este livro é de código aberto. Qualquer pessoa é bem-vinda a contribuir. Você pode encontrar o código fonte disponível na minha conta do Github.
1.2 Bibliotecas.
A única biblioteca necessária necessária para executar estratégias de teste é quantstrat. Quantstrat irá carregar todas as bibliotecas adicionais necessárias.
Esta versão do quantstrat inclui os seguintes pacotes, entre outros:
Com essas bibliotecas, teremos tudo o que precisamos para testar completamente as estratégias e medir o desempenho. Consulte 1.3 SessionInfo para obter mais detalhes.
Bibliotecas adicionais que podemos usar para análise ou apresentação de livros:

Estratégia de negociação de backtest em r
Obter através da App Store Leia esta publicação em nosso aplicativo!
R: Backtesting uma estratégia de negociação. Iniciantes para quantmod e R.
Eu sou muito novo para a R e tentando testar uma estratégia que já programei no WealthLab.
Várias coisas que eu não entendo (e isso não funciona obviamente :)
Eu não consigo os Close Prices muito bem em um vetor. ou algum tipo de vetor, mas ele começa com a estrutura e eu realmente não entendo o que essa função faz. É por isso que a minha série [, 1] provavelmente não funciona.
n & lt; - nrow (series) 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.
Começando com a segunda pergunta.
Então, se você quiser trabalhar no objeto xts real, você precisa usar get.
Sobre sua primeira pergunta - eu não acho que você realmente precisa puxar os dados como um vetor - o objeto xts é uma matriz indexada por data e é fácil de trabalhar. Se você ainda deseja obter os dados que você pode usar.
Agora, para que você comece com um simples teste de respostas de estratégias, sugerirei trabalhar nas seguintes etapas.
defina sua estratégia. 2. Crie uma matriz ou adicione uma coluna ao seu objeto xts que representará sua posição para cada dia. 1 por muito tempo, 0 para nenhuma posição e -1 para breve (mais tarde você pode jogar com o número de alavancagem). 3. multiplique cada dia retorna com a posição e você obterá seu vetor de retorno de estratégia. 4. examine os resultados - minha recomendação é PerformanceAnalytics.
Estratégia simples - compre quando estiver perto da SMA20, venda abaixo.

No comments:

Post a Comment