вторник, 12 июня 2018 г.

Backtesting stock trading systems


Backtesting: Interpreting The Past 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 a forma de usá-lo. O Backtesting de dados e ferramentas pode fornecer muitos comentários estatísticos valiosos sobre um determinado sistema. Algumas estatísticas de backtesting universais incluem: Lucro ou perda líquida - Ganho ou perda de porcentagem líquida. Prazo - Datas passadas em que ocorreu teste. 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 real. Aqui é onde você pode encontrar todas as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela no 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 Existem muitos fatores pelos quais os comerciantes prestam atenção quando estão testando as estratégias de negociação. Aqui está uma lista das 10 coisas mais importantes a serem lembradas durante o backtesting: leve em consideração as amplas tendências 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 teste de retorno. 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 de comércio. Isto é especialmente verdadeiro para contas alavancadas, que são sujeitas a chamadas de margem se seu patrimônio cai abaixo de um determinado ponto. Os comerciantes devem procurar reduzir a volatilidade 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 diminuição da exposição significa menores lucros ou menores perdas. No entanto, em geral, é uma boa idéia manter a exposição abaixo de 70 para reduzir o risco e permitir uma transição mais fácil dentro e fora de um dado estoque. A estatística de perda de ganhos médios, 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 rendimentos dos sistemas em relação a 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 de ser adotado um sistema comercial, 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 classificação 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 atentos 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. Conclusão 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. Recursos Tradecision (tradecision) - Desenvolvimento de sistema de negociação de gama alta AmiBroker (amibroker) - Desenvolvimento de sistema de comércio de orçamento. Software de teste e simulação para comerciantes de dias Vários fornecedores aumentaram para enfrentar o desafio de backtesting e simulação para que os comerciantes do dia possam testar suas estratégias antes Eles colocam dinheiro real. Esta lista não é de forma alguma exaustiva, nem é um aval de seus serviços. It8217s é apenas um bom lugar para você começar sua pesquisa. A AmiBroker oferece um serviço de backtesting robusto a um preço relativamente baixo. Por essa razão, it8217s é uma escolha popular com pessoas que estão começando no dia comercial. Ele também permite aos usuários fazer gráficos técnicos sofisticados que possam usar para monitorar os mercados. Uma desvantagem é que você pode ter que pagar extra pelos dados da cotação do preço do mercado, dependendo de quais títulos e períodos de tempo você deseja testar. Cybertrader Cybertrader é o produto Charles Schwab8217s para comerciantes ativos. O recurso Strategy Tester permite que você teste sua idéia comercial. Então você pode configurá-lo em um Ticker de Estratégia, que segue sua estratégia enquanto o mercado está aberto, permitindo que você veja como a sua estratégia é executada em tempo real. Isso não é bastante parecido com o comércio de papel porque não está testando o quão bem você puxaria o gatilho. InvestorRT Desenvolvido por uma empresa chamada Linn Software. InvestorRT permite que você desenvolva seus próprios testes e crie seus próprios programas. Tem pacotes para Macintosh OS X, o que o torna popular entre os comerciantes que preferem os computadores da Apple. Seus usuários tendem a ser sofisticados sobre seus sistemas de negociação e requisitos de backtesting, este software não é realmente para iniciantes. Como o nome indica, o MetaStock é projetado para comerciantes que trabalham em ações, embora um pacote MetaStock esteja disponível especialmente para comerciantes de moeda, e os pacotes regulares incluem recursos para comerciantes de futuros e commodities. Ele define os comerciantes como o fim do dia (aqueles que tomam decisões sobre negociação amanhã com base em números no final da negociação atual de 8217) e em tempo real (aqueles que tomam decisões durante o dia de negociação). A maioria dos comerciantes do dia são comerciantes em tempo real. A empresa é propriedade da Thomson Reuters, uma das principais empresas de serviços de informação financeira. Se você trocar opções, você pode querer verificar a OptionVue, que oferece uma variedade de ferramentas analíticas nos mercados de opções. O módulo BackTrader do software8217s, um recurso adicional, ajuda você a aprender mais sobre os mercados de opções, testar novas estratégias e examinar as relações entre as opções e os estoques subjacentes. 8212 informações realmente úteis para pessoas que trabalham em mercados de ações. O pacote de software de análise de comércio da Tradecision Tradecision8217s é um pouco mais caro do que a maioria das alternativas comerciais de varejo, mas oferece recursos mais avançados, incluindo uma análise dos pontos fortes e fracos das diferentes regras de negociação. Ele pode incorporar técnicas avançadas de gerenciamento de dinheiro e inteligência artificial para desenvolver mais previsões sobre desempenho em diferentes condições de mercado. O sistema pode ser excessivo para a maioria dos comerciantes de novos dias, mas pode ser útil para alguns. Trading Blox O sistema de software Trading Blox foi desenvolvido por comerciantes profissionais que precisavam testar suas próprias teorias e que não queriam fazer muita programação para fazê-lo. Ele vem em três versões (e níveis de preços), que vão do básico ao sofisticado, e a empresa se orgulha de trabalhar com algumas empresas de comércio comercial. Claro, algumas de suas capacidades podem ser mais do que você precisa quando você começa. A TradeStation TradeStation é uma corretora online que se especializa em serviços para day traders. O seu serviço de teste de estratégia permite que você especifique diferentes parâmetros de negociação e, em seguida, mostra onde esses negócios teriam ocorrido no passado, usando gráficos de preços. Ele também gera um relatório da estratégia, mostrando desempenho em dólar, porcentagem e perda de ganhos em diferentes períodos de tempo. Não possui um recurso de simulação comercial. Software de negociação automatizado Software Backtesting Software de negociação automatizada Software Backtesting - A seguir, há uma lista de softwares que permitem aos comerciantes fazer backtest e automatizar estratégias e sistemas de negociação. Nem todos os softwares de backtest podem automatizar sua negociação, colocando negociações através de um corretor, mas, uma vez que são tipos relacionados de software de negociação, eu decidi eleger uma lista de recursos em uma única página, da qual você pode fazer mais pesquisas. Se você planeja se envolver em grandes quantidades de dados intradiários, então você pode querer considerar obter um computador com processador Intel i7 e sistema operacional Windows 7, 64 bit. Isso faz testes executarem muito mais rápido do que um computador dual core mais barato executado em um sistema operacional de 32 bits. Eu sei que isso é contrário ao que eu disse sobre os requisitos do dia de negociação de computadores para um comerciante discricionário, mas executar software de negociação automatizado ou software de backtesting é um animal completamente diferente e requer muito mais potência, por assim dizer. Você também deve saber que algum software de backtesting em virtude de seu design executará backtests muito mais rápido no mesmo computador. Você está pronto para seguir essa estrada. Eu vou adiante e direi-lhe diretamente, se você não tem alguma experiência com a programação de computadores ou línguas que vão pela estrada de backtesting e ou negociação algorítmica é uma longa estrada. Vai exigir inúmeras horas do seu tempo para produzir sistemas de negociação robustos e diários que produzam lucros consistentes e confiáveis ​​o suficiente para trocar com dinheiro real. É muito tentador seguir esta estrada com um sonho de produzir vários sistemas, todos fazendo negócios automaticamente sem emoções envolvidas em diferentes ações ou mesmo em mercados diferentes. E é certamente possível. Mas, antes de começar com isso, penso que é sábio aprender como negociar como comerciante discricionário primeiro. Você não precisa arriscar dinheiro real. Você pode usar um simulador, mas pelo menos se envolver com a dinâmica do mercado primeiro, antes de tentar chegar a uma estratégia mecânica para ganhar dinheiro. Tenha uma ideia da demanda básica de oferta no mercado. Saiba como fazer o baixo risco para negociações de alta recompensa que são produzidas por um sistema de comércio de dia sadio. Compreenda o tamanho da posição e o gerenciamento do dinheiro de negociação. Em outras palavras, entenda os componentes básicos da negociação antes de entrar em negociação algorítmica. Suponho que isso seja principalmente senso comum, mas estou certo de que alguns especialistas em ciência da computação vão querer simplesmente pular de uma vez por aí, pensando que eles vão produzir uma máquina ATM imediatamente. COMO BOM É O APOIO DE SOFTWARES Se você decidiu procurar software de negociação automatizado ou software de backtesting e especialmente se você não tem experiência nesta área, sugiro que considere uma plataforma com um fórum de usuários forte ou, pelo menos, um excelente suporte dos softwares desenvolvedor. Posso prometer-lhe isso com certeza 100. Vocês estarão usando muitos fóruns de desenvolvedores de software e você estará fazendo muitas perguntas. Se seus fóruns são densos com usuários experientes e úteis, isso pode fazer toda a diferença entre ser um usuário frustrado de um software caro ou ser um usuário de conteúdo criando resultados. Porque, você terá muitas perguntas que precisam de respostas. COMPONENTES BÁSICOS DE BACKTESTING E SOFTWARE AUTOMÁTICO DE NEGOCIAÇÃO Os seguintes sceenshots são do software Amibroker. Eu usei esse software e direi que é um software de backtesting muito bom e barato, que você pode experimentar de graça. A maioria das plataformas de backtesting tem os mesmos componentes básicos. Eles têm uma área para inserir sua estratégia de negociação usando o código do computador softwares como abaixo. Eles têm páginas para ajustar as configurações do backtester, paradas, comissões e muitos outros detalhes. Uma página para escolher símbolos, filtros e um intervalo de datastime para executar o backtest. Depois de executar um backtest, uma página mostrará os resultados do teste, como data de entrada e saída, lucro ou perda, de barras no comércio, lucro acumulado, - todo o comércio por comércio. As setas são colocadas em um (s) gráfico (s) onde todas as negociações foram inseridas e saídas de acordo com suas regras de estratégias. Todos os backtesters têm uma página para otimizar as variáveis ​​de suas estratégias. Alguns têm gráficos 3D que permitem que você veja como as mudanças nessas variáveis ​​impactam o lucro dos sistemas. Backtesting e software de negociação automatizada fornecem-lhe uma montanha de dados, como lucro líquido, lucro médio, maior vitória, vencedores, exposição, max. Drawdown, fator de lucro, etc., que manteriam até mesmo um adepto do trabalho, o estatístico feliz. Mas, se você é iniciante, e nunca ouviu isso antes, tenha em mente. Não importa o quão bom os números observem nos testes de retorno, eles são números que representam trades simulados de dados passados. Não há absolutamente nenhuma garantia de que seu sistema funcionará bem no futuro. Penso que é possível ganhar dinheiro usando 100 sistemas de negociação mecânica. Absolutamente. Não sou especialista em negociação algorítmica. Como eu mencionei, minha experiência é na negociação discricionária. Mas, eu fiz uma boa quantidade de backtesting simples e acho que a maneira básica de olhar para negociação mecânica é a mesma que discricionária. Você deve ser diversificado em sua abordagem. Confiar em um único sistema ou estratégia simplesmente não o cortará. Uma abordagem de sistema múltiplo para suavizar sua curva de equidade é a melhor maneira. Mas, esta página não é sobre testar detalhes. Trata-se de dar-lhe um recurso de backtesting e software de negociação automatizado. Então, é uma lista de empresas com links que devem mantê-lo ocupado investigando e demolindo por um bom tempo. AmiBroker Wealth-Lab Trading Blox TradersStudio TradeStation MultiCharts NinjaTrader TickQuest Usado Qualquer um do software acima Por favor, escreva uma revisão Faça sua própria página neste site Você já usou algum dos softwares ou sites acima. Compartilhe sua experiência contando aos outros sobre isso. Como é útil? para você

Комментариев нет:

Отправить комментарий