Thursday 26 April 2018

Trading system back testing


Backtesting O que é Backtesting Backtesting é o processo de testar uma estratégia comercial em dados históricos relevantes para garantir sua viabilidade antes que o comerciante arrisque qualquer capital real. Um comerciante pode simular a negociação de uma estratégia durante um período de tempo adequado e analisar os resultados para os níveis de rentabilidade e risco. BREAKING DOWN Backtesting Se os resultados satisfazem os critérios necessários que são aceitáveis ​​para o comerciante, a estratégia pode ser implementada com algum grau de confiança de que resultará em lucros. Se os resultados forem menos favoráveis, a estratégia pode ser modificada, ajustada e otimizada para alcançar os resultados desejados, ou pode ser completamente descartada. Uma quantidade significativa do volume negociado no mercado financeiro de hoje é feito por comerciantes que usam algum tipo de automação de computador. Isto é especialmente verdadeiro para estratégias de negociação com base em análise técnica. Backtesting é uma parte integrante do desenvolvimento de um sistema automatizado de negociação. Backtesting Significado Quando feito corretamente, backtesting pode ser uma ferramenta inestimável para tomar decisões sobre se deve utilizar uma estratégia de negociação. O período de tempo de amostra em que um backtest é realizado é crítico. A duração do período de tempo de amostragem deve ser suficientemente longa para incluir períodos de condições de mercado variáveis, incluindo tendências de alta, tendências de baixa e negociação de intervalo limitado. Realizar um teste em apenas um tipo de condição de mercado pode produzir resultados únicos que podem não funcionar bem em outras condições de mercado, o que pode levar a conclusões falsas. O tamanho da amostra no número de negócios nos resultados do teste também é crucial. Se o número de amostras de ofícios é muito pequeno, o teste pode não ser estatisticamente significativo. Uma amostra com muitas transações durante um período muito longo pode produzir resultados otimizados em que um número esmagador de trades vencedores coalesce em torno de uma condição de mercado específico ou tendência que é favorável para a estratégia. Isso também pode causar um comerciante para tirar conclusões enganosas. Mantê-lo real Um backtest deve refletir a realidade na medida do possível. Os custos de negociação que de outra forma poderiam ser considerados negligenciáveis ​​pelos comerciantes quando analisados ​​individualmente podem ter um impacto significativo quando o custo agregado é calculado durante todo o período de backtesting. Estes custos incluem comissões, spreads e derrapagens, e eles poderiam determinar a diferença entre se uma estratégia de negociação é rentável ou não. A maioria dos pacotes de software de backtesting inclui métodos para contabilizar esses custos. Talvez a métrica mais importante associada ao backtesting seja o nível de robustez da estratégia. Isto é conseguido comparando os resultados de um teste de volta otimizado em um período de tempo de amostra específico (referido como in-sample) com os resultados de um backtest com a mesma estratégia e configurações em um período de tempo de amostra diferente (referido como out - Da amostra). Se os resultados são igualmente rentáveis, então a estratégia pode ser considerada válida e robusta, e está pronta para ser implementada em mercados em tempo real. Se a estratégia falhar em comparações fora da amostra, então a estratégia precisa de mais desenvolvimento, ou deve ser abandonada completamente. Gestão de dados de classe institucional backtesting solução de implantação de estratégia: - ações, opções, futuros, moedas, cestas e instrumentos sintéticos personalizados São suportados - múltiplos feeds de dados de baixa latência suportados (velocidades de processamento em milhões de mensagens por segundo em terabytes de dados) - C e backtesting e optimização baseados na estratégia - suportada a execução de vários corretores, sinais de negociação convertidos em encomendas FIX QuantFACTORY - Gestão de dados de classe institucional Backtesting solução de implantação de estratégia: - QuantDEVELOPER - estrutura e IDE para negociação de desenvolvimento de estratégias, depuração, backtesting e otimização, disponível como um Visual Studio plug-in - QuantDATACENTER - permite gerenciar um armazém de dados históricos e capturar em tempo real ou ultra baixa latência mercado Dados de provedores e intercâmbios - QuantENGINE - permite implantar e ex Ecute estratégias pré-compiladas - multi-asset, multi-período de dados de baixa latência, vários corretores suportados de gestão de dados de classe institucional backtesting estratégia solução de implantação: - OpenQuant - C e VisualBasic sistema de nível de backtesting e negociação, multi-asset, testes de nível intraday, otimização , WFA etc múltiplos corretores e feeds de dados suportados - QuantTrader - ambiente de produção de comércio - QuantBase - gerenciamento de dados centralizado - QuantRouter - roteamento de dados e ordens Institucional de classe de gestão de dados backtesting estratégia solução de implantação: - multi-asset solução, Banco de dados suporta qualquer tipo de RDBMS que forneça uma interface JDBC, por exemplo Oracle, Microsoft SQL Server, Sybase, MySQL etc - os clientes podem usar IDE para script sua estratégia em Java, Ruby ou Python, ou eles podem usar sua própria estratégia IDE - múltiplos corretores execução suportada, negociação sinais convertidos em ordens FIX Institucional - Gerenciamento de dados de classe backtesting solução de implantação de estratégia: - solução multi-asset (forex, opções, futuros, ações, ETFs, commodities, instrumentos sintéticos e spreads derivados personalizados), múltiplas feeds de dados suportados - estrutura para desenvolvimento de estratégias de negociação, depuração e backtesting (IB, JPMorgan, FXCM, etc.) Plataforma de software dedicada integrada com os dados da Tradestations para backtesting e auto-trading: - dados diários intraday (estoques para 43 anos, futuros para 61 Anos) - prático para backtesting baseados em preços de sinais (análise técnica), suporte à linguagem de programação EasyLanguage - apoiando ETFs ações dos EUA , Futuros, índices dos EUA, ações alemãs, índices alemães, sem forex para clientes de corretagem Tradestation - 249,95 mensais para não profissionais (apenas plataforma de software Tradestation, sem corretagem) - 299,95 mensais para profissionais (plataforma de software Tradestation apenas, sem corretagem) Plataforma de software para backtesting e auto-negociação: - apoio a estratégias diárias intraday, teste de nível de carteira e otimização, gráficos, visualização, relatórios personalizados, análise multi-threaded, gráficos 3D, análise WFA etc - melhor para backtesting baseados em preços sinais (análise técnica) - link direto para eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, qualquer feed DDE compatível, MS, txtfiles e muito mais (Yahoo Finance. ) - uma taxa de tempo 279 para a edição Standard ou 339 para a edição Professional Plataforma de software dedicado para backtesting e auto-trading: - backtesting sistema de nível de portfólio e trading, multi-asset, testes de nível intraday, otimização, Auto-trading em linguagem de script Perl com todas as funções subjacentes escritas em C nativo, preparado para co-localização de servidor - nativo FXCM e Interactive Brokers apoio - suporte gratuito FXCM, 100 por mês para a plataforma IB, contacte Salesseertrading para outras opções Plataforma de software dedicado para Backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (análise técnica), scripts C - extensões de software suportado - manipulação de feeds de dados, execução da estratégia, etc - 799 por licença, Taxa após plataforma de software dedicada para backtesting, otimização, atribuição de desempenho e análise: - Axioma ou 3 ª parte (Análise técnica), apoiando estratégias de dailyintraday, teste de nível de carteira e otimização - Turtle Edition - motor de backtesting, Gráficos, relatórios, teste de EoD - edição profissional - editor de sistema mais, análise dianteira da caminhada, estratégias intraday, teste multi-enfiado etc. - edição Pro mais - mais gráficos de superfície 3D, scripting etc. - Turtle Edition 990 - Edição Profissional 1.990 - Edição Profissional 2.990 - Edição Construtor 3.990 Plataforma de software dedicada para backtesting e auto-trading: - apoio diário estratégias intraday, testes de nível de carteira e otimização, gráficos, visualização, relatórios personalizados etc - melhor para backtesting Com base em preços (análise técnica) - ligação directa com Interactive Brokers, MB Trading, TD Ameritrade, FXCM e M eSignal, Google Finance, Yahoo finance, IQFeed e outros - funcionalidade básica (funcionalidade EoD) - livre - funcionalidade avançada - locação de 50 meses ou 995 licença de vida Plataforma de software dedicada para backtesting e auto-trading: - melhor para backtesting (Análise técnica), apoio a estratégias diárias intraday, testes de nível de carteira e otimização, gráficos, visualização, relatórios personalizados - suporta C e Visual Basic - link direto para Interactive Brokers, IQFeed, txtfiles e mais (Yahoo Finance. ) - licença perpétua - 499 - arrendamento 50 por mês Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes e otimização de nível de portfólio, gráficos, Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (suporte a provedores de dados múltiplos) - 595 para Versão Premium Futuros de 31 anos, forex a partir de 1983, etc) - preços de 45 meses para 295 meses (os preços dependem da disponibilidade de dados) plataforma de software dedicado Para backtesting e auto-negociação: - usa linguagem MQL4, usado principalmente para o mercado de câmbio forex - suporta múltiplos corretores forex e feeds de dados - suporta Gerenciamento de múltiplas contas Plataforma de software dedicada para backtesting e auto-trading: - suporte a estratégias diárias intraday, testes de nível de carteira e otimização - melhor para backtesting baseados em preços de sinais (análise técnica), suporte para a linguagem de programação EasyLanguage - suporte a múltiplos feeds de dados (Bloomberg, Thomson Multicharts 797 por ano - Multicharts vida útil 1,497 - Multicharts Pro 9,900 (Bloomberg Thomson Reuters feed de dados, etc) Baseado na Web backtesting ferramenta para testar Estratégias de longo prazo, pricefundamentals orientado sinais - Designer - 139 meses - Gerente - 199 meses - funcionalidade completa Portfolio Analytics usando dados de mercado de alta freqüência: - Este produto é para uso de baixa, média, alta freqüência tradersresearchers. Todos os cálculos são feitos usando dados de mercado de alta freqüência que beneficiam investidores de baixa e alta freqüência. - backtesting intraday, gerenciamento de risco de carteira, previsão e otimização a cada preço segundo, minutos, horas, fim de dia. Entradas do modelo totalmente controláveis. - 8k market tick fontes de dados desde 2017 (ações, índices ETFs negociados no NASDAQ). Os clientes também podem carregar seus próprios dados de mercado (por exemplo, ações chinesas). - 40 métricas de portfólio (VaR, ETL, alfa, beta, relação Sharpe, razão Omega, etc.) - suporta R, Matlab, Java Python - 10 otimizações de portfólio Ferramenta de backtesting baseada na Web: Dados de QuantQuote - dados do forex de FXCM - suportando Trader Interactive Brokers para a negociação viva ferramenta backtesting baseada na correia fotorreceptora: - ações e ETFs dos EU cotiza (dailyintraday), desde 2002 - dados fundamentais de Morningstar (sobre 600 medições) Ferramentas de backtesting baseadas na Web: - simples de usar, estratégias de alocação de ativos, dados desde 1992 - dinâmica de séries temporais e estratégias de média móvel em ETFs - Simple Momentum e Simple Value estratégias de picking de ações Futures e SP500 stocks - toolbox em Python e Matlab - Quantiacs hospeda competições de negociação algorítmica com investimentos que variam de 500k a 1 milhão Backtest Broker oferece backtesting baseado em web poderoso e simples, assim - Backtest em dois cliques - Navegue pela biblioteca de estratégia, ou crie e otimize sua estratégia - Negociação de papel, negociação automatizada e e-mails em tempo real - 1 por backtest e menos WebCloud baseado backtesting ferramenta: - FX (ForexCurrency) - voltando a 2007 - SecondMinuteHourlyDaily bares - live trading compatível com qualquer corretor que está usando o Metatrader 4 como sua ferramenta de backtest back-back baseados na Web para testar estratégias de alocação de fatores de patrimônio e alocação de ativos: - múltiplos fatores de equidade com alfa comprovada sobre benchmarks , Múltiplos universos de investimento, filtros de gestão de risco - estratégias de alocação de ativos backtests, mistura de alocação de ativos e picking de fatores em um portfólio - livre no universo SP 100 - 50 meses ou 480 anos - : - mais de 10 000 unidades populacionais dos EUA, dados até 20 anos de história - critérios técnicos fundamentais - funcionalidade livremente limitada (1 ano - 50 por mês - funcionalidade completa Ambiente de software livre para computação estatística e gráficos, muitos quants preferem usá-lo para sua arquitetura aberta excepcional e flexibilidade: - tratamento de dados eficaz e facilidade de armazenamento, gráficos MATLAB - Linguagem de alto nível e ambiente interativo para computação estatística e gráficos: - paralelo (paralelo) BacktestingXL Pro é um add-in para construir e testar suas estratégias de negociação no Microsoft Excel 2018 e 2017: - os usuários podem usar o VBA para construir estratégias para BacktestingXL Pro, o conhecimento VBA é opcional, os usuários podem construir regras de negociação em uma planilha usando códigos pré-feitos padrão de backtesting - suporte a piramidação, limitação de posição de curta duração, cálculo de comissões, monitoramento de patrimônio, controle de dinheiro extra, controle de preço de buysell - relatórios de desempenho múltiplos - 74.95 para BacktestingXL Pro Linguagem de programação open source livre, arquitetura aberta, flexível e facilmente estendida via pacotes: (Python Algorithmic Trading Library), Zipline, ultrafinance, etc. O FactorWave é simples de usar a ferramenta de backtesting baseada na web para o fator que investe: - permite que o usuário misture fatores múltiplos de ETFoptionsfuturesequity com alfa comprovado sobre Benchmark de mercado-tampão - livre - ETFStock Screener com 5 fatores - 149mo - opção livre de opções screener, estratégias de futuros, estratégias de vix Ferramenta de backtesting baseada na Web: - ferramenta de backtesting baseada em web simples de usar para testar força relativa e média móvel Estratégias em ETFs - vários tipos de estratégias para livre, backtesting funcionalidade completa 34,99 mensal Free web b Ased backtesting ferramenta para testar stock picking estratégias: - ações dos EUA, dados da ValueLine de 1986-2017 - preço e dados fundamentais, 1700 estoques, teste de granularidade mensal testando: interpretando o passado Backtesting é um componente-chave do desenvolvimento do sistema de comércio eficaz. É realizado reconstruindo, com dados históricos, os negócios 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 quaisquer falhas técnicas ou teóricas, e ganhar confiança em sua estratégia antes de aplicá-lo aos mercados reais. A teoria subjacente é que qualquer estratégia que funcionou bem no passado é susceptível de funcionar bem no futuro e, inversamente, qualquer estratégia que teve um desempenho ruim no passado é susceptível de funcionar mal no futuro. Este artigo dá uma olhada no que os aplicativos são usados ​​para backtest, que tipo de dados são obtidos, e como colocá-lo para usar Os dados e as ferramentas Backtesting pode fornecer abundância de estatística valiosa comentários sobre um determinado sistema. Algumas estatísticas de backtesting universal incluem: Lucro líquido ou perda - ganho ou perda percentual líquido. Prazo - Datas passadas em que o teste ocorreu. Universo - Ações que foram incluídas no backtest. Medidas de volatilidade - Percentagem máxima de subida e descida. Médias - Percentagem de ganho médio e perda média, média de barras mantidas. Exposição - Percentual de capital investido (ou exposto ao mercado). Razões - Relação vitórias-perdas. Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco. Normalmente, backtesting software terá duas telas que são importantes. A primeira permite que o profissional personalize as configurações para backtesting. Essas personalizações incluem tudo, desde o período de tempo até os custos de comissão. Aqui está um exemplo de tal tela no AmiBroker: A segunda tela é o relatório de resultados de backtesting real. Isto é onde você pode encontrar todas as estatísticas mencionadas acima. Novamente, aqui está um exemplo desta tela no AmiBroker: Em geral, a maioria dos softwares comerciais contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para realizar dimensionamento automático da posição, otimização e outros recursos mais avançados. Os 10 mandamentos Há muitos fatores que os comerciantes prestam atenção quando eles estão backtesting estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a lembrar enquanto backtesting: Tome em conta as tendências do mercado amplo 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 de baixa. É muitas vezes uma boa idéia para backtest durante um período de tempo longo que engloba vários tipos diferentes de condições de mercado. Leve em conta o universo no qual o backtesting ocorreu. Por exemplo, se um sistema de mercado amplo é testado com um universo consistindo de ações de tecnologia, pode deixar de fazer bem em diferentes setores. Como regra geral, se uma estratégia é direcionada para um gênero específico de estoque, limitar o universo a esse gênero, mas, em todos os outros casos, manter um grande universo para fins de teste. Medidas de volatilidade são extremamente importantes a considerar no desenvolvimento de um sistema de comércio. Isto é especialmente verdadeiro para as contas alavancadas, que são submetidas a chamadas de margem se a sua equidade desce abaixo de um certo ponto. Os comerciantes devem procurar manter a volatilidade baixa, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de um determinado estoque. O número médio de barras mantidas também é muito importante para assistir ao desenvolver um sistema de negociação. Embora a maioria dos backtesting software inclui custos de comissão nos cálculos finais, isso não significa que você deve ignorar esta estatística. Se possível, aumentar 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. Exposição aumentada pode conduzir aos lucros mais elevados ou aos perdas mais elevados, quando a exposição diminuída significa lucros mais baixos ou perdas mais baixas. No entanto, em geral, é uma boa idéia para 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 um determinado estoque. A estatística média de perda de ganho, combinada com a relação ganhos-perdas, pode ser útil para determinar o dimensionamento de posição ótimo e a administração de dinheiro usando técnicas como o Critério de Kelly. (Veja Money Management Usando o Critério Kelly.) Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando sua relação ganhos-para-perdas. Retorno anualizado é importante porque é usado como uma ferramenta para comparar os retornos de sistemas contra outros locais de investimento. É importante não só olhar para o retorno global anualizado, mas também para ter em conta o risco aumentado ou diminuído. Isso pode ser feito olhando para o retorno ajustado ao risco, que explica vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros locais de investimento em igual ou menos risco. Backtesting personalização é extremamente importante. Muitas aplicações de backtesting têm entrada para valores de comissão, tamanhos de lote redondos (ou fracionários), tamanhos de carrapatos, requisitos de margem, taxas de juros, pressupostos de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra e configurações de parada. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o corretor que será usado quando o sistema for ativado. Backtesting às vezes pode levar a algo conhecido como super-otimização. Esta é uma condição onde os resultados de desempenho são ajustados tão altamente ao passado que eles não são mais precisos no futuro. Geralmente, é uma boa idéia implementar regras que se apliquem a todas as ações ou a um conjunto selecionado de ações segmentadas e não sejam otimizadas na medida em que as regras não sejam mais compreensíveis pelo criador. Backtesting nem sempre é a maneira mais precisa para avaliar a eficácia de um determinado sistema de comércio. À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 comércio de papel de um sistema que foi testado com sucesso antes de ir ao vivo para ter certeza de que a estratégia ainda se aplica na prática. Conclusão Backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema comercial. Se criado e interpretado corretamente, pode ajudar comerciantes a aperfeiçoar e melhorar suas estratégias, encontrar todas as falhas técnicas ou teóricas, assim como ganhar a confiança em sua estratégia antes de aplicá-la aos mercados reais. Recursos Tradecision (tradecision) - High-end Desenvolvimento do Sistema de Negociação AmiBroker (amibroker) - Desenvolvimento do Sistema de Negociação de Orçamento.

No comments:

Post a Comment