Friday 21 February 2020

Teste negociação estratégias excel


Usando o Excel para testar de volta Estratégias de negociação Como testar de volta com o Excel Eu fiz uma boa quantidade de estratégia de negociação de volta teste. Ive usou sofisticadas linguagens de programação e algoritmos e Ive também feito com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar muitas estratégias de negociação. Se você pode operar um programa de planilha como o Excel, então você pode voltar testar muitas estratégias. O objetivo deste artigo é mostrar a você como testar uma estratégia de negociação usando o Excel e uma fonte de dados publicamente disponível. Isso não deve custar mais do que o tempo que leva para fazer o teste. Antes de começar a testar qualquer estratégia, é necessário um conjunto de dados. No mínimo, esta é uma série de datas e preços. Mais realisticamente você precisa o datetime, aberto, alto, baixo, fechar preços. Você geralmente só precisa do componente de tempo da série de dados se você estiver testando estratégias de negociação intraday. Se você quiser trabalhar junto e aprender a testar de volta com o Excel enquanto você está lendo isso, em seguida, siga as etapas que eu esboço em cada seção. Precisamos obter alguns dados para o símbolo que vamos voltar a testar. Ir para: Yahoo Finance No campo Enter Symbol (s) digite: IBM e clique em GO Under Quotes no lado esquerdo, clique em Historical Prices e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desloque-se até a parte inferior da página e clique em Fazer download da planilha. Salve o arquivo com um nome (como ibm. csv) e em um local que você possa encontrar mais tarde. Preparando os dados Abra o arquivo (que você baixou acima) usando o Excel. Devido à natureza dinâmica da Internet, as instruções que você leu acima eo arquivo que você abrir pode ter alterado pelo tempo que você ler isso. Quando eu baixei este arquivo, as primeiras poucas linhas ficaram assim: Agora você pode excluir as colunas que você não vai usar. Para o teste que estou prestes a fazer vou usar apenas a data, abrir e fechar valores para que eu tenha excluído o Alto, Baixo, Volume e Adj. Fechar. Eu igualmente classifiquei os dados de modo que a data a mais velha fosse primeiramente e a data a mais atrasada fosse na parte inferior. Use as opções de menu Data - gt Sort para fazer isso. Em vez de testar uma estratégia per se eu vou tentar encontrar o dia da semana que forneceu o melhor retorno se você seguiu uma compra a abrir e vender a estratégia de fechar. Lembre-se que este artigo está aqui para apresentá-lo a como usar o Excel para testar estratégias de volta. Podemos construir sobre isso em frente. Aqui está o arquivo ibm. zip que contém a planilha com os dados e fórmulas para este teste. Meus dados agora residem nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, tenho fórmulas de lugar para determinar o retorno em um determinado dia. Entrando as fórmulas A parte complicada (a menos que você seja um especialista em Excel) está trabalhando as fórmulas a serem usadas. Esta é apenas uma questão de prática e quanto mais você pratica mais fórmulas você descobrirá e mais flexibilidade você terá com seus testes. Se você baixou a planilha, então dê uma olhada na fórmula na célula D2. Parece isto: Esta fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada uma vez que foi copiada. Vou explicar brevemente a fórmula. A fórmula IF tem uma condição, parte verdadeira e falsa. A condição é: Se o dia da semana (convertido para um número de 1 a 5 que coincide com a segunda-feira a sexta-feira) é o mesmo que o dia da semana na primeira linha desta coluna (D1). A verdadeira parte da declaração (C2-B2) simplesmente nos dá o valor do Close-Open. Isso indica que compramos o Open e vendemos o Close e este é o nosso profitloss. A parte falsa da declaração é um par de aspas duplas () que não coloca nada na célula se o dia da semana não é correspondido. Os sinais à esquerda do número da coluna ou da linha da coluna travam a coluna ou a linha de modo que, quando a cópia dela, parte da referência de célula não muda. Portanto, aqui no nosso exemplo, quando a fórmula é copiada, a referência à célula de data A2 mudará o número da linha se ela for copiada para uma nova linha, mas a coluna permanecerá na coluna A. Você pode aninhar as fórmulas e fazer regras excepcionalmente poderosas E expressões. Os resultados Na parte inferior das colunas do dia da semana coloquei algumas funções de resumo. Nomeadamente as funções média e soma. Estes mostram-nos que durante 2004 o dia mais rentável para implementar esta estratégia foi em uma terça-feira e este foi seguido de perto por uma quarta-feira. Quando eu testei as sextas-feiras - Bullish ou Bearish estratégia e escreveu que o artigo que eu usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas-feiras de expiração eram geralmente de alta ou de baixa. Experimente. Faça o download de alguns dados do Yahoo Finance. Carregá-lo no Excel e experimentar as fórmulas e ver o que você pode vir acima com. Publique suas perguntas no fórum. Boa sorte e caça de estratégia rentávelAntes de usar ferramentas especializadas para back-testing eu proponho que um experimenta o MS Excel Pivot Table primeiro. A ferramenta de tabela dinâmica é excelente para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, vou apresentar como criar uma estratégia baseada em tempo simples e como calcular seu desempenho histórico. A seguir, eu vou mostrar, como criar uma análise como a anterior: 8220Sell em maio e Go Away 8211 Realmente 8220. Etapa 1: Obter os dados Primeiro, precisamos obter os dados para a análise. Voltamos ao Yahoo para buscar o Índice Dow-Jones (Veja a Lista de Fontes de Dados de Mercado para outras fontes). De alguma forma, o Yahoo Finance esconde o botão de download do Índice Dow-Jones. Mas, é fácil adivinhar o Link correto: Salve este arquivo no disco. Em seguida, abra-o com o MS Excel 2018 e continuamos com o próximo passo. Etapa 2: Adicionar Colunas para Desempenho e Indicador Agora, neste arquivo, adicionamos o log-return (Coluna 8220Return8221) para cada dia na série de tempo: Então, adicionamos o indicador da estratégia de negociação 8211 neste caso apenas o mês Do ano: Finalmente, adicionamos um indicador de grupo: Decade Etapa 3: Adicionar tabela dinâmica Classificar dados na tabela Ferramentas de tabela dinâmica - gt Opções - gt Resumir valor por - gt Sum Etapa 4: Formatação condicional Para obter uma visão geral do Dados na tabela dinâmica, formata os valores em 8220Percent Style8221 e por 8220 FormattingConditional8221: Home - gt Styles - gt Formatação condicional Etapa 5: Calcular desempenho real A soma dos retornos de log na tabela dinâmica é uma boa indicação para o desempenho de Uma estratégia de negociação. Agora, você está pronto: cada célula contém o desempenho de comprar o Índice Dow-Jones no início e vendê-lo no final de cada mês. Divirta-se com seus próprios estudos Você encontra um estudo detalhado sobre os desempenhos dos diferentes meses nos principais índices aqui. Conclusão Back-testing de estratégias de negociação simples é fácil usando tabelas dinâmicas do Excel. Enquanto as estratégias mais avançadas geralmente exigem um pacote de software mais especializado (como vemos no MACD Back-testing), cinco etapas simples levam a idéias em profundidade de uma estratégia baseada em tempo. Se a série de dados se tornar grande, pode-se executar os mesmos passos exatos usando MS Power Pivot. Um complemento gratuito do MS Excel com acesso a banco de dados. Post navigation Deixe uma resposta Cancelar resposta Nice post. Estou contente de pousar neste blog. Deixe-me sugerir-lhe isto: Para ver o desempenho real na tabela dinâmica, basta adicionar um campo calculado a partir do menu: Opções gt Campos, Itens, conjuntos de amplificação gt Calculado Field8230 Em seguida, rotulá-lo 8220p8221 e digite a fórmula. 8220 EXP (Return) -18221 Você pode finalmente adicionar este campo à área de valores, para obter o 8220Sum de p8221 diretamente na tabela. Sim, você está certo Isso é muito melhor do que duplicar a tabela. Vou atualizar este post asap. Instead de dizer-lhe a melhor ferramenta ou processo que você pode usar para backtesting, deixe-me em vez focar os maiores erros que você precisa evitar, a fim de fazer um backtest confiável. Estes são alguns dos fatores mais importantes que você precisa para se manter em mente quando backtesting stock trading estratégias - Overfitting dados: Este é, de longe, o maior erro a maioria das pessoas fazem na busca de criar uma estratégia que dá espetacular backtested resultados. Ao criar a estratégia, se você começar a ajustar seus parâmetros de uma forma que maximiza os retornos, então essa estratégia provavelmente falhará miseravelmente em condições reais. Existem 2 maneiras de superar isso - testes fora da amostra e criar estratégias baseadas na lógica, em vez de ajustar os parâmetros de entrada. Prejuízo prospectivo: Isso acontece quando você usa dados para gerar sinais que, de outra forma, não estariam disponíveis naquele momento no passado. Por exemplo, se o fim do ano financeiro de uma empresa é março e você usar seus dados de ganhos para o ano anterior em 1 de abril, é muito provável que a empresa não teria anunciado que os dados antes de maio ou junho. Isso resultaria em um viés prospectivo. Preconceito de sobrevivência. Este é um daqueles difícil de notar erros. Vamos dizer que você tem uma estratégia que negocia a partir de uma lista de 500 ações de pequena capitalização com base em alguns indicadores técnicos. As chances são de que, se você tentar se apossar de 10 anos de dados de preços históricos para estas 500 ações para o seu backtesting, você não vai incluir os dados para todas as ações que foram retiradas da lista nesse período de 10 anos. Quando você testar sua estratégia, você não contabilizaria possíveis negociações que teriam sido geradas em qualquer dessas ações ruins se você tivesse realmente executado essa estratégia durante esse período. Concentrando-se exclusivamente em retornos. Há um número de parâmetros que você precisa considerar para julgar a qualidade de uma estratégia. Concentrar-se puramente em retornos pode conduzir a vir questões importantes. Por exemplo, se a Estratégia A dá 10 retornos ao longo de um certo período com um máximo de -2, ea estratégia B dá 12 retornos com uma redução de -10, então B não é claramente uma estratégia superior para A. Existem outros parâmetros importantes Tais como redução, taxa de sucesso, taxa de sharpe, etc. Impacto de mercado, encargos de transação. Ao olhar para a viabilidade de uma estratégia, é muito importante considerar o possível impacto no mercado do comércio e também os encargos de transação incorridos. Você pode ser tentado a criar uma estratégia que buyssells grandes volumes de algumas ações de baixa liquidez que tendem a dar retornos excepcionais. Mas quando você entra no mercado para executar esta estratégia, uma grande ordem em um estoque ilíquido irá mover o preço que você wouldnt ter fatorado em seus testes. Além disso, os custos de transação também podem alterar os retornos substancialmente para que você deve sempre olhar para os lucros líquidos. Mineração de dados . Isso é bastante semelhante ao problema de overfitting de dados. Se você tortura os dados o suficiente, confessará qualquer coisa. Esta é uma piada comum entre os cientistas de dados que acreditam que, se você gastar tempo suficiente, você pode encontrar um padrão em quase qualquer conjunto de dados que não significa necessariamente que este padrão será válido no futuro. Os fundamentos mudam. Poderia muito bem acontecer que você encontrar uma estratégia que executa excepcionalmente bem em dados passados. Mas uma mudança fundamental na dinâmica do mercado pode fazer com que essa mesma estratégia falhe no futuro. É bem sabido que quase qualquer boa estratégia precisa manter evoluir com as condições de mercado em mudança. Quadro de tempo pequeno. É crucial testar a estratégia durante um período de tempo suficientemente longo e em condições de mercado mutáveis. Isto é especialmente verdadeiro para as estratégias de negociação de ações que podem executar excepcionalmente bem em um mercado de touro, mas iria acabar com sua conta bancária em um lado ou mercado de urso. Há muitas outras coisas a considerar quando backtesting. Mas, eventualmente, a única maneira de garantir que uma estratégia funciona em condições reais é testá-lo em condições reais. Tauro Riqueza é uma empresa de tecnologia financeira (Riqueza Tauro) que está olhando para resolver os problemas enfrentados pela Tauro Riqueza. Varejistas na Índia. Esperamos oferecer soluções abrangentes de investimento a longo prazo em uma fração dos custos tradicionais. 5.2k Vistas middot Ver Upvotes middot Não é para reprodução Mais respostas abaixo. Quais são as boas maneiras de backtest uma estratégia de negociação e como fazê-lo Existem quaisquer cinco melhores técnicas de negociação de ações ou estratégias Qual é a melhor negociação de ações Quais são as melhores maneiras para um mais fresco para ser um profissional na negociação no mercado de ações Eu quero Para abrir uma nova conta demat e começar a negociação no mercado de ações. Quais são os melhores provedores de serviços on-line para isso na Índia What039s a diferença entre demat e contas de negociação Qual é a melhor estratégia para investir e negociar para um novo comerciante no mercado de ações Qual é o melhor software para backtesting estratégias de futuros Qual é a melhor ETF com Que para investir na Índia Quais são os documentos que precisamos ter para abrir uma conta demat Quais são os primeiros passos para investir no mercado de ações indiano Eu quero aprender a negociação de ações. Quais são as melhores maneiras de ir sobre ele Como faço para aprender tudo sobre o mercado de ações indiano antes de investir Algorithmic Trading: Quais são alguns backtools servicestools Qual foi o melhor comércio de ações de sempre Qual é o melhor corretor de negociação de opções na Índia Javier Gonzalez. Gerente de Investimento Oracle Fund LP Ed Seykota usa C. Escrever seu backtesting de stratch pode ser mais trabalho, mas fornece a vantagem de que ninguém mais está acessando seus sinais. Algum software comunica para quotupdatesquot eo que não de volta à mothership e os corretores pôde terminar acima de saber suas estratégias e de negociar de encontro a elas. Dependendo do seu horizonte de tempo e pára, isso pode não ser um problema. Se você está determinado a usar uma linguagem mais fácil do que C, tente usar um aberto, não proprietário de modo que você não está em dívida com a empresa de software de negociação. 17.4k Vistas middot Ver Upvotes middot Não há reprodução Há muito poucos corretores que fornecem backtesting para clientes como parte de sua suíte de software cliente. No entanto, mais frequentemente do que não, aqueles são caixa preta no sentido de que você não sabe como os cálculos são feitos. Em seguida, há backtesters livre online. Mas IMO você o que você pagar. Software autônomo pode ser pesquisado em: Backtesting Software A lista inclui backtesting software incluído em uma corretora empresas ferramentas, mas também tem software autônomo. Se você está negociando para viver (o seu próprio dinheiro ou alguém elses) é a minha preferência para usar software stand alone. Espero que seja útil. 1.7k Vistas middot Ver Upvotes middot Não é para reprodução Jozef Rudy. Fundador na Quantpicker - estratégias quantitativas backtesting e ranking Depende do que você quer backtest. Padrões técnicos aleatórios A coisa mais importante é onde você pode encontrar estratégias: p. Ssrn ou você pode usar o serviço agregador para trabalhos acadêmicos: p. A Enciclopédia de Estratégias Quantitativas de Negociação. Se você estiver interessado em estratégias de estoque com base em dados fundamentais, o Quantpicker é ponto e clique alternativa. Quantopian Algorithmic Investing Algorithmic Trading, por outro lado, requer conhecimento de programação, mas é melhor para padrões técnicos. 10.6k Vistas middot Ver Upvotes middot Não é para Reprodução Grande questão Infelizmente o componente de backtesting de todos os programas de varejo orientado como ninjatrader, tradestation, esignal, etc, é toda a porcaria. Você absolutamente não pode confiar nele. Os resultados são trabalhos da ficção cortados do pano inteiro. Você precisa construir seu próprio ambiente de backtesting (o blog de Andreas Clenow039s após a tendência tem alguns artigos sobre isso) Ou você pode usar uma de várias soluções baseadas em nuvem. Quantopian parece muito bom na verdade e quantconnect é um produto similar. Agora, partindo do zero, eu estaria olhando para Quantopian. 11.8k Vistas middot Ver Upvotes middot Não é para reprodução middot Resposta solicitada por Xiaoguang Wang Rimantas Petrauskas. Criando estratégias algorítmicas desde 2008. Co-fundador da Autotrading Academy. Tenho backtestado milhares de estratégias de negociação, principalmente para o mercado Forex, mas acho que ainda é relevante para adicionar a minha resposta aqui. Primeiro eu diria que backtest é apenas uma peça de um quebra-cabeça. Não confie apenas nos resultados do backtest. Você precisa executar centenas de backtests para distribuir aleatoriamente tamanho e simular deslizamento durante o backtest. Isto irá dizer-lhe como sua estratégia se comporta quando propagação está mudando constantemente e é maior do que você normalmente obter durante a negociação ao vivo. Então, como você vê a sua importante para executar um spread com propagação de variável que foi gravado nos dados tick tick. Se você usar o spread fixo, seus resultados de backtest podem não ser tão precisos. Eu costumo usar MetaTrader 4 para backtesting única estratégias e StrategyQuant para backtest milhares deles. Assim, quando se trata de MT4 eu sempre usar ferramentas adicionais chamado Tick Data Suite para obter uma propagação variável e 99 qualidade backtesting. Você pode encontrar meu detalhado passo a passo MT4 backtesting tutorial aqui nesta página: MT4 principalmente funciona com pares de moeda Forex, mas você também pode negociar CFD em ações. 1.5k Vistas middot Não para Reprodução Tome em conta as tendências do mercado amplo no período em que uma determinada estratégia foi testada. Por exemplo, se uma estratégia só foi testada de 1999 a 2000, pode não estar bem em um mercado de baixa. É muitas vezes uma boa idéia para backtest durante um período de tempo longo que engloba vários tipos diferentes de condições de mercado. Leve em conta o universo no qual o backtesting ocorreu. Por exemplo, se um sistema de mercado amplo é testado com um universo consistindo de ações de tecnologia, pode deixar de fazer bem em diferentes setores. Como regra geral, se uma estratégia é direcionada para um gênero específico de estoque, limitar o universo a esse gênero, mas, em todos os outros casos, manter um grande universo para fins de teste. Medidas de volatilidade são extremamente importantes a considerar no desenvolvimento de um sistema de comércio. Isto é especialmente verdadeiro para as contas alavancadas, que são sujeitas a chamadas de margem se a sua equidade desce abaixo de um certo ponto. Os comerciantes devem procurar manter a volatilidade baixa, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de um determinado estoque. O número médio de barras mantidas também é muito importante para assistir ao desenvolver um sistema de negociação. Embora a maioria dos backtesting software inclui custos de comissão nos cálculos finais, isso não significa que você deve ignorar esta estatística. Se possível, aumentar o número médio de barras mantidas pode reduzir os custos de comissão e melhorar seu retorno geral. A exposição é uma espada de dois gumes. Exposição aumentada pode conduzir aos lucros mais elevados ou aos perdas mais elevados, quando a exposição diminuída significa lucros mais baixos ou perdas mais baixas. No entanto, em geral, é uma boa idéia para manter a exposição abaixo de 70, a fim de reduzir o risco e facilitar a transição para dentro e para fora de um determinado estoque. A estatística média de perda de ganho, combinada com a relação ganhos-perdas, pode ser útil para determinar o dimensionamento de posição ótimo e a administração de dinheiro usando técnicas como o Critério de Kelly. (Veja Money Management Usando o Critério Kelly.) Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando sua relação ganhos-para-perdas. O retorno anualizado é importante porque é usado como uma ferramenta para comparar os retornos de um sistema com outros locais de investimento. É importante não só olhar para o retorno global anualizado, mas também para ter em conta o risco aumentado ou diminuído. Isso pode ser feito olhando para o retorno ajustado ao risco, que explica vários fatores de risco. Antes de um sistema de negociação ser adotado, ele deve superar todos os outros locais de investimento em igual ou menos risco. Backtesting personalização é extremamente importante. Muitas aplicações de backtesting têm entrada para valores de comissão, tamanhos de lote redondos (ou fracionários), tamanhos de carrapatos, requisitos de margem, taxas de juros, pressupostos de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra e configurações de parada. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o corretor que será usado quando o sistema for ativado. Backtesting às vezes pode levar a algo conhecido como super-otimização. Esta é uma condição onde os resultados de desempenho são ajustados tão altamente ao passado que eles não são mais precisos no futuro. Geralmente, é uma boa idéia implementar regras que se apliquem a todas as ações ou a um conjunto selecionado de ações segmentadas e não sejam otimizadas na medida em que as regras não sejam mais compreensíveis pelo criador. Backtesting nem sempre é a maneira mais precisa para avaliar a eficácia de um determinado sistema de comércio. Às vezes, as estratégias que funcionaram bem no passado não conseguem fazer bem no presente. O desempenho passado não é indicativo de resultados futuros. Certifique-se de comércio de papel de um sistema que foi testado com sucesso antes de ir ao vivo para ter certeza de que a estratégia ainda se aplica na prática. 3k Vistas middot Ver Upvotes middot Não é para reprodução Zerodha pi software comercial tem inbuilt opção para codificar, backtest e ter uma estratégia ao vivo nos mercados de ações indianos. Selecione o estoque para backtesting - aqui nós selecionamos Nifty futuro índice para backtesting. Codificação e Backtesting Agora você pode codificar as condições de negociação para comprar, vender, comprar saída de posição e saída de posição de venda. Por exemplo, aqui temos codificado estratégia de média móvel exponencial: Comprar condição: ClosegtEMA (fechar, 50), que significa comprar quando o fechamento do preço das ações está acima de 50 dias exponencial média móvel. Condições de venda: CloseltEMA (fechar, 50) o que significa vender quando o fechamento do preço das ações está abaixo de 50 dias de média móvel exponencial. Agora introduza o frame de tempo, nenhum dos dias a ser testado traseiro e então estale o teste traseiro Agora o relatório traseiro do teste é gerado como mostra na imagem abaixo. Relatório mostra o número de comércios, nenhum dos negócios rentáveis, lucro líquido, máximo de tração para baixo, relação risco - recompensa e etc pi software está disponível a custo zero para clientes Zerodha. Abra uma conta com eles e obtenha acesso à plataforma de negociação avançada. Back Test demo video 1.4k Vistas middot Ver Upvotes middot Não é para Reprodução06172017 A versão mais recente do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Gráficos de Ponto e Gráfico e Backtesting de Estratégia. 06172017 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 06172017 ConnectCode Barcode Font Pack - permite códigos de barras em aplicações de escritório e inclui um suplemento para o Excel que suporta a geração em massa de códigos de barras. 06172017 InvestmentCode, um conjunto abrangente de calculadoras e modelos financeiros para o Excel está agora disponível. 09012009 Lançamento do Investimento Livre e Calculadora Financeira para Excel. 0212008 Lançamento do SparkCode Professional - add-in para criar Dashboards no Excel com sparklines 12152007 Anunciando ConnectCode Duplicate Remover - um poderoso add-in para encontrar e remover entradas duplicadas no Excel 09082007 Lançamento do TinyGraphs - add-in de código aberto para criar sparklines e minúsculo Gráficos em Excel. Estratégia Backtesting no Excel Estratégia Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. Durante o processo de backtesting, o Backtesting Expert executa os dados históricos em uma linha por linha maneira de cima para baixo. Cada estratégia especificada será avaliada para determinar se as condições de entrada são atendidas. Se as condições forem satisfeitas, uma negociação será inserida. Por outro lado, se as condições de saída forem satisfeitas, uma posição que foi inserida anteriormente será encerrada. Diferentes variações de indicadores técnicos podem ser geradas e combinadas para formar uma estratégia de negociação. Isso torna o Backtesting Expert uma ferramenta extremamente poderosa e flexível. Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. O modelo pode ser configurado para entrar em posições longas ou curtas quando determinadas condições ocorrem e sair das posições quando outro conjunto de condições forem atendidas. Ao negociar automaticamente em dados históricos, o modelo pode determinar a lucratividade de uma estratégia de negociação. Backtesting Expert Step by Step Tutorial 1. Inicie o Backtesting Expert O Backtesting Expert pode ser iniciado a partir do Menu Iniciar do Windows - Programas - TraderCode - Backtesting Expert. Isso lança um modelo de planilha com várias planilhas para gerar indicadores de análise técnica e testar as diferentes estratégias. Você vai notar o Backtesting Expert inclui muitas planilhas familiares como DownloadedData, AnalysisInput, AnalysisOutput, ChartInput e ChartOutput do modelo de análise técnica Expert. Isso permite que você execute todos os seus testes de volta rapidamente e facilmente a partir de um ambiente de planilha familiar. 2. Primeiro, selecione a planilha DownloadedData. Você pode copiar dados de qualquer planilha ou arquivos separados por vírgula (csv) para esta planilha para análise técnica. O formato dos dados é como mostrado no diagrama. Como alternativa, você pode consultar o documento Download Stock Trading Data para baixar dados de fontes de dados bem conhecidas, como o Yahoo Finance, o Google Finance ou o Forex para uso no Backtesting Expert. 3. Depois de ter copiado os dados, vá para a folha de cálculo AnalysisInput e clique no botão Analyze e BackTest. Isso irá gerar os diferentes indicadores técnicos na planilha AnalysisOutput e executar backtesting nas estratégias especificadas na planilha StrategyBackTestingInput. 4. Clique na folha de cálculo StrategyBackTestingInput. Neste tutorial, você só precisará saber que especificamos estratégias longas e curtas usando cruzamentos de média móvel. Estaremos entrando em detalhes de especificação de estratégias na próxima seção deste documento. O diagrama abaixo mostra as duas estratégias. 5. Uma vez concluídos os testes de volta, a saída será colocada nas folhas de cálculo AnalysisOutput, TradeLogOutput e TradeSummaryOutput. A folha de cálculo AnalysisOutput contém os preços históricos completos e os indicadores técnicos do stock. Durante os testes de volta, se as condições para uma estratégia são satisfeitas, informações como o preço de compra, preço de venda, comissão e lucros serão registrados nesta planilha para facilitar a referência. Esta informação é útil se você gosta de rastrear através das estratégias para ver como as posições de ações são inseridas e saídas. A planilha TradeLogOutput contém um resumo das operações realizadas pelo Backtesting Expert. Os dados podem ser facilmente filtrados para mostrar apenas os dados de uma estratégia específica. Esta planilha é útil para determinar o lucro ou a perda global de uma estratégia em períodos diferentes. A saída mais importante dos testes de volta é colocada na planilha TradeSummaryOutput. Esta planilha contém o lucro total das estratégias realizadas. Conforme demonstrado no diagrama abaixo, as estratégias geraram um lucro total de 2.548,20, totalizando 10 negócios. Destes negócios, 5 são Long posições e 5 são Short posições. A Razão de maior que 1 indica uma estratégia lucrativa. Explicação das diferentes planilhas Esta seção contém a explicação detalhada das diferentes planilhas no modelo do Backtesting Expert. As planilhas DownloadedData, AnalysisInput, AnalysOutput, ChartInput e ChartOutput são as mesmas do modelo Expert de análise técnica. Assim, eles não serão descritos nesta seção. Para obter uma descrição completa dessas planilhas, consulte a seção Especialista em Análise Técnica. StrategyBackTestingInput worksheet Todas as entradas para backtesting incluindo as estratégias são inseridas usando esta planilha. Uma estratégia é basicamente um conjunto de condições ou regras que você vai comprar em um estoque ou vender um estoque. Por exemplo, você pode querer executar uma estratégia para ir Long (ações de compra) se a média móvel de 12 dias do preço cruza acima da média móvel de 24 dias. Esta planilha trabalha em conjunto com os indicadores técnicos e dados de preço na planilha AnalysisOutput. Daí a média móvel indicadores técnicos têm de ser gerados, a fim de ter uma estratégia de negociação baseada na média móvel. A primeira entrada necessária nesta planilha (como mostrado no diagrama abaixo) é especificar se a Sair de todas as operações no final da sessão de teste de volta. Imagine o cenário onde as condições para a compra de um estoque ocorreu eo especialista Backtesting entrou em um comércio Long (ou Short). No entanto, o período de tempo é demasiado curto e terminou antes de o comércio pode satisfazer as condições de saída, resultando em alguns comércios não saiu quando a sessão backtesting termina. Você pode definir isso para Y para forçar todos os comércios a serem encerrados no final da sessão backtesting. Caso contrário, os negócios serão deixados abertos quando backtesting sessão termina. Estratégias Um máximo de 10 estratégias podem ser apoiadas em um único teste de volta. O diagrama abaixo mostra as entradas necessárias para especificar uma estratégia. Iniciais de Estratégia - Esta entrada aceita um máximo de dois alfabetos ou números. As iniciais de estratégia são usadas nas planilhas AnalysisOutput e TradeLog para identificar as estratégias. Long (L) Short (S) - Isso é usado para indicar se deve ser inserida uma posição Long ou Short quando as condições de entrada da estratégia forem atendidas. Condições de entrada Uma negociação longa ou curta será inserida quando as Condições de Entrada forem atendidas. As condições de entrada podem ser expressas como uma expressão de fórmula. A expressão de fórmula diferencia maiúsculas de minúsculas e pode usar Funções, Operadores e Colunas conforme descrito abaixo. Crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. Crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. E (logicalexpr,) - Boolean E. Retorna True se todas as expressões lógicas forem True. Ou (logicalexpr,) - Boolean Or. Retorna True se alguma das expressões lógicas for True. Daysago (X, 10) - Retorna o valor (na coluna X) de 10 dias atrás. Previoushigh (X, 10) - Retorna o valor mais alto (na coluna X) dos últimos 10 dias, inclusive hoje. Previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, inclusive hoje. Operadores Maior que Igual Não igual Maior ou igual Adição - Subtração Divisão de Multiplicação Colunas (de AnalysisOutput) A - Coluna AB - Coluna BC .. .. YY - Coluna YY ZZ - Coluna ZZ Esta é a parte mais interessante e flexível da entrada Condições. Ele permite que as colunas da planilha AnalysisOutput sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação. Por exemplo, A 50 significa que cada uma das linhas na coluna A da folha de cálculo AnalysisOutput será determinada se é maior do que 50. AB Neste exemplo , Se o valor na coluna A na folha de cálculo AnalysisOutput for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. E (A B, CD) Neste exemplo, se o valor na coluna A na folha de cálculo AnalysisOutput for maior do que o valor da coluna B eo valor da coluna C for maior que a coluna D, a condição de entrada será satisfeita. Crossabove (A, B) Neste exemplo, se o valor da coluna A na folha de cálculo AnalysisOutput ultrapassar o valor de B, a condição de entrada será satisfeita. Crossabove significa que A originalmente tem um valor que é menor ou igual a B eo valor de A posteriormente se torna maior que B. Condições de Saída As Condições de Saída podem usar Funções, Operadores e Colunas conforme definido nas condições de entrada. On top of that it can also make use of Variables as shown below. Variables for Exit Conditions profit This is defined as the selling price minus the purchase price. The selling price must be greater than the purchase price for a profit to be made. Otherwise the profit will be zero. loss This is defined as the selling price minus the purchase price when the selling price is less than the purchase price. profitpct (selling price - purchase price) purchase price Note. selling price must be greater than or equal to purchase price. Otherwise profitpct will be zero. losspct (selling price - purchase price) purchase price Note. selling price must be less than purchase price. Otherwise losspct will be zero. Examples profitpct 0.2 In this example, if the profit in terms of percentage is greater than 20, the exit conditions will be satisfied. Commission - Commission in terms of a percentage of the trading price. If the trading price is 10 and Commission is 0.1 then commission will be 1. The percentage commission and commission in dollars will be summed up to calculate the total commission. Commission - Commission in dollar terms. The percentage commission and commission in dollars will be summed up to calculate the total commission. No. of Shares - Number of shares to purchase or sell when the entryexit conditions of the strategy are met. TradeSummaryOutput worksheet This is a worksheet that contains a summary of all the trades carried out during the back tests. The results are categorised into Long and Short Trades. A description of all the fields can be found below. Total ProfitLoss - Total profit or loss after commission. This value is calculated by summing all the profits and losses of all the trades simulated in the back test. Total ProfitLoss before Commission - Total profit or loss before commission. If commission is set to zero, this field will have the same value as Total ProfitLoss. Total Commission - Total commission required for all the trades simulated during the back test. Total number of Trades - Total number of trades carried out during the simulated back test. Number of winning Trades - Number of trades that make a profit. Number of losing Trades - Number of trades that make a loss. Percent winning Trades - Number of winning trades divided by Total number of trades. Percent losing Trades - Number of losing trades divided by Total number of trades. Average winning Trade - The average value of the profits of the winning trades. Average losing Trade - The average value of the losses of the losing trades. Average Trade - The average value (profit or loss) of a single trade of the simulated back test. Largest winning Trade - The profit of the largest winning trade. Largest losing Trade - The loss of the largest losing trade. Ratio average winaverage loss - Average winning Trade divided by the Average losing Trade. Ratio winloss - Sum of all the profits in the winning trades divided by the sum of all the losses in the losing trades. A ratio of greater than 1 indicates a profitable strategy. TradeLogOutput worksheet This worksheet contains all the trades simulated by the Backtesting Expert sorted by the date. It allows you to zoom in to any specific trade or time frame to determine the profitability of a strategy quickly and easily. Date - The date where a Long or Short position is entered or exited. Strategy - The strategy that is used for executing this trade. Position - The position of the trade, whether Long or Short. Trade - Indicates whether this trade is buying or selling stocks. Shares - Number of shares traded. Price - The price in which the stocks are purchased or sold. Comm. - Total commission for this trade. PL (B4 Comm.) - Profit or Loss before commission. PL (Aft Comm.) - Profit or Loss after commission. Cum. PL (Aft Comm.) - Cumulative profit or loss after commissions. This is calculated as the cumulative total profitloss from the first day of a trade. PL (on Closing Position) - Profit or loss when the position is closed (exited). Both the entry commission and exit commission will be accounted for in this PL. For example, if we have a Long position where the PL (B4 Comm.) is 100. Assuming when the position is entered, a 10 commission is charged and when the position is exited, another commission of 10 is charged. The PL (on Closing Position) is 100- 10 - 10 80. Both the commission on entering the position and exiting the position are accounted for on position close. Back to TraderCode Technical Analysis Software and Technical Indicators

No comments:

Post a Comment