Quantos Dados Históricos quando Backtesting Day Trading System.
Meu plano é definir um período de amostra para backtesting / otimização / ajuste de curva, fora do período de amostra para testar as estratégias.
Algumas perguntas, por favor:
1. O que no período da amostra você recomendaria? Eu estava pensando em 2006-2018, mas eu deveria estar usando condições de mercado mais recentes para testar a vantagem? Eu acredito que vou receber cerca de 800 negócios durante 2006-2018. Ou uma condição de mercado mais recente no período de amostragem é 2018-2018?
2. O que fora do período de amostragem você recomendaria? Eu estava pensando em 2018 - 2017. Ou um período de amostra de mercado mais recente para o mercado é 2018-2017?
Eu leio outros recomendando para testar o suficiente para executar 300 negociações. Para otimizar, melhor não vá muito atrás. 2018-2018 deve ser mais do que suficiente, pois isso deve verificar se a sua estratégia pode aguentar eventos de notícias políticas como a Brexit.
Em seguida, para testes avançados a partir do teste otimizado, faça 2018 até 2017 e veja se ele ganha.
Eu faço backtest do mercado. O método do backtest que eu faço é backtest manual - configurando a análise a partir do zero. É o tipo de backtest que eu sou capaz em termos de recursos.
Em relação ao backtest automatizado do Expert Advisor, considere estes:
1. No Strategy Tester, se o modelo de preço do Open Prices Only dá bons resultados, há maiores chances de que outros tipos de modelos de preços ofereçam melhores resultados. Há também maiores chances de que o teste ao vivo dê melhores resultados.
2. Se os resultados do backtest forem bons em um período de tempo menor, então terá maiores chances de obter melhores resultados em um prazo maior.
3. Se os resultados do backtest forem bons no mercado de alcance, então ele tem maiores chances de obter melhores resultados no mercado de tendências.
Se um comerciante não tem o tipo de proteção para o algoritmo de negociação que está sendo fornecido pela caixa preta, o tipo de proteção que um comerciante pode ter na análise do mercado é a adaptação da simplicidade e a eficiência dos números redondos.
TESTANDO SISTEMAS DE NEGOCIAÇÃO EM DADOS HISTÓRICOS.
Dados históricos | Russell 1000 - volume de mercado.
Aplicando análise técnica e testando sistema de negociação em Russell 1000. Sistemas de negociação; Dow Jones Trans. . Russell 1000 Index Trading Russell 1000 Dados históricos.
BackTesting com BackTrader - YouTube.
03.08.2018 & # 0183; & # 32; Vídeo embutido & # 0183; & # 32; BackTesting com BackTrader. Estratégias de Negociação de Testes de Traseira com Dados Históricos - Duração:. BackTrader (dados históricos e atrasados ...
Como confia nos dados históricos de teste de volta - ...
Olá tudo, eu recentemente comecei a aprender a programar e testar sistemas de negociação automatizados no NinjaTrader. Estou usando os dados históricos gratuitos que vem.
Forex Tester 3: simulador de negociação para backtesting. Melhor .
Obter Forex Tester 2, o melhor simulador comercial para backtesting,. Teste esses sistemas e você saberá com certeza! . Dados históricos para testes precisos.
Como ganhar com sistemas mecânicos de negociação | | ...
Como ganhar com sistemas de negociação mecânica /. e quantidade de dados de mercado para testes. . e opera sistemas mecânicos de negociação com base em dados históricos,.
Pi Trading - Serviços - Pi Trading - Histórico de dados intraday.
Serviços . A Pi Trading é líder em serviços de negociação financeira. Do desenvolvimento de software financeiro personalizado, sistemas de negociação e indicadores para o fornecimento de histórico.
Existem boas ferramentas para estratégias de opções de teste de volta?
Existem boas ferramentas para as opções de teste de volta. mas com dados históricos de volas. é um banco de trabalho para avaliação e otimização de sistemas de negociação de opções.
TradeSim, MetaStock e Back Testing Your System.
. O MetaStock simplesmente não está na tarefa de testar as negociações. desempenho comercial histórico. Produzir dados. próprios sistemas de negociação com um.
Usando Excel para Back Test Trading Strategies - MyPivots.
Usando Excel para Back Test Trading Strategies. . Dados. Antes de começar a testar qualquer. Em Citações do lado esquerdo, clique em Preços históricos e entre.
A Importância de Backtesting Futures Trading Systems.
A Importância de Backtesting Futures Trading Systems. Optimus. Se você tem uma estratégia de fim de dia, provavelmente você precisará de pelo menos 10 anos de dados históricos,.
Backtesting e Teste Avançado: A Importância da Correlação.
Os comerciantes que estão ansiosos para tentar uma idéia de negociação em um mercado vivo muitas vezes cometem o erro de confiar inteiramente nos resultados de backtesting para determinar se o sistema será lucrativo. Enquanto o backtesting pode fornecer aos comerciantes informações valiosas, muitas vezes é enganoso e é apenas uma parte do processo de avaliação. Testes fora da amostra e testes de desempenho avançado fornecem confirmação adicional quanto à eficácia de um sistema e podem mostrar as cores verdadeiras do sistema, antes que o dinheiro real esteja na linha. Uma boa correlação entre resultados de teste de backtesting, out-of-sample e forward performance é vital para determinar a viabilidade de um sistema de negociação. (Oferecemos algumas dicas sobre este processo que podem ajudar a refinar suas estratégias de negociação atuais. Para saber mais, leia Backtesting: Interpreting the Past.)
Enquanto uma idéia pode ser quantificada, ela pode ser testada novamente. Alguns comerciantes e investidores podem procurar a experiência de um programador qualificado para desenvolver a idéia em uma forma testável. Normalmente, isso envolve um programador que codifica a idéia na linguagem proprietária hospedada pela plataforma de negociação. O programador pode incorporar variáveis de entrada definidas pelo usuário que permitem que o comerciante "ajuste" o sistema. Um exemplo disso seria no sistema de cruzamento de média móvel simples observado acima: o comerciante seria capaz de inserir (ou alterar) os comprimentos das duas médias móveis usadas no sistema. O comerciante poderia voltar a testar para determinar quais comprimentos de médias móveis teriam realizado o melhor nos dados históricos. (Obtenha mais informações no Tutorial de Negociação Eletrônica.)
Muitas plataformas de negociação também permitem estudos de otimização. Isso implica entrar em um intervalo para a entrada especificada e deixar o computador "fazer a matemática" para descobrir o que a entrada teria realizado o melhor. Uma otimização multi-variável pode fazer a matemática para duas ou mais variáveis combinadas para determinar quais níveis juntos teriam alcançado o melhor resultado. Por exemplo, os comerciantes podem dizer ao programa quais insumos gostariam de adicionar à sua estratégia; estes seriam então otimizados para seus pesos ideais, dado os dados históricos testados.
Backtesting pode ser emocionante na medida em que um sistema não lucrativo muitas vezes pode ser magicamente transformado em uma máquina de fazer dinheiro com algumas otimizações. Infelizmente, ajustar um sistema para alcançar o maior nível de rentabilidade passada muitas vezes leva a um sistema que funcionará mal na negociação real. Esta sobre-otimização cria sistemas que parecem bons apenas em papel.
Curve fitting é o uso de análises de otimização para criar o maior número de negócios vencedores com o maior lucro nos dados históricos usados no período de teste. Embora pareça impressionante em resultados de backtesting, o ajuste de curva leva a sistemas não confiáveis, uma vez que os resultados são essencialmente personalizados para apenas esse dado e período de tempo específicos.
Backtesting e otimização fornecem muitos benefícios para um comerciante, mas isso é apenas parte do processo ao avaliar um sistema comercial potencial. O próximo passo de um comerciante é aplicar o sistema a dados históricos que não foram utilizados na fase inicial de teste posterior. (A média móvel é fácil de calcular e, uma vez plotada em um gráfico, é uma poderosa ferramenta visual de tendência-mancha. Para mais informações, leia Médias móveis simples, faça as tendências se destacarem.)
Dados em amostra versus dados fora da amostra.
Antes de iniciar qualquer backtesting ou otimização, os comerciantes podem reservar uma porcentagem dos dados históricos a serem reservados para testes fora da amostra. Um método é dividir os dados históricos em terços e segregar um terço para uso nos testes fora da amostra. Apenas os dados na amostra devem ser usados para o teste inicial e qualquer otimização. A Figura 1 mostra uma linha de tempo onde um terço dos dados históricos é reservado para testes fora da amostra e dois terços são usados para o teste na amostra. Embora a Figura 1 represente os dados fora da amostra no início do teste, os procedimentos típicos teriam a porção fora da amostra imediatamente anterior ao desempenho para a frente.
Uma vez que um sistema comercial foi desenvolvido usando dados na amostra, está pronto para ser aplicado aos dados fora da amostra. Os comerciantes podem avaliar e comparar os resultados de desempenho entre os dados na amostra e fora da amostra.
A correlação refere-se a semelhanças entre os desempenhos e as tendências gerais dos dois conjuntos de dados. As métricas de correlação podem ser usadas na avaliação de relatórios de desempenho de estratégias criados durante o período de teste (um recurso que a maioria das plataformas de negociação fornece). Quanto mais forte for a correlação entre os dois, melhor será a probabilidade de um sistema funcionar bem no teste de desempenho direto e na negociação ao vivo. A Figura 2 ilustra dois sistemas diferentes que foram testados e otimizados em dados na amostra, depois aplicados a dados fora da amostra. O gráfico à esquerda mostra um sistema claramente ajustável para funcionar bem nos dados na amostra e falhou completamente nos dados fora da amostra. O gráfico à direita mostra um sistema que funcionou bem em dados internos e fora da amostra.
Se houver pouca correlação entre o teste na amostra e fora da amostra, como o gráfico esquerdo na Figura 2, é provável que o sistema tenha sido superestimado e não funcionará bem na negociação ao vivo. Se houver uma forte correlação no desempenho, como visto no gráfico certo na Figura 2, a próxima fase da avaliação envolve um tipo adicional de testes fora da amostra, conhecidos como teste de desempenho para a frente. (Para mais informações sobre previsão, consulte Previsão Financeira: o Método Bayesiano.)
Princípios básicos do teste de desempenho avançado.
Muitos corretores oferecem uma conta de negociação simulada onde os negócios podem ser colocados e o lucro e perda correspondente calculados. O uso de uma conta de negociação simulada pode criar uma atmosfera semi-realista para praticar o comércio e avaliar ainda mais o sistema.
A Figura 2 também mostra os resultados para o teste de desempenho para frente em dois sistemas. Mais uma vez, o sistema representado no gráfico à esquerda não consegue ir muito além do teste inicial em dados na amostra. O sistema mostrado no gráfico certo, no entanto, continua a funcionar bem em todas as fases, incluindo o teste de desempenho para frente. Um sistema que mostra resultados positivos com boa correlação entre os testes de desempenho na amostra, fora da amostra e para frente está pronto para ser implementado em um mercado ao vivo.
Testando sistemas de negociação em dados históricos
- 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 (velocidade de processamento em milhões de mensagens por segundo em terabytes de dados)
- C # e estratégia baseada em backtesting e otimização.
- Execução de vários corretores suportada, sinais comerciais convertidos em pedidos FIX.
- QuantDEVELOPER - framework e IDE para estratégias de negociação desenvolvimento, depuração, backtesting e otimização, disponível como um plug-in do Visual Studio.
- QuantDATACENTER - permite gerenciar um data warehouse histórico e capturar dados de mercado em tempo real ou de baixa latência de provedores e trocas.
- QuantENGINE - permite implantar e executar estratégias pré-compiladas.
- multi-ativos, dados de latência de vários períodos, múltiplos corretores suportados.
- OpenQuant - C # e VisualBasic sistema de nível de backtesting e negociação, multi-ativos, testes de nível intradiário, otimização, WFA etc., vários corretores e feeds de dados suportados.
- QuantTrader - ambiente de comércio de produção.
- QuantBase - gerenciamento centralizado de dados.
- QuantRouter - roteamento de dados e pedidos.
- solução multi-ativos, múltiplos feeds de dados suportados, banco de dados suporta qualquer tipo de RDBMS fornecendo uma interface JDBC, e. Oracle, Microsoft SQL Server, Sybase, MySQL etc.
- os clientes podem usar o IDE para rotear sua estratégia em Java, Ruby ou Python, ou podem usar sua própria estratégia IDE.
- Execução de vários corretores suportada, sinais comerciais convertidos em pedidos FIX.
- solução multi-ativos (forex, opções, futuros, ações, ETFs, commodities, instrumentos sintéticos e spreads de derivativos personalizados, etc.), vários feeds de dados são suportados.
- estrutura para desenvolvimento de estratégias de negociação, depuração, backtesting e otimização.
- Execução de vários corretores suportados, sinais comerciais convertidos em pedidos FIX (IB, JPMorgan, FXCM etc.)
- dados diários e intradiários (estoques de nós por 43 + anos, futuros por mais de 61 anos)
- Prático para sinais baseados em preços de backtesting (análise técnica), suporte para a linguagem de programação EasyLanguage.
- apoiando ações e ETFs dos EUA, futuros, índices dos EUA, ações alemãs, índices alemães, forex.
- US $ 249,95 mensalmente para não profissionais (plataforma de software Tradestation somente, sem corretagem)
- $ 299,95 mensalmente para profissionais (apenas plataforma de software de tradestation, sem corretagem)
- suporte a estratégias diárias / intradias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados, análise multi-threaded, gráficos 3D, análise WFA etc.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- link direto para eSignal, Interactive Brokers, IQFeed, myTrack, FastTrack, QP2, TC2000, qualquer feed compatível com DDE, MS, txtfiles e mais (Yahoo Finance.)
- backtesting e trading do sistema de nível de portfólio, multi-ativos, teste de nível intradiário, otimização, visualização, etc.
- permite a integração R, negociação automática na linguagem de script Perl com todas as funções subjacentes escritas em C nativo, preparadas para co-localização do servidor.
- Suporte nativo FXCM e Interactive Brokers.
- Suporte de estratégias diárias / intradiárias, teste de nível de portfólio e otimização - melhor para testes baseados em preços de backtesting (análise técnica), C # scripting - extensões de software suportadas - manipulação de feeds de dados, execução de estratégia, etc.
- Dados de Axioma ou de terceiros.
- análise fatorial, modelagem de risco, análise do ciclo do mercado.
- melhor para testes de backtesting baseados em preços (análise técnica), suporte a estratégias diárias / intradiárias, teste de nível de portfólio e otimização.
- Turtle Edition - motor de backtesting, gráficos, relatórios, testes EoD.
- Professional Edition - editor de sistema mais, análise progressiva, estratégias intradiárias, testes multi-threaded etc.
- Pro Plus Edition - mais gráficos de superfície 3D, scripts etc.
- Builder Edition - IB API, depurador etc.
- Edição profissional $ 1.990.
- Pro Plus Edition $ 2.990.
- Builder Edition $ 3.990.
- suportando estratégias diárias / intradiárias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados etc.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- link direto para Interactive Brokers, MB Trading, TD Ameritrade, FXCM e outros.
- dados de arquivos de texto, eSignal, Google Finance, Yahoo finance, IQFeed e outros.
- funcionalidade avançada - arrendamento de US $ 50 / mês ou licença de vida de US $ 995.
- melhor para sinais baseados em preços de backtesting (análise técnica), suporte a estratégias diárias / intradias, testes e otimização de nível de portfólio, gráficos, visualização, relatórios personalizados.
- Suporta C # e Visual Basic.
- link direto para Interactive Brokers, IQFeed, txtfiles e muito mais (Yahoo Finance.)
- alugar $ 50 por mês.
- suporte a estratégias diárias / intradias, teste de nível de portfólio e otimização, gráficos, visualização, relatórios personalizados.
- sinais técnicos e também fundamentais, suporte multi-ativos.
- $ 595 para a versão premium (suporte a vários provedores de dados e corretores)
- suporte a estratégias diárias / intradiárias, testes de nível de portfólio e otimização.
- melhor para sinais baseados em preços de backtesting (análise técnica)
- dados de compilação de ações, futuros e divisas (ações diárias dos EUA a partir de 1990, futuros diários de 31 anos, forex a partir de 1983 etc.)
- usa o idioma MQL4, usado principalmente para negociar o mercado forex.
- Suporta vários corretores de Forex e feeds de dados.
- suporta o gerenciamento de várias contas.
- suporte a estratégias diárias / intradiárias, testes de nível de portfólio e otimização.
- melhor para sinais baseados em preços de backtesting (análise técnica), suporte para a linguagem de programação EasyLanguage.
- Suporta múltiplos feeds de dados (Bloomberg, Thomson Reuters, CSI, CQG, eSignal, etc.), suporte direto para vários corretores (Interactive Brokers etc.)
- Vida útil multidatos $ 1.497.
- Multicharts Pro $ 9,900 (Bloomberg & Thomson Reuters, alimentação de dados, etc.)
- estoques e ETFs dos EUA (diariamente)
- dados fundamentais pontuais desde 1999.
- estratégias longas / curtas, sinais orientados por preços / fundamentais.
- "Gerente" - $ 199 / mês - completa a funcionalidade.
- Este produto é para uso de comerciantes / pesquisadores de baixa, média e alta freqüência. Todos os cálculos são feitos usando dados de mercado de alta freqüência que beneficiam comerciantes / pesquisadores de baixa e alta freqüência.
- backtesting intradía, gerenciamento de risco de portfólio, previsão e otimização a cada preço segundo, minutos, horas, fim de dia. Entradas do modelo totalmente controláveis.
- Fontes de dados de marca de mercado de 8k + desde 2018 (ações, índices e ETFs negociados no NASDAQ). Os clientes também podem carregar seus próprios dados de mercado (por exemplo, ações chinesas).
- 40 + métricas do portfólio (VaR, ETL, alfa, beta, razão de Sharpe, razão Omega, etc.)
- suporta R, Matlab, Java e Python.
- 10 + otimizações de portfólio.
- Preços de ações dos EUA (diariamente / intradía), desde 1998, dados da QuantQuote.
- dados forex da FXCM.
- apoiando Trader & Interactive Brokers para negociação ao vivo.
- Preços de ações e ETF dos EUA (diariamente / intradiário), desde 2002.
- dados fundamentais da Morningstar (mais de 600 métricas)
- apoiando Interactive Brokers para negociação ao vivo.
- simples de usar, estratégias de alocação de ativos, dados desde 1992.
- Momento de série temporal e estratégias de média móvel em ETFs.
- Estratégias simples de escolha de estoque de Momentum e Simple Value.
- dados de até 25 anos para 49 ações Futures e S & P500.
- caixa de ferramentas em Python e Matlab.
- Quantiacs hospeda competições de negociação algorítmica com investimentos variando de 500k a 1 milhão de dólares
- Backtest em dois cliques.
- Navegue na biblioteca de estratégias, ou crie e otimize sua estratégia.
- Comércio de papel, negociação automatizada e e-mails em tempo real.
- Dados FX (Forex / Moeda) em pares principais, voltando para 2007.
- negociação ao vivo compatível com qualquer corretor que esteja usando o Metatrader 4 como seu backend.
- Suporta backtesting de múltiplas estratégias de negociação em um único portfólio unificado.
- Suporta dezenas de tipos de barras intradiárias e diárias.
- Suporta 18 tipos diferentes de scripts que estendem a plataforma e podem ser escritos em C #, VB, F # e R.
- Suporta um SDK de conectividade que pode ser usado para conectar a plataforma a qualquer fornecedor de dados ou corretor.
- Quantitative Stock Screener e Backtester.
- 18.000 ações cobrindo os últimos 20 anos, os dados provêm da Morningstar, com dados macroeconômicos de Quandl.
- fórmula de built-int e editor de funções.
- fatores de equidade múltipla com valores de referência alfa sobre bench-cap, múltiplos universos de investimento e filtros de gerenciamento de risco.
- estratégias de alocação de ativos backtests, mistura de alocação de ativos e seleção de fator em um portfólio.
- US $ 50 / mês ou US $ 480 / ano - universidades de investimento mais amplas dos EUA, ações do Reino Unido e da UE, estratégias de alocação de ativos.
- mais de 10 000 estoques dos EUA, dados até 20 anos de história.
- critérios técnicos fundamentais +.
- US $ 50 por mês - funcionalidade completa.
- instalações eficazes de armazenamento e armazenamento de dados, instalações gráficas para análise de dados, facilmente estendidas através de pacotes.
- extensões recomendadas - quantstrat, Rmetrics, quantmod, quantlib, PerformanceAnalytics, TTR, portfólio, portfolioSim, backtest, etc.
- computação paralela e GPU, backtesting e otimização, amplas possibilidades de integração, etc.
- os usuários podem usar o VBA para criar estratégias para o BacktestingXL Pro, o conhecimento do VBA é opcional, os usuários podem construir regras de negociação em uma planilha usando códigos de teste de teste padrão pré-fabricados.
- suporta piramide, limitação de posição curta / longa, cálculo de comissão, rastreamento de patrimônio, controle extra-monetário, customização de preço de compra / venda.
- relatórios múltiplos de desempenho / risco.
- extensões recomendadas - pandas (Python Data Analysis Library), pyalgotrade (Python Algorithmic Trading Library), Zipline, ultrafinanças, etc.
- permite que o usuário misture vários ETF / opções / futuros / fatores de equidade com alfa comprovada sobre benchmarks de mercado.
- $ 149 / mo - opção livre + opções de seleção, estratégias de futuros, estratégias vix.
- ferramenta de backtesting baseada em nível básico de nível básico para testar a força relativa e estratégias de média móvel em ETFs.
- estoques dos EUA, dados da ValueLine de 1986-2018.
- preço e dados fundamentais, 1700 ações, teste mensal de granularidade.
Como testar e interpretar o desempenho do sistema comercial.
por Wayne A. Thorp, CFA.
Wayne Thorp falou recentemente na Conferência de Investidores AAII de 2017. Para obter informações sobre como se inscrever nas gravações das apresentações, acesse aaii / conferenceaudio para obter mais detalhes.
Pegue qualquer revista de comércio de análises técnicas e, inevitavelmente, você percorrerá empresas e profissionais que comercializem sistemas de negociação de análise técnica. Como qualquer outro tipo de estratégia ou metodologia de investimento, uma maneira popular de determinar como um sistema se apaga contra outro é comparando os retornos anuais. Embora esses números sejam úteis para separar os vencedores dos perdedores, é importante ter em mente que uma grande quantidade de fatores afeta o desempenho de qualquer sistema comercial.
Ao julgar a eficácia do desempenho relatado por um sistema ou o desempenho de um sistema que você cria, tenha em mente vários problemas:
Os números de desempenho são baseados em backtesting ou negociação real? O sistema é otimizado e, em caso afirmativo, como ele funciona com o & ldquo; hold-out & rdquo; períodos? Como lidar com o reinvestimento de renda? Existem implicações fiscais? Quais são os pressupostos inerentes ao próprio sistema, as comissões, o deslizamento e o gerenciamento de dinheiro e risco param?
Este artigo irá orientá-lo através de uma discussão geral sobre como esses elementos podem afetar o desempenho financeiro de um sistema comercial.
Resultados de negociação reais?
Quando confrontado com os resultados de um sistema comercial, seu primeiro pensamento deveria ser: como esses resultados foram gerados? Se um sistema reivindica rendimentos de 25% ao ano, isso é baseado em negociação real ou histórico de backtesting?
Backtesting envolve o teste de um sistema usando um conjunto de dados históricos. Os resultados baseados na negociação real têm um maior grau de credibilidade porque os retornos são gerados em condições reais de negociação à medida que ocorrem. Em segundo lugar, os resultados baseados em backtesting são mais facilmente manipulados para gerar o maior retorno possível (a prática é chamada de otimização).
Desempenho de calibração.
No entanto, o teste de retorno usando dados históricos é a maneira mais eficiente de derivar estatísticas de desempenho do sistema. Backtesting é a maneira mais rápida e popular para avaliar a rentabilidade potencial de um sistema de negociação. O processo de backtesting envolve a execução de um sistema sobre dados históricos. O resultado final é estatísticas de desempenho do sistema que mostram como o sistema teria realizado se ele realmente tivesse sido usado durante esse período de tempo. Para fazer backup de um sistema, tudo o que você precisa é o banco de dados histórico.
Idealmente, sempre que você testar um sistema, você deseja usar um & ldquo; significativo & rdquo; quantidade de dados, a fim de capturar tantas fases de mercado diferentes quanto possível. A quantidade de dados que você precisará depende, em parte, do sistema que você está testando e mdash; em tempo real, os sistemas tick-by-tick requerem vários dias ou semanas de dados de marca, enquanto os sistemas de fim de dia precisarão de pelo menos vários anos de dados diários. A linha inferior, no entanto, é que, quanto mais dados você possui, mais completa a imagem que você pode tirar dos seus resultados de teste.
Uma desvantagem para o teste histórico é que os resultados são baseados em eventos ocorridos no passado. Portanto, o máximo que você pode esperar para aprender com backtesting é como um sistema pode executar. Não há garantia de que o que aconteceu no passado se repita no futuro. A utilidade do backtesting reside na sua capacidade de fornecer informações sobre como um sistema pode reagir em várias condições de mercado. Backtesting muitas vezes pode mostrar-lhe se um sistema funciona melhor durante os mercados de tendências em comparação com os mercados comerciais (laterais), ou vice-versa.
Você também deve ter em mente o período durante o qual um sistema é testado novamente. Se os resultados de backtested cobrem & ldquo; odd & rdquo; períodos, isso deve servir como uma bandeira vermelha para possíveis manipulações. As empresas às vezes apenas relatam os resultados dos períodos em que o sistema melhorou. Se os resultados forem para o período de 1992 a 1999, você deve se perguntar como o sistema aconteceu durante as recessões do mercado de 1991 e 2000. Muitas vezes, o desempenho do sistema fora do período de relatório afetará negativamente o desempenho geral. Idealmente, você gostaria de ter resultados do sistema que cobrem vários ciclos de mercado e mdash, tanto bom como ruim.
Um pensamento final a considerar é como um sistema executado em comparação com um & ldquo; compre e segure & rdquo; estratégia. Toda a idéia por trás da negociação de uma determinada estratégia é conseguir maiores retornos do que se você simplesmente comprou o estoque e o tenha mantido durante o período. Se você não conseguir superar essa estratégia, é preciso voltar para o quadro de desenho e tentar novamente.
Otimização do sistema.
A otimização é o processo de & ldquo; fitting & rdquo; um sistema de negociação para um conjunto específico de dados. Por exemplo, suponha que você esteja usando um sistema de média móvel simples que gere sinais de compra quando o preço de fechamento se mova acima da média móvel e venda sinais quando o preço de fechamento se move abaixo da linha média móvel. A otimização executaria o sistema através dos dados, testando diferentes comprimentos médios móveis para encontrar o período que compensou o maior ganho ou a menor perda.
O problema com a otimização é que você está encontrando o melhor conjunto de parâmetros por um período fixo no passado. No entanto, não há garantia de que o passado se repita. Embora a otimização não seja necessariamente uma coisa ruim, é fácil cair na armadilha do excesso de otimização. No final, você pode ter um sistema que executa espetacularmente no período de otimização, mas desmorona quando testado em qualquer outro período.
Uma maneira de validar ou refutar a eficácia da otimização é através do uso de um & ldquo; hold-out & rdquo; period & mdash; um conjunto de dados sobre os quais o sistema não está otimizado. Voltando ao nosso exemplo anterior, vamos assumir que você tenha 20 anos de dados históricos para testes anteriores. Uma técnica de retenção a seguir seria otimizar o sistema em mais da metade dos dados (10 anos) para chegar ao ótimo período médio móvel. A partir daí, você testaria o sistema otimizado durante a segunda metade dos dados. Se os resultados dos dois períodos de 10 anos forem comparáveis, você pode ter mais certeza de que o sistema funcionará de forma semelhante em outros períodos e, o mais importante, para o futuro. Se, por outro lado, os resultados nos últimos 10 anos diferem drasticamente dos primeiros 10 anos, você deve começar a questionar a viabilidade do sistema.
outros fatores.
Você deve estar ciente de alguns fatores que, enquanto o software de hoje não os leva em conta, pode afetar o desempenho geral de um sistema de negociação.
O recebimento ou reinvestimento de dividendos é um problema que não é tratado pela maioria dos programas de análise técnica. No entanto, pode ter uma influência significativa na performance de um sistema. Se você negociar ações que pagam dividendos, a receita de dividendos recebida terá um impacto positivo no desempenho.
Outra questão que poucos, se houver, os pacotes de sistemas de negociação explicitamente contabilizados são impostos. Dependendo do período de retenção e do prazo, a curto prazo ou a longo prazo, a taxa de imposto marginal sobre seus ganhos será diferente. Aqueles que detêm um investimento por mais de um ano estão sujeitos à taxa de ganhos de capital de longo prazo de 20%. Se você realizar um investimento por menos de um ano, os ganhos são vistos como receita, que é tributada em sua taxa marginal de imposto de renda. Dependendo do seu fator de imposto de renda, portanto, você precisaria gerar uma taxa de retorno maior para superar os efeitos tributários em comparação com alguém que mantém seu (s) investimento (s) por mais de um ano.
Suposições do Sistema.
Quando você constrói um sistema comercial, os pressupostos que você faz (ou não conseguem) desempenham um papel na forma como seu sistema pode executar.
Essas premissas envolvem a posição patrimonial inicial, a negociação na margem, o manuseio de transações curtas, comissões, escassez de tempo e preço, paradas de gerenciamento de risco e dinheiro e juros ganhos em saldos inativos.
Patrimônio inicial.
O valor do capital inicial é a quantia de dinheiro que você possui em sua conta antes de começar a negociar. Ao começar com um montante considerável de capital, você ganha maior flexibilidade na forma de entrar em uma posição maior, o que, por sua vez, pode gerar maiores ganhos (ou perdas) em dólares totais.
Normalmente, ao entrar com mais dinheiro, você pode permanecer no jogo por mais tempo. Isto é especialmente verdadeiro se você planeja ações curtas. Os vendedores curtos esperam lucrar com o declínio dos preços das ações por empréstimo e vendê-lo primeiro, depois comprando o estoque mais tarde a um preço mais baixo e retornando as ações emprestadas. Quando uma ação é vendida em curto, sua perda potencial se estende muito além do seu investimento inicial. Dependendo de quem você pergunta, você provavelmente receberá respostas diferentes sobre o & ldquo; ideal & rdquo; equilíbrio patrimonial. Em última análise, depende de você, apenas tenha certeza de que pode perder isso!
Curto, Longo ou Ambos?
Uma questão crítica envolve a forma de lidar com ordens de venda. Quando uma venda é desencadeada, você pode vender a sua posição longa e ir em dinheiro, ou você pode optar por ser mais agressivo e "ldquo; dobrar". & Rdquo; Isso envolve a venda de sua posição longa e o estabelecimento de uma posição curta em que você lucra se a segurança diminui em valor, mas você perde dinheiro se a segurança aumentar em valor.
Margin investing é um tópico delicado que os investidores devem entender antes de tentar. Margem é o dinheiro que você empresta de um corretor, semelhante a um empréstimo, que você então usa para comprar ações. Você não pode comprar todas as ações na margem: os preços abaixo de US $ 5, certas outras ações da Nasdaq e IPOs dentro de um determinado período de sua introdução estão excluídos.
Os corretores são regulados pela Reserva Federal quanto ao quanto eles podem se estender aos seus clientes. Atualmente, você pode inicialmente emprestar até 50% do valor de seus valores mobiliários margináveis para ações. Por exemplo, suponha que você tenha US $ 10.000 em uma conta de corretagem aprovada pela margem. Isso significa que você pode comprar até US $ 20.000 de títulos margináveis, com 50% provenientes de você e 50% da corretora. Outra maneira de dizer isso é que você tem US $ 20.000 de & ldquo; poder de compra. & Rdquo;
O valor que você pode contrair empréstimos na margem flutua diariamente à medida que os preços dos títulos margináveis aumentam e diminuem. Se os preços aumentarem, também o valor que você pode emprestar. O contrário também é válido: à medida que os preços caem, o valor dos valores mobiliários marginais e a sua garantia também diminuem. Se o valor de seus títulos com margem de lucro caindo abaixo de um nível mínimo predeterminado, você receberá um & ldquo; call call & rdquo; do seu corretor. Neste momento, você deve liquidar parte da sua posição existente ou enviar mais dinheiro para trazer o valor da sua conta de volta acima do nível predeterminado; ou seu corretor pode vender seus títulos sem ligar.
Investir na margem traz riscos e recompensas, ampliando os efeitos de ganhos e perdas. Voltando ao nosso exemplo de conta de margem de US $ 10.000, suponha que você compre 1.000 ações de ações com US $ 20. Você paga por esta transação emprestando $ 10.000 de seu corretor e usando seus $ 10.000 de sua conta. Se, em um ano, o preço suba para US $ 40 por ação, o valor do seu investimento aumentou de US $ 20.000 para US $ 40.000. Se você vender as ações e pagar os $ 10.000 que você emprestou do seu corretor (incluindo juros de margem e juros cobrados pelo corretor pelo privilégio de usar seu dinheiro), você teria aproximadamente $ 30.000 restantes e $ 20.000 dos quais é lucro para você.
Por outro lado, se você simplesmente usa seus US $ 10.000 para comprar 500 ações das ações de US $ 20, seu lucro seria de cerca de US $ 10.000. No primeiro exemplo, você teria feito US $ 20.000 em um investimento de US $ 10.000, enquanto no segundo você teria feito US $ 10.000 nesse mesmo investimento de US $ 10.000.
Assim como a margem pode melhorar seu lucro, também pode piorar suas perdas. Se as ações de US $ 20 que você comprou inicialmente na margem cai para US $ 15 por ação, o valor do investimento cai de US $ 20.000 para US $ 15.000. Depois de pagar os US $ 10.000 que você emprestou do corretor, você fica com US $ 5.000 dos seus $ 10.000 originais. Sem margem, as 500 ações que você comprou em US $ 20 agora valerão um total de US $ 7.500. Com margem, você perde $ 2.500 mais do que você teria usando apenas seu próprio dinheiro. Esteja ciente, também, de que, em nossos exemplos, não contabilizamos comissões, juros de margem ou impostos sobre ganhos de capital, o que, como discutimos, afetará a linha de fundo.
Comissões.
As pessoas tendem a esquecer o impacto dramático das comissões e as taxas pagas pela compra e venda de valores mobiliários através de um corretor e podem ter sobre o sucesso geral de um sistema de negociação.
Para obter uma imagem mais precisa da rentabilidade de um sistema, é importante incluir os custos de comissão. Isto é especialmente importante para um sistema que gera inúmeros sinais de compra e venda, o que reduzirá drasticamente os lucros ou aumentará as perdas de um sistema. As comissões podem variar muito dependendo do tipo de segurança que você está negociando e se você está usando um corretor de desconto profundo ou um serviço completo.
Outro elemento que muitos comerciantes perdem de vista é o fato de que raramente você poderá entrar ou sair de um comércio exatamente no mesmo preço no qual o sinal de negociação foi gerado. Se seu sistema for baseado em dados de fim de dia, um sinal de compra ou venda será gerado após o fechamento do mercado. Realmente, sua primeira oportunidade de atuar no sinal está em aberto no dia seguinte. A diferença entre o preço ao qual o sinal foi gerado e o preço no qual seu pedido está preenchido é chamado de derrapagem. Ao testar um sistema de negociação, é importante explicar a derrapagem; caso contrário, os resultados comerciais são exagerados. Alguns programas de software permitem que você especifique o deslizamento em dólares ou em porcentagem, enquanto outros permitem que você crie uma demora entre o sinal e a execução da ordem.
Talvez a ferramenta mais útil no desenvolvimento de um sistema comercial seja uma parada. Em comparação com comissões e derrapagens, que são custos associados a um sistema, as paradas são mais um sistema & ldquo; tweaking & rdquo; mecanismo. As paradas são pontos definidos pelo usuário onde uma posição está fechada. Quando uma parada é desencadeada, a posição é fechada independentemente do status atual de suas regras de negociação. Stops permite que você limite suas perdas se um comércio for contra você. As paradas que você especifica em um sistema de negociação são semelhantes às ordens de parada-perda que você pode colocar ao executar uma negociação. Como o nome sugere, uma ordem stop-loss é projetada para parar uma perda. Se você comprar um estoque por US $ 30, você pode se proteger contra a possibilidade de cair no preço, colocando uma venda de stop-loss em US $ 30. Um pedido de mercado para vender o estoque é colocado se o estoque cai abaixo de US $ 30.
Existem várias estratégias que utilizam paradas ao criar um sistema de negociação, sendo o mais popular o ponto de equilíbrio, a inatividade, a perda máxima, o objetivo de lucro e as paradas de trânsito.
Breakeven pára de fechar as posições abertas quando o valor fechado da posição é igual ao valor no qual o comércio atual foi aberto. A parada é colocada ao preço onde o comércio poderia ser fechado e o produto gerado seria igual ao valor patrimonial quando o comércio fosse aberto.
Paradas de inatividade fecharão uma posição aberta quando o preço da segurança não gerar uma porcentagem mínima ou mudança de preço dentro de um período de tempo especificado. Se você especificar 1% como a mudança mínima e 20 como o número de períodos, o sistema fecharia automaticamente quaisquer posições curtas longas onde o preço da segurança não aumentou (diminuído) em pelo menos 1% em qualquer período de tempo de 20 períodos .
As paradas de perda máxima (perda máxima) são úteis como uma estratégia de gerenciamento de risco, pois você pode especificar a porcentagem exata ou o valor em dólar do seu capital total que deseja arriscar em uma determinada posição. Essas paradas fecham uma posição aberta quando as perdas resultantes do comércio excedem o valor de perda máxima especificada.
O alvo de lucro deixa de sair do comércio uma vez que atinge um nível de lucro predeterminado. Portanto, se você especificar 10% como alvo de lucro, as posições abertas serão fechadas quando gerarem lucro de 10% (após comissões).
Por fim, o arrastar pára fechar as posições abertas quando uma quantidade especificada dos ganhos da posição aberta atual é perdida. Cada vez que os lucros de uma posição atingem uma nova alta, a parada final é movida para um nível que permite que uma parcela específica dos lucros da posição seja perdida.
Você também pode especificar o número de períodos a serem ignorados em paradas de saída. Por exemplo, se você instrui o sistema a ignorar três períodos, a parada final será retardada em três períodos. Portanto, os últimos três períodos & rsquo; lucros ou perdas serão ignorados ao determinar o nível de parada atual. Esses atrasos são úteis na filtragem de balanços de preços. No entanto, você precisa ter cautela ao usar paradas de saída. Eles não são projetados para limitar perdas, mas para bloquear os lucros.
Interesse inativo.
Dependendo do tipo de sistema que você está usando, pode haver momentos em que você não estiver no comércio. Isso significa que todos os negócios longos foram fechados e os negócios curtos foram cobertos. Idealmente, você ganhará algum interesse neste equilíbrio ocioso e ldquo; & rdquo; O interesse que você pode ganhar é influenciado por vários fatores, incluindo a corretora que você usa para executar suas negociações, as contas de caixa disponíveis e o tamanho de sua conta.
Como funciona: um exemplo.
Agora que você sabe o que considerar ao testar um sistema de negociação e examinar os resultados em termos gerais, deixe-nos dar uma olhada em um exemplo de como esses fatores podem afetar o desempenho de um sistema real usando dados históricos. Para este artigo, utilizamos o MetaStock 7.0 da Equis International.
Antes de começar a testar um sistema, obviamente você precisa ter um sistema para testar. Um sistema de comércio pode ser tão simples ou tão complexo como você pode imaginar, de um sistema de cruzamento médio móvel para um composto por vários indicadores altamente evoluídos. Para o nosso exemplo aqui, usamos uma EMA média exponencial de 50 dias. A média móvel exponencial, ou ponderada exponencialmente, é calculada tomando uma porcentagem do preço de fechamento de hoje e aplicando-a à média móvel de ontem, com maior ênfase no preço mais recente. (Para saber mais sobre as médias móveis exponenciais, consulte o artigo da Revista AAII de agosto de 1999, & ldquo; Uma introdução às médias móveis: Indicadores técnicos populares & rdquo; em nosso site.)
Com o nosso sistema, os sinais de compra são gerados (e posições curtas cobertas) quando o preço de fechamento se move acima da média móvel exponencial de 50 dias. Da mesma forma, as posições longas são fechadas e as posições curtas são inseridas quando o preço de fechamento cai abaixo da média móvel exponencial de 50 dias. Este sistema pode parecer excessivamente simplista, mas ilustra os elementos que discutimos ao avaliar, testar e otimizar um sistema comercial.
Para mostrar como os fatores como comissão, desvio e paradas podem afetar o desempenho geral de um sistema de negociação, devemos ter uma referência para comparar seus impactos. Portanto, começamos apresentando um sistema que, de fato, ignora muitos desses problemas.
Usando o Walt Disney, realizamos nosso teste inicial ao longo do período de 20 anos, de 3 de novembro de 1980 a 31 de outubro de 2000. Os únicos pressupostos que fizemos para este teste são que lidamos com negócios longos e curtos e que começamos com um saldo da conta sem margem de US $ 10.000. Não contabilizamos comissões, derrapagens, paradas ou juros sobre saldos inativos.
Correndo este & ldquo; sterile & rdquo; O sistema resultou em um lucro líquido de US $ 20.603,32 durante o período. Enquanto o sistema ganhou dinheiro, ficou bem abaixo do retorno compensado por uma estratégia de compra e retenção. Se você tivesse comprado US $ 10.000 no estoque da Disney no início do período e vendido no final, você ganharia US $ 384.480,56! Neste ponto, é evidente que este sistema precisa de alguma melhora antes que esteja pronto para ser negociado no mundo real.
Em seguida, aplicamos nossos pressupostos ao sistema, individualmente primeiro e depois em combinação. Começamos testando nosso sistema, assumindo que tomamos emprestado 20% do nosso patrimônio na margem. Embora os regulamentos federais lhe permitam emprestar até 50%, recomendamos isso apenas para comerciantes experientes que estão bem versados nas implicações da negociação na margem. A negociação na margem teve um efeito ligeiramente negativo neste sistema, e nós descontamos US $ 20.461,44, ou US $ 141,88 abaixo do que teríamos obtido se não tivéssemos negociado na margem. No entanto, se tivéssemos seguido uma estratégia de compra e retenção usando margem, teríamos ganho US $ 97.000 adicionais.
Em seguida, testámos o sistema, assumindo que pagamos uma comissão de US $ 15 por cada comércio gerado pelo sistema e $ 15 por cada compra e US $ 15 por cada venda. O 807 compra e venda do sistema gerado ao longo do período de 20 anos nos custou US $ 12.105 em comissões. No entanto, o custo verdadeiro foi de US $ 14.101,46, uma vez que o dinheiro gasto em comissões não pode ser gasto em negócios que podem nos custar em negócios lucrativos ou nos salvar na perda de negócios. Obviamente, dependendo do preço que você paga pelas transações e do número de negócios que você coloca, o valor que você paga em comissões pode variar significativamente.
Com contabilização da derrapagem, instruiu o sistema a executar negócios no preço de abertura no dia seguinte à geração do sinal. Isso adiciona um maior grau de realismo ao sistema, já que os sinais não são gerados até o fechamento da negociação do dia. Este & ldquo; delay & rdquo; em execução teve um tremendo impacto no desempenho geral do sistema, uma perda líquida de US $ 1.604,27, ou US $ 22.207,59 menos que o & ldquo; sterile & rdquo; sistema.
Em um sistema como esse, que é totalmente investido, o interesse ocioso não é muito considerado. Na verdade, o único interesse que ganhamos no nosso saldo ocioso foi durante os primeiros 50 dias do sistema. Uma vez que não houve média móvel exponencial de 50 dias durante este período, não estávamos em nenhum negócio e ganhamos US $ 60.
Por fim, entramos em nossas paradas protetoras para o sistema. Os dois que usamos foram uma parada final e uma parada de perda máxima. Nossa parada de perda máxima encerra um comércio se perder 2% do nosso patrimônio remanescente. Portanto, em essência, estamos arriscando 2% do nosso patrimônio por comércio. Lembre-se, no entanto, que devido à derrapagem, corremos o risco de perder mais de 2% em um determinado comércio. Nossa parada final arrisca 20% do nosso lucro, ignorando um período para filtrar as variações de preços aleatórios. A implementação de nossas paradas no sistema tem um impacto positivo significativo, e custou US $ 102.050,32, US $ 81.447 a mais do que o sistema estéril.
Tendo discutido todos os nossos fatores de forma isolada e mostrando como eles afetam o desempenho do nosso sistema, é hora de ver como eles funcionam em conjunto um com o outro. Nosso último teste combina todos os pressupostos que cobrimos, e o resultado final contrasta com o resultado que chegamos. Nesse caso, nosso sistema esgotou todo o patrimônio da nossa conta, deixando-nos com perda de dinheiro, um valor final de US $ 9,999.46. No geral, o sistema gerou 502 negócios, que nos custaram US $ 7.530 em comissões. Além disso, nosso saldo ocioso ganhou US $ 268,96 nos 3,630 dias em que o sistema estava fora de todos os negócios, devido em grande parte à falta de liquidez para executar negócios. Obviamente, este sistema precisa de algum trabalho antes que esteja pronto para negociação real!
Ação do usuário necessária.
O que às vezes se perde na discussão de sistemas de negociação é o fato de que, embora sejam mecânicos na geração de sinais de compra e venda, a maioria dos programas não é capaz de executar suas ordens para você. Portanto, o desempenho do seu sistema depende, em última análise, de se você executa todos e cada comércio quando você deveria. A coisa mais difícil para muitos comerciantes não é criar, testar ou otimizar um sistema, ele está realmente seguindo em tempo real.
Dependendo do tipo de sistema que você está negociando, você pode ter que dedicar uma quantidade significativa de tempo para monitorá-lo e executar trades. Os sistemas intraday, aqueles baseados em dados atrasados em tempo real ou intradía, podem exigir sua atenção total ao longo de um dia de negociação. Os sistemas de fim de dia, sem exigir a mesma atenção, exigem um exame diário. Portanto, o tempo é outro custo intangível associado a seguir uma estratégia de negociação sistemática.
Conclusão.
É claro, a partir de nossa discussão, que muitas forças estão trabalhando quando você troca um sistema. Comissões, derrapagens, paradas de proteção, juros inativos, margem e curto comércio, todos de sua maneira única, influenciam os resultados de um sistema de negociação e rsquo; s.
Comparando os resultados do nosso teste inicial onde ignoramos muitos desses fatores aos resultados gerados quando os integramos, mostra a importância de levá-los em consideração ao avaliar ou testar um sistema de negociação.
Discussão.
Desculpe, você não pode adicionar comentários em um dispositivo móvel ou durante a impressão.
&cópia de; 2018 A Associação Americana de Investidores Individuais.
Este conteúdo originalmente apareceu no AAII Journal.
No comments:
Post a Comment