Wednesday, 23 August 2017

Back Test Your Trading System


Voltar a testar suas idéias de negociação Uma das coisas mais úteis que você pode fazer na janela de análise é testar novamente sua estratégia de negociação em dados históricos. Isso pode lhe dar uma visão valiosa dos pontos fortes e fracos do seu sistema antes de investir dinheiro real. Esta única característica da AmiBroker é poupar muito dinheiro para você. Escrevendo suas regras comerciais Primeiro você precisa ter regras objetivas (ou mecânicas) para entrar e sair do mercado. Este passo é a base de sua estratégia e você precisa pensar sobre isso mesmo, já que o sistema deve combinar sua tolerância ao risco, tamanho do portfólio, técnicas de gerenciamento de dinheiro e muitos outros fatores individuais. Uma vez que você tenha suas próprias regras de negociação, você deve escrevê-las como comprar e vender regras na AmiBroker Formula Lanugage (mais curto e cobrir se você quiser testar também negociação curta). Neste capítulo consideramos o sistema de cruzamento médio móvel muito básico. O sistema compraria contratos de ações quando o preço de fechamento subir acima da média móvel exponencial de 45 dias e venderá contratos de ações quando o preço de fechamento cai abaixo da média móvel exponencial de 45 dias. A média móvel exponencial pode ser calculada em AFL usando sua função embutida EMA. Tudo o que você precisa fazer é especificar a matriz de entrada e o período de média, portanto, a média móvel exponencial de 45 dias dos preços de fechamento pode ser obtida pela seguinte declaração: O identificador próximo refere-se a matriz incorporada que possui os preços de fechamento do símbolo atualmente analisado . Para testar se o preço de fechamento se cruzar acima da média móvel exponencial, usaremos a função cruzada incorporada: buy cross (close, ema (close, 45)). A declaração acima define uma regra de negociação de compra. Dá quot1quot ou quottruequot quando o preço próximo cruza acima de ema (close, 45). Então, podemos escrever a regra de venda que daria quot1quot quando ocorrer situação inversa - fechar cruzamentos de preço abaixo de ema (fechar, 45): vender cruzar (ema (fechar, 45), fechar) Por favor note que estamos usando a mesma função cruzada, mas A ordem oposta de argumentos. Então, a fórmula completa para negócios longos será assim: comprar cross (close, ema (close, 45)) vender cross (ema (close, 45), fechar) NOTA: Para criar uma nova fórmula, abra o Editor de fórmulas usando o Analysis-gtFormula Editor Menu, digite a fórmula e escolha o menu Ferramentas-gtSend to Analysis no editor de fórmulas Para testar novamente o sistema, basta clicar no botão Voltar na tela de análise automática. Certifique-se de ter digitado a fórmula que contém, pelo menos, as regras de compra e venda (conforme mostrado acima). Quando a fórmula está correta, o AmiBroker começa a analisar seus símbolos de acordo com suas regras de negociação e gera uma lista de trades simulados. Todo o processo é muito rápido - você pode voltar a testar milhares de símbolos em questão de minutos. A janela de progresso mostrará o tempo de conclusão estimado. Se você deseja interromper o processo, basta clicar no botão Cancelar na janela de progresso. Quando o processo é concluído, a lista de trades simulados é mostrada na parte inferior da janela de análise automática. (O painel de resultados). Você pode examinar quando os sinais de compra e venda ocorreu apenas clicando duas vezes no painel Comércio no resultado. Isso lhe dará sinais crus ou não filtrados para cada barra quando as condições de compra e venda forem atendidas. Se você quiser ver apenas as setas de comércio único (abrir e fechar o comércio selecionado atualmente), você deve clicar duas vezes na linha enquanto pressiona a tecla SHIFT pressionada. Alternativamente, você pode escolher o tipo de exibição selecionando o item apropriado no menu de contexto que aparece quando você clica no painel de resultados com o botão direito do mouse. Além da lista de resultados, você pode obter estatísticas muito detalhadas sobre o desempenho do seu sistema clicando no botão Relatório. Para saber mais sobre as estatísticas do relatório, verifique a descrição da janela do relatório. Alterar as configurações de teste de volta O mecanismo de teste de volta no AmiBroker usa alguns valores predefinidos para executar sua tarefa, incluindo o tamanho do portfólio, periodicidade (dailyweeklymonthly), quantidade de comissão, taxa de juros, perda máxima e paradas de lucro, tipo de negociação, campos de preços e assim em. Todas essas configurações podem ser alteradas pelo usuário usando a janela de configurações. Depois de alterar as configurações, lembre-se de executar o teste de volta novamente novamente se desejar que os resultados sejam sincronizados com as configurações. Por exemplo, para voltar a testar as barras semanais em vez de diariamente, basta clicar no botão Configurações, selecionar Semanal da caixa de combinação de Periodicidade e clicar em OK. Em seguida, execute sua análise clicando no teste Voltar. Nomes das variáveis ​​reservadas A tabela a seguir mostra os nomes das variáveis ​​reservadas usadas pelo analisador automático. O significado e os exemplos sobre a sua utilização são apresentados posteriormente neste capítulo. Permite controlar o valor do dólar ou percentual do portfólio que é investido no comércio (ver explicações abaixo) Análise automática (novo em 3.9) Até agora, discutimos o uso bastante simples do testador de back. AmiBroker, no entanto, suporta métodos e conceitos muito mais sofisticados que serão discutidos mais adiante neste capítulo. Observe que o usuário iniciante deve primeiro jogar um pouco com os tópicos mais fáceis descritos acima antes de prosseguir. Então, quando estiver pronto, veja os seguintes recursos recentemente introduzidos no back-tester: a) host de scripts AFL para escritores de fórmula avançados b) suporte aprimorado para negociações curtas c) maneira de controlar o preço de execução da ordem a partir do Script d) vários tipos de paradas no testador traseiro e) dimensionamento da posição f) tamanho do lote redondo e tamanho da marca g) conta de margem h) backtesting futuros O host de scripts AFL é um tópico avançado que é abordado em um documento separado disponível aqui e não discuto Neste documento. Os recursos restantes são muito mais fáceis de entender. Nas versões anteriores do AmiBroker, se você queria testar o sistema usando transações longas e curtas, você só poderia simular a estratégia de parar e reverter. Quando a posição longa foi fechada, uma nova posição curta foi aberta imediatamente. Foi porque as variáveis ​​reservadas de compra e venda foram utilizadas para ambos os tipos de negócios. Agora (com versão 3.59 ou superior) existem variáveis ​​reservadas separadas para abrir e fechar negócios longos e curtos: buy-quottruequot ou 1 valor abre venda de longo prazo - quottruequot ou 1 valor fecha curto comércio curto - quottruequot ou 1 valor abre cobertura comercial curta - quottruequot ou 1 valor encerra o comércio curto Som para testar as negociações curtas que você precisa para atribuir variáveis ​​curtas e variáveis. Se você usa o sistema stop-and-reverso (sempre no mercado), simplesmente atribua vender a curto e compre para cobrir a cobertura de venda curta Compre. Isso simula o modo como as versões pré-3.59 funcionaram. Mas agora o AmiBroker permite que você tenha regras de negociação separadas para ir longas e curtas como mostrado neste exemplo simples: regras de entrada e saída de negociações compradas: comprar cruzar (cci (), 100) vender cruzar (100, cci ()) curto Negocia regras de entrada e saída: cruz curta (-100, cci ()) cobertura cruzada (cci (), -100) Observe que, neste exemplo, se CCI estiver entre -100 e 100, você está fora do mercado. Controle do preço comercial AmiBroker agora fornece 4 novas variáveis ​​reservadas para especificar o preço no qual as ordens de compra, venda, curto e cobertura são executadas. Essas matrizes têm os seguintes nomes: preço de compra, preço de venda, preço reduzido e preço de cobertura. A principal aplicação dessas variáveis ​​é o controle do preço do comércio: BuyPrice IIF (dayofweek () 1, HIGH, CLOSE) na compra de segunda-feira em alta, caso contrário, comprar de perto. Então, você pode escrever o seguinte para simular pedidos de parada reais: BuyStop. A fórmula para comprar stop level SellStop. A fórmula para o nível de parada de venda, se a qualquer momento durante o dia os preços subirem acima do nível do comprador (highgtbuystop), a ordem de compra ocorre (na compra ou baixa, o que for mais alto) Compre Cross (High, BuyStop) se a qualquer momento durante o dia os preços caíram abaixo do nível do sellprice (Baixa venda) a ordem de venda ocorre (na venda ou alta, o que for menor) Vender Cruz (SellPrice, SellStop) BuyPrice max (BuyStop, Low) certifique-se de comprar o preço não inferior ao Low SellPrice min (SellStop, High) certifique-se Preço de venda não superior a alta Tenha em atenção que as variáveis ​​de preços de compra, preço de venda, shortprice e coverprice da AmiBroker com os valores definidos na janela de configurações do teste do sistema (mostrado abaixo), para que você possa, mas não precisa defini-las na sua fórmula. Se você não os define, o AmiBroker funciona como nas versões antigas. Durante o teste posterior, o AmiBroker verificará se os valores que você atribuiu ao preço de compra, preço de venda, preço reduzido e preço de cobertura se encaixam na faixa de baixo e baixo da barra dada. Caso contrário, o AmiBroker irá ajustá-lo ao preço alto (se o valor da matriz do preço for maior do que o alto) ou ao preço baixo (se o valor da tabela de preços for menor que o baixo) O objetivo do lucro é interrompido. Como você pode ver na imagem acima, novas configurações para As paradas de objetivo de lucro estão disponíveis na janela de configurações de teste do sistema. As paradas de objetivo de lucro são executadas quando o preço alto para um determinado dia excede o nível de parada que pode ser dado como uma porcentagem ou aumento de ponto do preço de compra. Por padrão, as paradas são executadas ao preço que você define como matriz de preço de venda (para negócios longos) ou tabela de preços de cobertura (para negociações curtas). Esse comportamento pode ser alterado usando quotExit no recurso stopquot. QuotExit no recurso stopquot Se você marca quotExit na caixa stopquot nas configurações, as paradas serão executadas no nível de parada exata, ou seja, se você definir o objetivo do lucro parar em 10 seu stop e o preço de compra foi 50 stop order será executado em 55, mesmo que Sua tabela de preços de venda contém um valor diferente (por exemplo, preço de fechamento de 56). A perda máxima pára o trabalho de forma semelhante - eles são executados quando o preço baixo para um determinado dia cai abaixo do nível de parada que pode ser dado como uma porcentagem ou aumento de ponto do preço de compra. Esse tipo de parada é usado para proteger lucros, pois Rastreia seu comércio, então cada vez que um valor de posição atinge uma nova alta, a parada final é colocada em um nível mais alto. Quando o lucro cai abaixo do nível de paragem final, a posição é fechada. Este mecanismo está ilustrado na imagem abaixo (10 paradas de fuga são mostradas): uma implementação de amostra de baixo nível de parada de meta de lucro em AFL: Buy Cross (MACD (), Signal ()) para (i 0 i lt BarCount i) Se (priceatbuy 0 Comprar i) priceatbuy BuyPrice i if (priceatbuy gt 0 SellPrice i gt 1.1 priceatbuy) Venda i 1 SellPrice i 1.1 priceatbuy priceatbuy 0 else Venda i 0 Este é um novo recurso na versão 3.9. O dimensionamento da posição no backtester é implementado por meio de uma nova variável reservada. Posicione a matriz de licenciamento. Agora você pode controlar o valor do dólar ou a porcentagem de carteira que é investida no valor do comércio positivo definido (dólar) que é investido no comércio, por exemplo: PositionSize 1000 invest 1000 em todos os números negativos do comércio -100 ..- 1 definição percentual: -100 dá 100 do tamanho atual do portfólio, -33 dá 33 de capital disponível, por exemplo: PositionSize -50 sempre investir apenas metade do exemplo atual de dimensionamento dinâmico da equidade: PosiçãoSize - 100 RSI () como RSI varia de 0..100 isso resultará em posição dependendo de valores de RSI - gt valores baixos de RSI resultará em maior porcentagem investida Se menos de 100 de dinheiro disponível for investido, o valor restante ganha taxa de juros Conforme definido nas configurações. Há também uma nova caixa de seleção na janela de configurações de AA: quotAllow tamanho da posição shrinkingquot - isso controla como o backtester lida com a situação quando o tamanho da posição solicitada (via a variável PositionSize) excede o caixa disponível: quando esse sinalizador é marcado, a posição é inserida com o tamanho cortado Dinheiro disponível se não for marcado, a posição não foi inserida. Para ver os tamanhos de posição reais, use um novo modo de relatório na janela de configurações de AA: lista de preços com preços e pos. Sizequot Para o final, aqui está um exemplo de técnica de dimensionamento de posição baseada em ATR de Tharps codificada em AFL: Compre a fórmula de compra de ltyour aqui. Venda 0 vendendo apenas por stop TrailStopAmount 2 ATR (20) Capital 100000 IMPORTANTE: Configure também nas Configurações: Inicial Risco de Equidade 0.01Capital PositionSize (RiskTrailStopAmount) BuyPrice ApplyStop (2, 2, TrailStopAmount, 1) A técnica pode ser resumida da seguinte forma: O capital total por símbolo é de 100.000, nós estabelecemos o nível de risco em 1 do patrimônio total. O nível de risco é definido da seguinte forma: se uma parada final em 50 ações for, digamos, 45 (o valor de dois ATRs em relação à posição), a perda 5 é dividida em 1000 riscos para dar 200 ações para comprar. Assim, o risco de perda é 1000, mas o risco de alocação é de 200 partes x 50 partes ou 10 000. Então, estamos alocando 10 da equidade para a compra, mas apenas arriscando 1000. (Excerto editado da lista de discussão AmiBroker) Tamanho do lote redondo e tamanho do tiquetaque Vários instrumentos são negociados com várias unidades quottrading ou quotblocksquot. Por exemplo, você pode comprar um número fracionado de unidades de fundo mútuo, mas você não pode comprar um número fracionado de ações. Às vezes você tem que comprar em lotes de 10s ou 100s. AmiBroker agora permite que você especifique o tamanho do bloco no nível global e por símbolo. Você pode definir o tamanho do lote redondo por símbolo na página Symbol-gtInformation (foto 3). O valor de zero significa que o símbolo não tem tamanho de lote redondo especial e usará quotDefault tamanho de lote redondo (configuração global) na página Configurações de análise automática (foto 1). Se o tamanho padrão for definido também para zero, isso significa que o número fracionado de contratos de compartilhamento é permitido. Você também pode controlar o tamanho do lote redondo diretamente da sua fórmula AFL usando a variável reservada RoundLotSize, por exemplo: Esta configuração controla o movimento do preço mínimo de um símbolo dado. Você pode defini-lo no nível global e por símbolo. Tal como acontece com o tamanho do lote redondo, você pode definir o tamanho de marca por símbolo na página Symbol-gtInformation (foto 3). O valor de zero instrui o AmiBroker a usar tamanho de tamanho quotdefault definido na página Configurações (foto 1) da janela Análise automática. Se o tamanho da marca padrão também estiver definido para zero, isso significa que não há movimento de preço mínimo. Você pode definir e recuperar o tamanho de seleção também da fórmula AFL usando a variável reservada do TickSize, por exemplo: Observe que a configuração do tamanho do tiquetaque afeta somente as transações encerradas por paradas embutidas e ApplyStop (). O backtester assume que os dados de preços seguem requisitos de tamanho de marca e não altera os arrays de preços fornecidos pelo usuário. Então, especificar o tamanho do tiquetaque faz sentido somente se você estiver usando paradas embutidas, então os pontos de saída são gerados nos níveis de preços permitidos em vez dos calculados. Por exemplo, no Japão - você não pode ter partes fracionadas do iene, então você deve definir ticksize global para 1, então o built-in pára de sair das negociações em níveis inteiros. A configuração da margem de conta define o requerimento de margem de porcentagem para toda a conta. O valor padrão da margem da Conta é 100. Isso significa que você precisa fornecer 100 fundos para entrar no comércio, e essa é a maneira como o backtester funcionou em versões anteriores. Mas agora você pode simular uma conta de margem. Quando você compra na margem, você está simplesmente emprestando dinheiro do seu corretor para comprar ações. Com os regulamentos atuais, você pode colocar 50 do preço de compra do estoque que deseja comprar e emprestar a outra metade do seu corretor. Para simular isso, basta inserir 50 no campo de margem da Conta (veja a figura 1). Se a sua equidade inicial for definida para 10000, seu poder de compra será então 20000 e você poderá entrar em posições maiores. Por favor, note que esta configuração define a margem para toda a conta e NÃO está relacionada a negociação de futuros. Em outras palavras, você pode negociar ações na conta de margem. O sinal de entrada inversa força a caixa de seleção exitquot para as configurações do Backtester. Quando está ligado (a configuração padrão) - o backtester funciona como nas versões anteriores e fecha positon já aberto se o novo sinal de entrada na direção inversa for encontrado. Se esta opção estiver DESLIGADA - mesmo que o sinal inverso ocorra, o backtester mantém o comércio aberto no momento e não fecha até que o sinal de saída (venda ou cobertura) seja gerado. Em outras palavras, quando este interruptor está desligado, o backtester ignora os sinais curtos durante transações longas e ignora os sinais de compra durante transações curtas. QuotAllow mesma opção de barra de saída (comércio de barra única) quot opção para as configurações Quando está ligado (as configurações padrão) - entrada e saída na mesma barra é permitido (como em versões anteriores) se estiver OFF - saída pode acontecer a partir de Apenas a barra seguinte (isto aplica-se aos sinais regulares, existe uma configuração separada para as saídas geradas pelo ApplyStop). Alterar para DESLIGAR permite reproduzir o comportamento do backtester MS que não é capaz de lidar com as saídas do mesmo dia. QuotActivate pára imediatamente. Esta configuração resolve o problema dos sistemas de teste que entram negociações no mercado aberto. Em versões anteriores a 4.09, o backtester assumiu que você estava entrando em negociações no mercado próximo, de modo que as paradas internas foram ativadas no dia seguinte. O problema era quando você, de fato, definiu o preço aberto como o preço de entrada comercial - as flutuações de preços no mesmo dia não provocaram as paradas. Houve algumas soluções alternativas baseadas no código AFL, mas agora você não precisa usá-las. Simplesmente se você trocar em abrir, você deve marcar quotActivate pára imediatamente (foto 1). Você pode perguntar por que não basta verificar o preço de compra ou de preços baixos se for igual a preço aberto. Infelizmente, isso não funcionará. Por que simplesmente porque há dias doji quando o preço aberto é igual ao fechado e o backtester nunca saberá se o comércio foi inserido no mercado aberto ou fechado. Então, nós realmente precisamos de uma configuração separada. QuotUse QuickAFLquotQuickAFL (tm) é uma característica que permite um cálculo AFL mais rápido sob certas condições. Inicialmente (desde 2003) estava disponível apenas para indicadores, a partir da versão 5.14 também está disponível na Análise automática. Inicialmente, a idéia era permitir redragamentos de gráfico mais rápidos ao calcular a fórmula AFL apenas para a parte que está visível no gráfico. De forma semelhante, a janela de análise automática pode usar um subconjunto de cotações disponíveis para calcular AFL, se o parâmetro 8220range8221 selecionado for inferior a 8220. Todas as cotações. Explicação detalhada sobre como o QuickAFL funciona e como controlá-lo, é fornecido neste artigo da Base de Conhecimento: amibrokerkb20080703quickafl. Observe que esta opção funciona não apenas no backtester, mas também em otimizações, explorações e varreduras. Teste de Bugs O que é Backtesting Backtesting é o processo de Testando uma estratégia de negociação 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 atendem aos critérios necessários que são aceitáveis ​​para o comerciante, a estratégia pode então 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 é feita por comerciantes que usam algum tipo de automação de computador. Isto é especialmente verdadeiro para estratégias comerciais baseadas em análises técnicas. Backtesting é parte integrante do desenvolvimento de um sistema de negociação automatizado. Backtesting significativo Quando feito corretamente, backtesting pode ser uma ferramenta inestimável para tomar decisões sobre se utilizar uma estratégia de negociação. O período de tempo da amostra em que um backtest é executado é crítico. A duração do período de tempo da amostra deve ser suficientemente longa para incluir períodos de diferentes condições do mercado, incluindo as tendências de elevação, as tendências de baixa e as negociações vinculadas ao intervalo. 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 do mercado, o que pode levar a conclusões falsas. O tamanho da amostra no número de trades nos resultados do teste também é crucial. Se o número da amostra de negócios for muito pequeno, o teste pode não ser estatisticamente significante. Uma amostra com muitos negócios durante um período muito longo pode produzir resultados otimizados, em que um número irresistible de negociações vencedoras coalesce em torno de uma condição ou tendência de mercado específica favorável à estratégia. Isso também pode causar um comerciante para tirar conclusões enganosas. Mantendo-o real Um backtest deve refletir a realidade na melhor medida possível. Os custos de negociação que podem ser considerados insignificantes pelos comerciantes, quando analisados ​​individualmente, podem ter um impacto significativo quando o custo total é calculado durante todo o período de teste. Estes custos incluem comissões, spreads e derrapagens, e podem determinar a diferença entre se uma estratégia de negociação é lucrativa ou não. A maioria dos pacotes de software de backtesting incluem métodos para explicar esses custos. Talvez a métrica mais importante associada ao backtesting seja o nível de robustez das estratégias. Isto é conseguido comparando os resultados de um teste de volta otimizado em um período de tempo de amostra específico (referido como na amostra) com os resultados de um teste de retorno com a mesma estratégia e configurações em um período de tempo de amostra diferente (referido como out - De-amostra). Se os resultados forem igualmente rentáveis, 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 um desenvolvimento adicional, ou deve ser abandonada completamente.9. Testes de volta A arte de testar de volta Como já mencionei antes, uma das coisas que eu realmente amo sobre negociação é que, ao contrário de qualquer outro negócio, você pode testar completamente seu modelo comercial (plano de negociação) sem arriscar dinheiro real. Na negociação, este processo de avaliação é chamado de teste de volta. O teste de teste é a área agora mais negligenciada pelos comerciantes. Eu falei sobre a importância da psicologia e da gestão do dinheiro em capítulos anteriores e, portanto, tenho muitos outros treinadores comerciais. Tanto assim, há agora um monte de informações e conscientização. Você só tem que navegar na net para ver o quanto o foco é colocado nessas áreas, como deve ser. Mas toda essa atenção parece estar à custa dos testes de volta. Como resultado do teste de negociação, penso, tornou-se a nova área de negociação menos compreendida e apreciada. Por que o teste de atraso é tão importante O teste de troca de produtos é mais importante porque ele afeta diretamente suas entradas e saídas, gerenciamento de dinheiro e psicologia das seguintes maneiras. Entradas e saídas do teste de volta permitem que você teste seu desempenho completo do sistema usando dados históricos. Com essa informação, você pode fazer os ajustes necessários para produzir os resultados que você está procurando. O teste de back-end do gerenciamento de dinheiro permite que você teste diversos modelos de gerenciamento de dinheiro para ver quais funcionam melhor com seu sistema. A psicologia como discutido anteriormente no livro, a compreensão dos seus sistemas, pontos fortes e fracos, mesmo que estejam apenas em papel, melhorará a confiança comercial. Isso terá um efeito incontável em seu desempenho quando começar a negociar de forma real. Seja qual for o critério de análise técnica que você usa para negociar com médias móveis, castiçais, folhetos de volatilidade, retrações de Fibonacci ou qualquer outro sistema de negociação, você precisará voltar a testá-lo cuidadosamente, a fim de remover qualquer dúvida sobre sua capacidade. Sem a troca de testes, surge a falta de confiança e geralmente obriga os comerciantes a questionar seus próprios sistemas de negociação. Eles cedem à tentação de modificar seu plano de negociação muitas vezes com consequências devastadoras. Essa tentação geralmente vem de uma série de negociações perdidas ou uma oportunidade para substituir seu sistema comercial por um novo indicador whiz-bang que é a última moda discutida nos fóruns de bate-papo. Tudo o que parece ser bom para ser verdade atrairá a atenção de um comerciante que não está satisfeito com seu sistema comercial, simplesmente porque ela não testou adequadamente seu sistema em primeiro lugar. Ela não construiu a confiança necessária para negociar com êxito o sistema que ela desenvolveu. A minha estratégia de negociação será rentável Esta é a questão mais perguntada no mundo comercial. O autor Mark Jurik teve uma resposta para respondê-lo em seu livro Computerized Trading, como mostra a caixa 9.1. Fonte: Jurik, M 1999, Negociação informatizada: maximizando o comércio diário e os lucros overnight, New York Institute of Finance, Nova York. Mas o que está sendo testado de negociação exatamente O teste de negociação é o processo de testar uma estratégia comercial usando dados históricos em vez de testá-lo em tempo real com dinheiro real. As métricas obtidas a partir do teste podem ser usadas como uma indicação de quão bem a estratégia teria realizado se tivesse sido aplicada a transações passadas. Interpretar esses resultados fornece ao comerciante métricas suficientes para avaliar o potencial do sistema de negociação. Logicamente, sabemos que os resultados deste tipo de testes não poderão prever os rendimentos futuros com precisão pontual, no entanto, ele pode fornecer um indicador de se você deve mesmo buscar um sistema de negociação ou não. Além disso, se você decidir seguir em frente e trocar o sistema, isso lhe dará guias sobre o que esperar. Mas a questão permanece: como você pode testar o desempenho de um sistema comercial ao longo do tempo. Existem apenas duas maneiras de fazer isso manualmente ou com software de computador. Para ser sincero, o software de computador é a única opção real. Experimentei os dois métodos de teste e os testes manuais não são apenas demorados, mas muito difíceis de replicar e testar de forma eficaz. Os benefícios derivados do software de backtesting de negociação não podem ser superestimados. Isso economizará tempo e proporcionará uma oportunidade infinita para ajustar e testar seu sistema. Uma pequena despesa em capital para comprar um bom software de teste de volta irá potencialmente poupar milhares de dólares no mercado, é um investimento muito sábio se você estiver pensando em projetar um sistema de negociação bem sucedido e mecânico. Testes mecânicos de retorno Por favor, entenda, desde que seu sistema de negociação mecânica funcione exclusivamente com dados de preço (aberto, alto, baixo, fechado, volume), você poderá usar o software de teste de volta. Por exemplo, digamos que você crie um sistema de negociação mecânica com a seguinte regra de entrada: Regra: Adquira um valor quando a média móvel de 10 dias do preço de fechamento cruza acima da média móvel de 30 dias do preço de fechamento. Esta regra pode ser testada bastante facilmente em relação aos dados históricos. Por outro lado, sua regra de sinal de compra pode ser um pouco mais complexa, como: Regra: Adquira uma garantia quando a média móvel de 10 dias do preço de fechamento cruza acima da média móvel de 30 dias do preço de fechamento e a proporção de PE foi 75 ou inferior ao seu valor três meses antes. Esta regra introduz dados que geralmente não são fornecidos ou mantidos em um banco de dados de informações de preços. Para fazer o teste com sucesso, isso envolveria a obtenção de dados históricos de uma segurança, bem como a relação preço / lucro (razão PE). Típicamente, os dados históricos em um grupo de ações apenas incluem o aberto, alto, baixo, fechado e volume Para cada período. Devido a essa limitação, muitos sistemas mecânicos de negociação são projetados em torno de indicadores de preço puramente técnico. Infelizmente, a maioria dos sistemas de negociação mecânica baseados em dados fundamentais está além do alcance dos investidores de varejo devido à falta de dados históricos disponíveis para realizar um teste de troca comercial completo. Software de teste atrasado Felizmente, nestes dias, muitos pacotes de gráficos têm o software de teste de back-in incorporado. Se você seguiu o processo para selecionar um pacote de gráficos no capítulo anterior, você deve ter encontrado um com as capacidades de teste de retorno incluídas ou encontrado compatível Com outro pacote off-the-shelf. Para aqueles de vocês que decidiram comprar o MetaStock no capítulo 8, o TradeSim 8211 ultimate-trading-systemstradesim é provavelmente o simulador de análise de mercado realista mais realista que encontrei. Ele pode rapidamente testar e avaliar um sistema de negociação, seja um único título ou um portfólio de segurança múltipla. Eu acredito que testar o teste é a única maneira de remover a auto-dúvida. Uma vez que você estabeleceu que você tenha um sistema de negociação confiável e robusto, então, você terá certeza de negociá-lo. Da mesma forma que o seu software de gráficos, certifique-se de conhecer seu pacote de volta à frente. Você não conseguirá tirar o melhor proveito, a menos que você entenda bem como funciona e o que você pode fazer com isso. Soluções alternativas Infelizmente, eu vi muitos clientes nunca conseguiram isso com relação ao teste de back. Para muitos, o software de teste de volta é simplesmente muito técnico. Se você se enquadra nessa categoria, não desista. É um passo crítico no processo de design do sistema. Para os menos técnicos, encontrei uma solução chamada Trading Performance Analyzer ultimate-trading-systemstpa. É fácil de usar e perfeito para analisar seu sistema antes de negociá-lo em tempo real. Nota importante: se você for testar e re-testar com a esperança de tropeçar essa bala de prata, lembre-se, você nunca criará um sistema comercial com 100 taxas de sucesso. Muitos tentaram (eu incluído) e todos falharam. Você deve estar procurando por um bom sistema de negociação com redução mínima e um bom índice de risco para recompensa. Muitos sistemas de negociação têm mais negociações perdidas do que ganhar e ainda ganham dinheiro. Como o gerenciamento de dinheiro. (Veja o capítulo 6.) A peça final no quebra-cabeça de projeto de sistema é levar o sistema de negociação que você criou nos capítulos anteriores e testá-lo. Ao testar seus sistemas, você acabou de se colocar entre os principais comerciantes, garantindo seu sucesso. Parabéns Compre um pacote de teste de troca de retorno: TradeSim 8211 ultimate-trading-systemstradesim Trading Performance Analyzer 8211 ultimatetradingsystemstpa Aprenda seu software de teste de volta escolhido por dentro e por fora. Teste novamente seu sistema recém-projetado, incluindo suas regras de entrada, saídas e gerenciamento de dinheiro. Você verificou o Portfolio123 Por 50 dólares por mês, você seleciona variáveis ​​fundamentais e técnicas, faça uma prova, faça verificações de robustez (entradas aleatórias, centenas de vezes, para garantir que você não esteja selecionando Cherry) e testes de simulação com regras separadas de compra e venda. , Deslizamento, universos personalizados, blá, blá, blá. Você pode usá-lo por 45 dias como uma versão gratuita, se você usar o código HKURTIS ao se inscrever para testá-lo. Antes do Portfolio123 eu pensei que apenas o Zacks Research Wizard era uma alternativa de baixo custo, exceto centenas de dólares para a versão diluída, viés de sobrevivência e outros problemas, não é obrigado. O IMO é seu software de grau institucional por cerca de 120º do custo. Jesuraj 7 de março de 2012 às 5:07 am Oi Dave, eu li este excelente aritcle. Em Metastock, gostaria de ganhar lucros apenas pela metade da minha posição e não consegui encontrar uma maneira de fazer isso. Você poderia me informar se esses testes são possíveis em Metastock. Obrigado e considera Jesuraj

No comments:

Post a Comment