Sunday 1 April 2018

Estratégias de negociação backtest


Backtesting: interpretando o passado.


Backtesting é um componente chave do desenvolvimento efetivo do sistema comercial. É conseguido reconstruindo, com dados históricos, trades que teriam ocorrido no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas que podem ser usadas para avaliar a eficácia da estratégia. Usando esses dados, os comerciantes podem otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas e ganhar confiança em sua estratégia antes de aplicá-la aos mercados reais. A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro, e, inversamente, qualquer estratégia que tenha tido um desempenho fraco no passado provavelmente irá apresentar um desempenho fraco no futuro. Este artigo analisa o que os aplicativos são usados ​​para testar, o tipo de dados obtidos e como usá-lo!


Os dados e as ferramentas.


Lucro ou prejuízo líquido - Ganhos ou perdas de percentagem líquida. Prazo - Datas passadas nas quais o teste ocorreu. Universo - estoques incluídos no backtest. Medidas de volatilidade - percentual máximo para cima e para baixo. Médias - Ganho médio percentual e perda média, barras médias mantidas. Exposição - Porcentagem de capital investido (ou exposto ao mercado). Razões - Índice de vitórias para perdas. Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco.


Normalmente, o software backtesting terá duas telas que são importantes. O primeiro permite ao comerciante personalizar as configurações de backtesting. Essas personalizações incluem tudo, desde o período de tempo até os custos de comissão. Aqui está um exemplo dessa tela em AmiBroker:


A segunda tela é o relatório de resultados de backtesting. Aqui é onde você pode encontrar todas as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela em AmiBroker:


Em geral, a maioria dos softwares de negociação contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para executar dimensionamento automático de posição, otimização e outros recursos mais avançados.


Os 10 mandamentos.


Tenha em consideração as tendências gerais do mercado no período em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia só foi testada de 1999 a 2000, pode não estar bem em um mercado ostentoso. Muitas vezes, é uma boa idéia fazer um teste longo em um longo período de tempo que engloba vários tipos diferentes de condições de mercado. Tome em consideração o universo em que ocorreu o backtesting. Por exemplo, se um sistema de mercado amplo é testado com um universo composto por estoques tecnológicos, pode deixar de funcionar bem em diferentes setores. Como regra geral, se uma estratégia é direcionada a um gênero específico de estoque, limite o universo a esse gênero; mas, em todos os outros casos, mantenha um grande universo para fins de teste. As medidas de volatilidade são extremamente importantes a serem consideradas no desenvolvimento de um sistema comercial. Isto é especialmente verdadeiro para as contas alavancadas, que são submetidas a chamadas de margem se o seu patrimônio cai abaixo de um determinado ponto. Os comerciantes devem procurar manter a volatilidade baixa para reduzir o risco e permitir uma transição mais fácil dentro e fora de uma determinada ação. O número médio de barras mantidas é também muito importante para assistir ao desenvolver um sistema comercial. Embora a maioria dos softwares de backtesting incluam custos de comissão nos cálculos finais, isso não significa que você deve ignorar esta estatística. Se possível, aumentando o número médio de barras mantidas pode reduzir os custos de comissão e melhorar seu retorno geral. A exposição é uma espada de dois gumes. O aumento da exposição pode levar a maiores lucros ou maiores perdas, enquanto a menor exposição significa lucros menores ou menores perdas. No entanto, em geral, é uma boa idéia manter a exposição abaixo de 70%, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de uma determinada ação. A estatística de ganho médio / perda, combinada com o índice de ganhos para perdas, pode ser útil para determinar o dimensionamento ótimo da posição e gerenciamento de dinheiro usando técnicas como o critério Kelly. (Ver Gestão de Dinheiro Usando o Critério de Kelly.) Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando seu índice de ganhos para perdas. O retorno anualizado é importante porque é usado como uma ferramenta para comparar os resultados de um sistema contra outros locais de investimento. É importante não só olhar para o retorno anual anualizado, mas também levar em consideração o aumento ou diminuição do risco. Isso pode ser feito observando o retorno ajustado ao risco, que contabiliza vários fatores de risco. Antes que um sistema de negociação seja adotado, ele deve superar todos os outros locais de investimento com risco igual ou menor. A personalização do backtesting é extremamente importante. Muitos aplicativos de backtesting têm entrada para valores de comissão, tamanhos de lotes redondos (ou fracionários), tamanhos de garotas, requisitos de margem, taxas de juros, suposições de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra, configurações de parada (muito próximas) e muito mais. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o corretor que será usado quando o sistema for atualizado. Backtesting às vezes pode levar a algo conhecido como over-optimization. Esta é uma condição em que os resultados de desempenho são tão ajustados ao passado que não são mais precisos no futuro. Geralmente, é uma boa idéia implementar regras que se aplicam a todos os estoques ou um conjunto seleto de ações segmentadas, e não são otimizadas na medida em que as regras não são mais compreensíveis pelo criador. Backtesting nem sempre é a maneira mais precisa de avaliar a eficácia de um determinado sistema de negociação. Às vezes, as estratégias que funcionaram bem no passado não conseguem fazer bem no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de trocar papel com um sistema que tenha sido testado com sucesso antes de entrar em operação para ter certeza de que a estratégia ainda se aplica na prática.


Backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema comercial. Se criado e interpretado adequadamente, pode ajudar os comerciantes a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas, bem como ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real.


Obtenha o plano que melhor se adapte às suas necessidades.


Inscreva-se para desbloquear recursos poderosos e supercarregar o desenvolvimento do seu algoritmo.


Lista de recursos.


Faça parte da comunidade.


Obtenha todo o poder.


* Obter uma assinatura privilegiada não só dá a você novos recursos incríveis, você também está contribuindo para tornar possível o projeto open source LEAN, leia mais sobre o projeto LEAN.


Ter uma questão?


QuantConnect Q & amp; A.


Prime vem com uma assinatura de teste?


A primeira vez que você se inscreve, as assinaturas Prime vem com um período de avaliação gratuito de 14 dias.


Pioneering Tomorrow's Trading.


Pesquisa, Backtest e comércio de seus investimentos.


Inscreva-se gratuitamente.


Como funciona?


Construa Algoritmos em um ID do navegador,


Usando estratégias de modelos e dados gratuitos.


Desenhe e teste sua estratégia em nossos dados gratuitos e, quando estiver pronto, implemente-o ao vivo para sua corretora. Code em várias linguagens de programação e aproveite nosso cluster de centenas de servidores para executar o backtest para analisar sua estratégia em ações, FX, CFD, Opções ou Futures Markets.


QuantConnect é a próxima revolução no comércio quantitativo, combinando computação em nuvem e acesso aberto a dados.


Velocidade sem paralelo.


Aproveite o nosso farm de servidores para velocidades institucionais do seu computador desktop. Você pode iterar em suas idéias mais rápido do que você já fez antes.


Massive Data Library.


Nós fornecemos uma enorme biblioteca gratuita de dados de resolução de carrapatos de 400 TB que cobre os US Equities, Options, Futures, Fundamentals, CFD e Forex desde 1998.


Execução de classe mundial.


Nossos algoritmos de negociação ao vivo estão co-localizados junto aos servidores do mercado em Equinix (NY7) para uma execução rápida resiliente, segura e fácil de iluminação para os mercados.


Tem algumas ótimas ideias? Vamos testá-lo! Comece seu algoritmo.


Qualidade profissional, Open Data Library.


Estratégias de design com nossa biblioteca de dados cuidadosamente com curadoria, abrangendo os mercados globais, do tico à resolução diária. Os dados são atualizados quase que diariamente, para que você possa testar os dados mais recentes possíveis e o viés de sobrevivência livre.


Oferecemos dados de ticks de ações que retornam a janeiro de 1998 para cada símbolo negociado, totalizando mais de 29 mil ações. O preço é fornecido pela QuantQuote.


Além do que, além do mais; temos dados fundamentais da Morning Star para os 8.000 símbolos mais populares para mais de 900 indicadores desde 1998.


Crypto, Forex e amp; CFD.


Nós lideramos o mundo com a negociação algorítmica criptográfica no GDAX além de oferecer 100 contratos de divisas e 70 CFD cobrindo todas as principais economias fornecidas pela FXCM e pela OANDA. Todos os dados estão disponíveis na resolução do carrapato, começa em abril de 2007 e é atualizado diariamente.


Nós oferecemos o comércio de trocas de futuros e citar dados de janeiro de 2009 para o presente, para cada contrato negociado em CME, COMEX e GLOBEX. Os dados são atualizados semanalmente e são fornecidos pela AlgoSeek.


Oferecemos opções de negociação e cotação até resolução de minutos, para cada opção negociada na ORPA desde 2007, cobrindo milhões de contratos. Os dados são atualizados dentro de 48 horas e são fornecidos pela AlgoSeek.


Baixe dados FX e CFD gratuitamente - Explore nossa biblioteca de dados Inscreva-se hoje.


Colaboração em equipe.


Encontre novos amigos na comunidade e colabore com nosso recurso de codificação de equipe! Compartilhe projetos e veja seu código instantaneamente à medida que eles escrevem. Você pode até mesmo conceder acesso ao vivo e controlar o algoritmo ao vivo em conjunto. Use nossa mensagem instantânea interna para encontrar futuros membros da equipe para unir forças!


Propriedade Intelectual Segura.


Nosso foco é dar-lhe a melhor plataforma de negociação algorítmica possível e proteger sua valiosa propriedade intelectual. Nós sempre seremos um fornecedor de infraestrutura e tecnologia primeiro. Quando você estiver pronto para negociação ao vivo, nós o ajudaremos a executar com seu corretor de escolha.


Execute através de corretores líderes.


Nós nos integramos com corretoras líderes mundiais para fornecer a melhor execução e taxas mais baixas para a comunidade.


OPÇÕES DE FUTUROS FOREX DE EQUITY.


$ 1 MÍNIMO, $ 0.005 / COMPARTILHAR.


A indústria titan Interactive Brokers oferece acesso a mercado de ações, futuros e opções com uma conta e algumas das taxas mais baixas do setor.


De & pound; 0,07 por lote.


Com baixo acesso direto e direto ao mercado, a FXCM oferece acesso a FX com taxas transparentes, excelentes preenchimentos e um pequeno depósito de abertura.


Taxas de spread.


Fundada em 1995, a OANDA fornece acesso a FX e CFD's com taxas de spread abrangendo todos os principais mercados globais.


Trocas Comerciais Crypto.


Comércio Bitcoin, Etherum e LiteCoin em uma troca totalmente regulamentada nos EUA.


FOREX CFD EQUITY CRYPTO.


Negociação de papel.


Com QuantConnect & trade; Paper Trading, você pode simular condições de mercado ao vivo, taxas de modelagem e pedidos preenchidos para testar sua estratégia antes de colocá-la ao vivo.


World Leading Brokerage Execution Trade Live.


Corretoras suportadas.


Graças aos nossos parceiros de corretagem, oferecemos negociação ao vivo gratuita para os clientes da corretora FXCM Brokerage e OANDA Brokerage, permitindo que você faça o backtest e comercialize sua estratégia totalmente gratuitamente.


Estratégias conduzidas por eventos.


Projetar um algoritmo não poderia ser mais fácil. Existem apenas duas funções necessárias e cuidamos de tudo o resto! Você apenas inicializa () sua estratégia e lida com os eventos de dados solicitados.


Você pode criar novos indicadores, classes, pastas e arquivos com um compilador C # completo baseado na web e auto-completar. Estamos empenhados em oferecer-lhe a melhor experiência de design de algoritmo possível.


Aproveite seu potencial.


Opt in users pode ter suas estratégias apresentadas aos clientes hedgefund em um painel de estratégia de estratégia transparente. As estratégias são validadas pelo backtesting e negociação ao vivo da QuantConnect, dando-lhe uma revisão neutra do código de terceiros.


Os hedgefunds interessados ​​podem contatá-lo diretamente através da QuantConnect para oferecer emprego ou financiamento para sua estratégia!


Junte-se a nossa comunidade.


Temos uma das maiores comunidades comerciais quantitativas do mundo, construindo, compartilhando e discutindo estratégias através da nossa comunidade. Converse com algumas das mentes mais brilhantes do mundo enquanto exploramos novos domínios de ciência, matemática e finanças.


Fórum de discussão.


47.356 Quants.


O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela QuantConnect. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. A QuantConnect não oferece garantias quanto à exatidão ou integridade das visualizações expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas. Todos os investimentos envolvem risco, incluindo perda de principal. Você deve consultar um profissional de investimentos antes de tomar decisões de investimento.


O material deste site é fornecido apenas para fins informativos e não constitui uma oferta de venda, uma solicitação de compra ou uma recomendação ou endosso para qualquer segurança ou estratégia, nem constitui uma oferta para fornecer serviços de consultoria de investimento pela QuantConnect. Além disso, o material não oferece nenhuma opinião em relação à adequação de qualquer segurança ou investimento específico. A QuantConnect não oferece garantias quanto à exatidão ou integridade das visualizações expressas no site. Os pontos de vista estão sujeitos a alterações e podem ter se tornado pouco confiáveis ​​por vários motivos, incluindo mudanças nas condições do mercado ou nas circunstâncias econômicas. Todos os investimentos envolvem risco, incluindo perda de principal. Você deve consultar um profissional de investimentos antes de tomar decisões de investimento.


Repetição 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 tiverem decorrido mais de 100 dias, não seja o próprio. Esta estratégia é muito simples, mas produz alguns resultados impressionantes. (Nota, 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, estamos ignorando custos de negociação e atrasos de execução, que afetam o desempenho da estratégia.)


Implementar esta estratégia em R é simples e oferece inúmeras vantagens sobre o 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, baixamos dados para GSPC usando quantmod. (GSPC representa o índice S & amp; P 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 de tempo 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 é 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).


Multiplicamos nosso vetor de posição (0,1) pelos retornos do índice para obter os retornos da nossa estratégia. 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, eu decidi olhar para o retorno cumulativo, o retorno anual médio, a proporção de sharpe, o% vencedor, a volatilidade anual média, 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 padrão "buy and hold".


Finalmente, testamos nossa estratégia em 3 outros índices: FTSE que representa a Irlanda e o Reino Unido, o Dow Jones Industrial Index, que se remonta a 1896, e o N225, que representa o Japão. Eu funcionei todo o processo, então você pode testar cada nova estratégia com 1 linha de código:

No comments:

Post a Comment