Saturday 5 August 2017

Folha De Cálculo Do Sistema Backtest De Negociação


Testes de Back Back do Sistema de Comércio Automático Introdução Quando você está usando o Estudo de Planilha de Cálculo para Estudo de Negociação ou criou um estudo de sistema de negociação ACSIL (Estudos de Avançado Avançado e Idioma de Interface) que usa as funções de Negociação da ACSIL, você pode executar o Teste de Voltar Usando a Simulação de Comércio Modo e reproduzindo o gráfico. Ou executando um teste de retorno baseado em barras. Para avaliar como seu sistema de negociação se realizou historicamente e ver as tradições históricas de dados anteriores, é necessário executar um teste de retorno. Um Bar Back Back Back usa os dados Open, High, Low, Close das próprias barras de gráficos carregadas para avaliar o sistema de negociação automatizado. São esses dados que são adicionados de forma incremental ao gráfico durante o Teste de Voltar. Este método de teste de volta é mais rápido em comparação com um teste de repetição de volta, no entanto, é menos preciso do que um teste de repetição de retorno. Um Replay Back Test usa os dados subjacentes no arquivo de dados Intraday para avaliar o sistema de negociação automatizado. Estes dados subjacentes têm um período de tempo por registro em qualquer lugar de 1 Tick para 1 Minute (depende de vários fatores, incluindo o serviço DataTrading usado, dados históricos disponíveis e configurações do Sierra Chart). São estes dados subjacentes mais detalhados no arquivo de dados Intraday, que é adicionado de forma incremental ao gráfico durante o Teste de Voltar. Este é um método mais lento de teste de volta em comparação com um Bar Based Back Test, no entanto, é mais preciso. Com qualquer método de Back Testing, um relatório completo de estatísticas do comércio pode ser visualizado com base em todos os preenchimentos de pedidos gerados durante o Back Test. Consulte Visualização dos resultados do teste. Testes de base baseados em barras suportados para gráficos históricos e intraday. Testes traseiros em barras carregadas é um método de teste de volta usando os valores Open, High, Low e Close das barras carregadas. Os dados subjacentes no arquivo de dados não são usados ​​diretamente, apenas os próprios blocos carregados. Isso geralmente não funciona como alta precisão de um teste de retorno em comparação com um teste de repetição de retorno. No entanto, geralmente é mais rápido e o método recomendado se o teste de volta rápido for importante. Certifique-se de que há uma marca de seleção por Trade gtgt Auto Trading Enabled se já não existe. Caso contrário, o sistema de negociação automatizado não gerará nenhum comércio. Desconecte-se do servidor de dados e de comércio, se não estiver, selecionando File gtgt Disconnect. Não é possível executar um teste de volta baseado na barra enquanto estiver conectado ao servidor de dados ou de comércio. Para executar um teste de retorno de alta velocidade com base em barras carregadas, selecione Trade Gtgt Auto Trade System Bar Based Back Test. Você será solicitado para o Incremento de processamento de barras. O padrão é 250. Isso especifica o número de barras que são processadas de uma só vez antes da entrada da interface do usuário ser processada. O que significa que se você especificar 250, então 250 barras serão processadas de uma só vez e depois outras 250. Entre cada um desses blocos de processamento, você pode interromper o Teste de Voltar pressionando a tecla Escape no teclado. Quanto maior o número especificado, maior o tempo em que a interface do usuário permanecerá ocupada. Para ver os resultados detalhados do Teste de Voltar, consulte Visualização dos Resultados do Teste. Notas de teste baseadas em base de barras Os estudos são calculados no gráfico 4 vezes para cada barra. Para cada barra no gráfico, os estudos são calculados primeiro com o preço aberto, depois o Alto e o Baixo da barra. Ou o Alto é usado primeiro ou o Baixo é usado primeiro, dependendo da direção determinada do movimento do preço. O Low é usado primeiro quando o Close of the bar está mais perto do High of the bar. O High é usado primeiro quando o Close of the bar está mais próximo do Low of the Bar, ou o Close é uma distância igual ao Alto e Baixo. Finalmente, o preço Fechar da barra é processado. Os preços de preenchimento dos pedidos basear-se-ão nos valores de barra aberta, alta, baixa e fechada ou dentro de 1 toque deles, a menos que os pedidos sejam pedidos em repouso (pedidos não vendidos que não preencheram imediatamente). Para obter mais informações, consulte Como as encomendas estão preenchidas. Tenha isso em mente ao olhar para os preços de enchimento. O timestamp de um preenchimento de pedido será o tempo de início da barra em que o preenchimento ocorreu. Não há nada de especial que você precisa fazer com o desenvolvimento de um sistema de comércio ACSIL ou um sistema de Cálculo de planilha ao executar testes baseados em barras. Se você quiser fazer um comércio no final do bar quando suas regras forem atendidas, você saberá que seu sistema está sendo avaliado contra o preço de fechamento quando você vê que o preço sc. LastTrade. No caso de um sistema de comércio ACSIL, é igual ao valor de fechamento da barra ou dentro de 1 carrapato. O teste baseado na barra é um método rápido de teste de volta, a menos que você precise de testes de back-up baseados em repetição de tiques de alta precisão. Repetição do teste de retorno - Automático Suportado apenas para gráficos intraday. Esta seção documenta como realizar um teste de retorno usando o comando Trade Gtgt Auto Trade System Replay Back Test. Isso simplifica o processo de realização de um teste de retorno baseado em repetição. Desconecte-se do feed de dados selecionando File gtgt Disconnect no menu. Selecione Chart gtgt Configurações do gráfico e configure os dias para carregar para o número de dias em que deseja executar o Teste de retorno. Pressione OK . Uma vez que este está configurado, não precisa ser alterado novamente. Certifique-se de que há uma marca de seleção por Trade gtgt Auto Trading Enabled se já não existe. Caso contrário, o sistema de negociação automatizado não gerará nenhum comércio. Selecione Trade Gtgt Auto Trade System Replay Back Test no menu. Este comando limpa todos os dados de comércio simulados para o símbolo de gráficos e reproduz todo o gráfico desde o início com alta velocidade. O Sierra Chart estará ocupado durante o Teste de Voltar. Você pode parar o Teste de Reta, embora pressionando o botão Parar na janela de Repetição de Gráfico. Você terá a oportunidade de pressionar este botão a cada poucos segundos. Para ver os resultados detalhados do Teste de Voltar, consulte Visualização dos Resultados do Teste. Repetição do Teste de Voltar - Manual Suportado apenas para gráficos Intraday. O teste de retorno manual é usado quando você deseja executar o teste de retorno em uma velocidade mais lenta para observar o que está fazendo e pode ser necessário usar esse tipo de teste de volta quando você está testando um sistema de negociação que envolve múltiplos gráficos. Certifique-se de que exista uma marca de verificação por Trade Gtgt Trade Simulation Mode On, se já não existe. No entanto, o Sierra Chart será colocado neste modo de qualquer maneira quando você iniciar um teste de retorno. Certifique-se de que há uma marca de seleção por Trade gtgt Auto Trading Enabled se já não existe. Caso contrário, o sistema de negociação automatizado não gerará nenhum comércio. Selecione Chart gtgt Replay Chart para exibir a janela de repetição. Na Janela de Repetição, selecione o Modo de teste traseiro do sistema de negociação preciso. Se você quiser reproduzir vários gráficos em um sistema de negociação que usa vários gráficos, então, ative Para Todos os Gráficos no Chartbook na Janela de Repetição. Caso contrário, esta opção deve ser desativada. Para obter informações adicionais, consulte Executando Teste de Voltar em um Sistema de Negociação que Utilize Múltiplos Gráficos. Desloque-se até o ponto no quadro em que deseja iniciar o Teste de volta e pressione o botão Reproduzir na janela de repetição. Quando a repetição é iniciada, a posição de negociação simulada atual para o símbolo, se houver, as ordens simuladas para o símbolo, se houver, e todos os preenchimentos de ordem simulada para o símbolo estão todos desmarcados. Para mais detalhes, consulte a página Gráficos de repetição. Para ver os resultados detalhados do Teste de Voltar, consulte Visualização dos Resultados do Teste. Executando teste para trás em um sistema de negociação que usa vários gráficos Quando você possui um sistema de negociação que envolve vários gráficos, a questão é se você precisa reproduzir ou Back Test apenas o gráfico no qual o estudo do sistema de negociação está ou todos os gráficos que o O sistema de negociação faz referência a. Você quer repetir todos os gráficos que um sistema de negociação está fazendo referência ao usar o método Replay Back Testing - Manual, se desejar que seu sistema comercial use o preço e os valores de estudo das barras que estão em processo de formação, em vez de usar o estudo E valores de preço nos gráficos de origem que possuem valores completos e finalizados. Por exemplo, considere um gráfico de 5 minutos por barra. No gráfico de origem ao qual se refere o sistema de negociação, se não estiver reproduzindo ao mesmo tempo, terá barras completas de 5 minutos. Considerando que, se você estiver reproduzindo, gradualmente ao longo do prazo de cinco minutos, uma barra de 5 minutos irá construir e os valores do estudo mudarão. Se é importante ter valores de barra de mudança e valores de estudo para seu sistema comercial, e somente você pode responder a esta pergunta, então você deseja reproduzir todos os gráficos que o sistema comercial usa. Você quererá não reproduzir todos os gráficos que um sistema de negociação está fazendo referência e, em vez disso, apenas reproduzir ou executar um teste de retorno no gráfico específico no qual o sistema de negociação está ativado, se for aceitável que você tenha uma barra completa e finalizada e valores de estudo No gráfico de origem ou nos gráficos. Quando um sistema de negociação faz referências a outros gráficos, ele precisa usar um dos dois métodos para fazê-lo. Ele precisará usar o estudo StudyPrice Overlay. Ou, no caso de um sistema de negociação ACSIL, pode fazer referências a outros gráficos usando o método documentado na Referência de outros quadros de tempo e símbolos ao usar a página ACSIL. Ao usar o StudyPrice Overlay para cobrir o preço ou estudar dados no gráfico em que o sistema de negociação está ativado, e as barras de gráfico são baseadas em Volume, Número de Operações, Faixa, Renko, Reversão, Volume Delta ou Mudanças de Preços, então você precisa Para configurar o estudo do Modo de Cópia de Dados, Entrada para Usar o Primeiro Valor do Prazo Correspondente. Caso contrário, no caso de quando o outro gráfico que está sendo referenciado não está sendo reproduzido e não é sincronizado no horário do tempo para o gráfico de destino, os dados da última barra no gráfico a serem referenciados serão usados ​​para a barra atual sendo testada novamente. Portanto, os dados referenciados não estarão corretos. Quando você está reproduzindo vários gráficos ao mesmo tempo para executar um teste de volta, então você precisa usar o método Replay Back Testing - Manual. Na janela Repetição você precisa habilitar a opção For All Charts in Chartbook. E na janela de Repetição, selecione Sistema de Negociação Exato Back Test Mode ou Calcule em Every TickTrade. Quando você faz isso, um teste de retorno sincronizado será executado. Para este tipo de teste de retorno, recomenda-se que você se desconecte dos servidores de dados e de comércio selecionando File gtgt Disconnect. Com um teste de retorno sincronizado, a dependência entre os gráficos é determinada e os cálculos são feitos na ordem correta. Isso garante consistência e precisão. Você pode usar qualquer velocidade de repetição. Quando você inicia a repetição de teste de retorno sincronizada, você será solicitado pelo incremento de passo de tempo para executar o teste de retorno em (Enter Processing Step in Seconds). O padrão é 60 segundos. Quanto menor o prazo, mais preciso o teste de volta, no entanto, demorará mais para concluir. Quanto maior o prazo, mais rápido será o teste de retorno, mas será menos preciso. No entanto, a precisão depende realmente do prazo das barras de gráficos de origem e de destino. Você não gostaria de usar um incremento de passo de tempo que seja maior que o período de tempo das barras envolvidas no sistema de negociação. Você pode querer escolher um período de tempo que seja aproximadamente 25 do tempo médio da barra. Visualizando os Resultados do Teste Você pode visualizar os resultados detalhados do seu sistema de negociação, selecionando Trade Gtgt Trade Activity Log gtgt Trade Statistics no menu. No topo do Trade Activity Log selecione o símbolo em que o teste de retorno foi executado. Você precisa escolher o símbolo que possui SIM na frente dele. Na parte superior do registro da atividade comercial, você deve selecionar Simulado na lista das Fontes de atividades do pedido, para exibir a atividade de ordem e preenchimento para o Teste de retorno. Para obter instruções completas, consulte a guia Estatísticas do comércio. Existem muitos campos exibidos que fornecem resultados detalhados da negociação. Para um comércio por Trade log, selecione Trade gtgt Trade Activity Log gtgt Trades no menu. Para obter instruções completas, consulte a guia Negociações. Para ver a ordem comercial preenche-se visualmente no gráfico, acesse Trade gtgt Show Order Fills no menu da janela principal ou na janela do gráfico. Para saber exatamente quando um pedido foi preenchido, você precisa examinar a ordem preenchida no quadro em vez de olhar para as setas colocadas por um sistema de negociação no gráfico porque essas setas podem não representar necessariamente as ordens reais aceitas e preenchidas. Para obter informações adicionais sobre isso, consulte Sinais ignorados com sistemas de planilha ou alertas (isto aplica-se ao estudo do sistema de planilha para negociação). Melhorando o desempenho do teste de volta Existem algumas coisas que podem ser feitas para melhorar o desempenho do teste de volta. O teste de retorno mais rápido será ao usar o método de teste Back Back Testado com Base em Bar. No caso de usar o Spreadsheet System for Trading. Consulte Melhorar o desempenho do teste de volta dos sistemas de negociação de planilhas, além dos itens abaixo. O desenvolvimento de um sistema de negociação automatizado usando o Advanced Custom Study Interface e Language irá sempre dar o melhor desempenho comparado ao uso de Planilhas. Ao executar um teste de retorno do tipo de repetição, se os dados no arquivo de dados do gráfico Intraday contiver 1 registro de dados Tick ou 1 Second, o teste de volta será mais lento em comparação com os registros de dados de tempo mais altos no arquivo de dados Intraday. Portanto, aumente as Configurações Globais Configurações do Serviço DataTrade da Gtgt Intraday. Depois disso, faça o download dos dados do gráfico Intraday, indo para o gráfico Intraday e selecione Editar gtgt Excluir todos os dados e baixar. Isso só precisa ser feito uma vez por símbolo. Isso ajudará a reduzir o tempo de teste para trás. A próxima coisa a verificar para determinar a origem do teste de atraso lento é remover todos os estudos do gráfico ou gráficos que estão sendo reproduzidos, ou a partir do gráfico em que um teste baseado na barra está sendo executado. Execute o teste de volta novamente e veja se você obtém melhor desempenho. Se assim for, então é um desses estudos particulares que causam o problema. Você pode então adicionar estudos gradualmente, um a um para ver qual deles está demorando mais tempo para calcular. Se um estudo personalizado está causando um problema de desempenho, o desenvolvedor desse estudo precisa melhorar o desempenho desse estudo. O estudo personalizado deve definir sc. FreeDLL 0 no bloco de código sc. SetDefaults para melhorar o desempenho. Melhorando o desempenho do teste de volta dos sistemas de negociação de planilhas No caso de usar o estudo do Spreadsheet System for Trading, Back Testing geralmente não é muito rápido. A razão para isso é porque todos os dados do gráfico são emitidos para um objeto de planilha separado. Toda vez que existe uma nova barra adicionada ao gráfico durante um Teste de Voltar, todos os dados do gráfico devem ser re-emitidos para a planilha. Isso faz com que muitos cálculos ocorram. Usar o ACSIL com inércia é muito mais rápido. No entanto, você pode melhorar o desempenho seguindo as etapas abaixo. Olhe suas fórmulas nas células K-Z (última coluna de fórmula ao usar 16 colunas de fórmula). Determine quantas linhas da linha atual 3, elas se referem. Por exemplo, se as fórmulas se referem para baixo não mais do que a linha 12, então o Estudo de planilha precisa apenas exibir 10 linhas de dados para a planilha. Reduza a entrada Número de linhas na janela Configurações do estudo para o Estudo do sistema de planilhas para negociação para o número mínimo de linhas necessárias. Limpe os dados das Linhas da Folha que agora não são mais usadas na Folha de Cálculo. Para fazer isso, destaque essas linhas selecionando os números de linha no lado esquerdo da Folha da Folha de Cálculo e pressione a tecla Excluir no teclado ou selecione Selecionar Seleção de Folha de Cálculo. Remova as folhas não utilizadas na planilha. No canto superior esquerdo da janela da Planilha, selecione a Folha específica que não é usada e selecione Folha de Exaustão da Folha de Cálculo. Se houver também um Estudo Personalizado Avançado no gráfico que você desenvolveu, certifique-se de que sc. FreeDLL está definido para 0. Isso é essencial para o desempenho. Execute o teste de retorno usando um dos métodos descritos nesta página. O teste de retorno mais rápido será um teste de retorno baseado em barras. Diferenças entre o Teste de Back e Avaliação do Sistema de Auto-Comércio em Tempo Real As ações de BuyEntry, BuyExit, SellEntry, SellExit Order são avaliadas quando o estudo de negociação é calculado. Durante a atualização normal do gráfico em tempo real, esse cálculo acontece no Intervalo de atualização de gráfico definido nas Definições globais gtgt Configurações gerais. No entanto, quando o Intervalo de atualização de gráfico expirar, os estudos de negociação só serão calculados quando houver dados recebidos do feed de dados ou existirem novas ordens comerciais ou dados de posição. Durante um teste de retorno, existem regras definidas que controlam quando os estudos comerciais são calculados. Para um teste de volta baseado em barras. Os estudos comerciais são calculados para cada um dos valores Open, High, Low, Close na barra. Durante um Replay Back Test. Os estudos de negociação são calculados quando há uma nova barra adicionada ao gráfico e sempre que há uma alteração com os valores Elevado, Baixo, Fechar da última barra no gráfico à medida que os dados são processados ​​através do arquivo de dados do gráfico Intraday. Durante a atualização em tempo real. Entre os tempos em que os estudos de negociação são calculados, que está no Intervalo de atualização do gráfico. Pode haver mais de um registro de dados adicionado ao gráfico. Isto é especialmente verdadeiro com os dados tick by tick. Portanto, o estudo não é calculado em cada marca. Se você deseja que suas Ações de Ordem sejam avaliadas o mais rápido possível durante a atualização de gráfico em tempo real, então você pode querer diminuir o Intervalo de Atualização de Gráfico. Nós não recomendamos ir mais baixo do que 50 a 100 ms. O ponto desta discussão é que pode haver algumas inconsistências entre um sistema de negociação que se realiza em tempo real e durante um teste de retorno devido às condições e freqüência para quando os estudos, incluindo o estudo comercial, são calculados. Você terá a maior consistência entre o teste de back-testing e a avaliação do sistema de auto-comércio em tempo real quando você estiver executando um teste de retorno baseado em repetição no tick by tick data. Para garantir que você marque os dados do tick no arquivo de dados Intraday, consulte Configuração de Dados Tick by Tick. No caso do estudo Spreadsheet System for Trading, se você deseja avaliar suas fórmulas de condição somente em uma barra fechada. Em seguida, defina as Somas Signos correspondentes somente nas entradas de Bar Close com o Estudo do Sistema de Cálculo para o estudo comercial para Sim. Isso proporcionará ao seu sistema uma maior estabilidade e não será afetado pelo Intervalo de atualização de gráficos. No caso de um sistema de comércio ACSIL, você vai querer usar sc. GetBarHasClosedStatus (). No caso de um sistema de negociação que utilize vários gráficos, durante a atualização em tempo real de gráficos, para controlar a ordem de cálculo dos gráficos com base na dependência entre eles, você precisa ativar Configurações Globais gtgt Configurações Gerais gtgt Use a Atualização de Gráfico de Ordem Controlada. Isso proporciona uma maior consistência entre os testes de back-testing e a avaliação do sistema de comércio automático em tempo real para sistemas de negociação que utilizam vários gráficos. Back Testing e Continuous Futures Contract Charts É suportado para executar o Back Testing ao usar uma das configurações do Chart gtgt Chart Gtgt Advanced Settings gtgt Continuous Contract. Ao realizar testes de volta em um gráfico de contrato de Futuro Contínuo, embora os contratos de futuros expirados sejam carregados no gráfico, o gráfico possui apenas um símbolo que é usado para negociação, mesmo que você esteja Back Testing em dados históricos. Então, os negócios estão ocorrendo nos preços do contrato expirado, mas sendo especificados com o símbolo atual. Portanto, você só verá um símbolo ao revisar os resultados da negociação no Trade Activity Log. Consistência entre os testes de retorno Ao realizar o Teste de Back, você deve usar um dos métodos documentados nesta página e seguir os procedimentos fornecidos. Ao executar um teste de retorno baseado em repetição, na janela de repetição, você deve selecionar o Modo de teste traseiro do sistema de negociação precisa para ter consistência quando voltar a testar o mesmo sistema de negociação automatizado nas mesmas condições. Durante um teste de retorno, quando o Sierra Chart está processando os registros de dados subjacentes para um teste de retorno baseado em repetição ou através dos dados da barra para um teste de retorno baseado em barras, os preços de lances e pedidos são definidos a partir dos registros de dados subjacentes no arquivo de dados Intraday Ou são derivadas dos dados da barra Open High Low Close. Esses preços Bid e Ask são usados ​​para preencher os pedidos que são enviados por um sistema de negociação automatizado. Existe sempre uma consistência consistente com a configuração dos preços Bid e Ask entre Back Testes nos mesmos dados gráficos que os dados são processados. Se o seu sistema comercial apresentar resultados inconsistentes entre Testes de volta sem fazer alterações nos dados do gráfico, na Configuração do gráfico ou nas Configurações de Estudo, você deve analisar suas próprias fórmulas de código do sistema comercial por uma causa. Quando há inconsistências, isso só pode ser atribuído ao seu próprio código. É muito improvável que seja o resultado de como a Sierra Chart está processando o teste de volta. Inconsistências revela que seu próprio sistema comercial produz resultados inconsistentes com base na forma como foi projetado e funcionando. Mesmo que você não obtenha um resultado consistente entre Testes de retorno, geralmente isso não significa necessariamente muito porque, embora você possa querer ver um resultado consistente sempre que você executar um teste de retorno, assumindo que seu estudo está funcionando de forma consistente e a Sierra Chart faz Não tem controle sobre isso, não muda o fato de que, com a negociação ao vivo, você obterá outro resultado diferente do seu sistema de negociação. Experimente um dos sistemas de negociação fornecidos pela Sierra Chart. Execute-o muitas vezes. Você obterá um resultado consistente sempre. Se você conseguir obter um resultado consistente a cada tempo, e com o seu próprio sistema de negociação não, então isso prova muito provavelmente o problema de inconsistência dentro do seu próprio sistema comercial. Os sistemas de negociação de exemplo da Sierra Chart podem ser encontrados em Análise de estudos de análise. Adicionar Estudo personalizado gtgt Sierra Chart Estudos e exemplos personalizados Exemplo de comércio de gtgt:. Se você estiver Back Testando um sistema de negociação que envolve a repetição de vários gráficos ao mesmo tempo, isso é algo que envolve muito mais complexidade. Isso é algo a considerar se você tiver inconsistências entre testes de retorno. Usando lances reais e solicite preços durante o teste posterior O Sierra Chart é compatível com o uso dos preços reais de lances e pedidos durante um teste de retorno baseado em repetição. Esses preços Bid e Ask são usados ​​para preencher pedidos. Isso fornece um alto grau de precisão quando Back Testing. Os preços históricos de lances e pedidos estão disponíveis ao usar dados históricos fornecidos pelos serviços de dados históricos da Sierra Chart. Na maioria dos casos, esse serviço está sendo usado para dados históricos para gráficos. Estes dados históricos de preço de lances e pedidos começam em 23 de junho de 2014. Siga estas etapas para usar os preços reais de lances e pedidos durante o teste posterior. Defina o Sierra Chart para armazenar os dados marcados por marca. Consulte Configuração de Dados Tick by Tick. Este é um passo essencial. Execute um teste de repetição automática ou manual. Deve ser um teste de repetição para trás. Última modificação quinta-feira, 15 de dezembro de 2016. Usando Excel para Back Test Trading Strategies Como voltar a testar com o Excel Ive feito uma quantidade razoável de testes de back-up de estratégia de negociação. Eu usei linguagens e algoritmos de programação sofisticados e eu também fiz isso com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar várias estratégias de negociação. Se você pode operar uma planilha eletrônica, como o Excel, você pode voltar testar muitas estratégias. O objetivo deste artigo é mostrar-lhe como rever um teste de uma estratégia comercial usando o Excel e uma fonte de dados acessível ao público. Isso não deve custar-lhe mais do que o tempo necessário para fazer o teste. Antes de começar a testar qualquer estratégia, você precisa de um conjunto de dados. No mínimo, esta é uma série de data e preços. Mais realista, você precisa dos preços de data e hora, aberto, alto, baixo e fechado. Você geralmente precisa apenas do componente de tempo da série de dados se estiver testando estratégias de negociação intradiária. Se você quer trabalhar e aprender a fazer uma volta com o Excel enquanto estiver lendo isso, siga as etapas que eu descrevo em cada seção. Precisamos obter alguns dados para o símbolo que vamos voltar a testar. Vá para: Finanças do Yahoo No campo Símbolo de inserir digite: IBM e clique em Ir sob Cotações no lado esquerdo, clique em Preços históricos e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desça até a parte inferior da página e clique em Baixar para Folha de cálculo Salve o arquivo com um nome (como ibm. csv) e para 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 e o arquivo que você abriu podem ter mudado no momento em que você lê isso. Quando eu baixei este arquivo, as melhores linhas pareciam 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, então eu exclui o Alto, o Baixo, o Volume e o Adj. Fechar. Eu também ordenou os dados para que a data mais antiga fosse primeiro e a última data estava na parte inferior. Use as opções do menu Classificar dados para fazer isso. Em vez de testar uma estratégia, eu vou tentar encontrar o dia da semana que forneceu o melhor retorno se você seguiu uma compra aberta e venda a estratégia de fechamento. Lembre-se que este artigo está aqui para apresentá-lo sobre como usar o Excel para suportar as estratégias de teste. Podemos construir sobre isso no futuro. Aqui está o arquivo ibm. zip que contém a planilha com os dados e as 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 dia específico. Inserindo as fórmulas A parte complicada (a menos que você seja um especialista do Excel) esteja trabalhando as fórmulas para usar. Isso é 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 e veja a fórmula na célula D2. Parece assim: 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 de segunda 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 for combinado. Os sinais à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou a linha para que, quando esta copiou, essa parte da referência da célula não muda. Então, aqui no nosso exemplo, quando a fórmula é copiada, a referência para a célula de data A2 mudará o número da linha se 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 da semana, coloquei algumas funções de resumo. Nomeadamente, as funções de média e soma. Estes nos mostram que, durante 2004, o dia mais lucrativo para implementar esta estratégia foi em uma terça-feira e isso foi seguido de perto por uma quarta-feira. Quando eu testei a estratégia de Vencimento às Sextas - Bullish ou Bearish e escrevi esse artigo, usei uma abordagem muito similar com uma planilha e fórmulas como esta. O objetivo desse teste foi ver se as sextas de caducidade eram geralmente de alta ou baixa. Experimente. Baixe alguns dados do Yahoo Finance. Carregue no Excel e experimente as fórmulas e veja o que pode surgir. Poste suas perguntas no fórum. Boa sorte e estratégia lucrativa hunting06172013 A última versão do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Gráfica de Ponto e Figura e Teste de Estratégia. 06172013 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 06172013 ConnectCode Barcode Font Pack - permite códigos de barras em aplicativos de escritório e inclui um complemento para o Excel que suporta a geração em massa de códigos de barras. 06172013 InvestmentCode, um conjunto abrangente de calculadoras financeiras e modelos para o Excel está agora disponível. 09012009 Lançamento do Free Investment and Financial Calculator para Excel. 0212008 Lançamento do SparkCode Professional - add-in para criar painéis no Excel com sparklines 12152007 Anunciando o ConnectCode Duplicate Remover - um complemento poderoso para encontrar e remover entradas de duplicatas no Excel 09082007 Lançamento de TinyGraphs - suplemento de fonte aberta para criar sparklines e pequenas Gráficos no Excel. Strategy Backtesting no Excel Strategy 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 de forma rápida e fácil. Durante o processo de backtesting, o Expert Backtesting percorre os dados históricos seguidos por linha, 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, um comércio será inserido. Por outro lado, se as condições de saída forem atendidas, 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 comercial. Isso torna o Backtesting Expert uma ferramenta extremamente poderosa e flexível. Expert Backtesting 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 de forma rápida e fácil. O modelo pode ser configurado para entrar em posições Longas ou Curtas quando ocorrerem certas condições 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 rentabilidade de uma estratégia de negociação. Backtesting Expert Step by Step Tutorial 1. Inicie o Expert Backtesting O Expert Backtesting pode ser iniciado a partir do menu Iniciar do Windows - Programas - TraderCode - Expert Backtesting. Isso lança um modelo de planilha com múltiplas planilhas para gerar indicadores de análise técnica e executar testes nas diferentes estratégias. Você notará que o Backtesting Expert inclui muitas planilhas familiares como o DownloadedData, AnalysisInput, AnalysisOutput, ChartInput e ChartOutput do modelo de Expert de Análise Técnica. Isso permite que você execute todos os testes de volta rápida 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 de valores separados por vírgula (csv) para esta planilha para análise técnica. O formato dos dados é como mostrado no diagrama. Alternativamente, você pode consultar o documento Download Stock Trading Data para baixar dados de fontes de dados bem conhecidas, como o Yahoo Finance, Google Finance ou o Forex para uso no Expert Backtesting. 3. Depois de copiar os dados, vá para a planilha do AnalysisInput e clique no botão Analisar e BackTest. Isso gerará os diferentes indicadores técnicos na planilha AnalysisOutput e realizará backtesting nas estratégias especificadas na folha de cálculo StrategyBackTestingInput. 4. Clique na folha de cálculo StrategyBackTestingInput. Neste tutorial, você só precisará saber que especificamos estratégias longas e curtas usando passagens médias móveis. Entraremos em detalhes sobre a 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 retorno, a saída será colocada nas planilhas AnalysisOutput, TradeLogOutput e TradeSummaryOutput. A folha de cálculo AnalysisOutput contém os preços históricos completos e os indicadores técnicos do estoque. Durante os testes de volta, se as condições para uma estratégia estiverem satisfeitas, informações como preço de compra, preço de venda, comissão e lucro serão registradas nesta planilha para fácil referência. Esta informação é útil se você quiser rastrear as estratégias para ver como as posições de estoque são inseridas e encerradas. A folha de cálculo TradeLogOutput contém um resumo das negociações realizadas pelo Expert Backtesting. Os dados podem ser facilmente filtrados para mostrar apenas dados para uma estratégia específica. Esta planilha é útil para determinar o lucro ou perda global de uma estratégia em diferentes prazos. A saída mais importante das provas de volta é colocada na planilha do TradeSummaryOutput. Esta planilha contém o lucro total das estratégias implementadas. Conforme mostrado no diagrama abaixo, as estratégias geraram um lucro total de 2.548,20, totalizando 10 negócios. Destes negócios, 5 são posições longas e 5 são posições curtas. O Ratio winloss de mais de 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 Expert Backtesting. As folhas de cálculo 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 Expert de Análise Técnica. Estrada de trabalho StrategyBackTestingInput 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ê irá comprar em uma ação ou vender uma ação. Por exemplo, você pode querer executar uma estratégia para ir Long (comprar ações) se a média móvel de 12 dias do preço cruza acima da média móvel de 24 dias. Esta planilha funciona em conjunto com os indicadores técnicos e os dados de preços na planilha do AnalysisOutput. Daí, os indicadores técnicos de média móvel devem ser gerados para ter uma estratégia de negociação baseada na média móvel. A primeira entrada requerida nesta planilha (como mostrado no diagrama abaixo) é especificar se a saída de todos os negócios no final da sessão de teste posterior. Imagine o cenário em que as condições para a compra de um estoque ocorreram e o Expert de Backtesting entrou em um comércio longo (ou curto). No entanto, o período de tempo é muito curto e terminou antes que o comércio possa atender às condições de saída, resultando em algumas negociações que não foram encerradas quando a sessão de backtesting termina. Você pode configurar isso para Y para forçar todas as negociações a serem encerradas no final da sessão de teste. Além disso, os negócios serão deixados abertos quando a sessão de teste for concluída. Estratégias Um máximo de 10 estratégias podem ser suportadas em uma única prova de volta. O diagrama abaixo mostra as entradas necessárias para especificar uma estratégia. Iniciais da Estratégia - Esta entrada aceita um máximo de dois alfabetos ou números. As Iniciais da Estratégia são usadas nas planilhas AnalysisOutput e TradeLog para identificar as estratégias. Longo (L) Curto (S) - Isso é usado para indicar se deseja inserir uma posição Longa ou Curta quando as condições de entrada da estratégia forem atendidas. Condições de entrada Um comércio longo ou curto será inserido 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 da fórmula é sensível a maiúsculas e minúsculas e pode usar Funções, Operadores e Colunas conforme descrito abaixo. Crossabove (X, Y) - Retorna True se a coluna X atravessar a coluna acima 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 tenha ocorrido. E (logicalexpr,) - Boolean And. Retorna True se todas as expressões lógicas forem verdadeiras. Ou (logicalexpr,) - Booleano Or. Retorna True se qualquer uma 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, incluindo hoje. Previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, incluindo hoje. Operadores maiores do que iguais Não iguais Maior ou igual Colunas de divisão de adição - subtração Multiplicação (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 volta são realizados, cada linha da coluna será usada para avaliação. Por exemplo, A 50 significa que cada uma das linhas da coluna A da planilha de análise da análise será determinada se ela for superior a 50. AB Neste exemplo , Se o valor na coluna A na planilha do 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 planilha AnalysisOutput for maior que o valor da coluna B e o valor da coluna C for maior do 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 cruza acima do valor de B, a condição de entrada será satisfeita. Crossabove significa que A originalmente tem um valor inferior ou igual a B e o valor de A torna-se posteriormente maior do que B. Condições de Saída As Condições de Saída podem fazer uso de Funções, Operadores e Colunas conforme definido nas condições de entrada. Além disso, também pode usar variáveis ​​como mostrado abaixo. Variables para condições de saída lucro Esta é definida como o preço de venda menos o preço de compra. O preço de venda deve ser maior do que o preço de compra para um lucro a ser feito. Caso contrário, o lucro será zero. Perda Isto é definido como o preço de venda menos o preço de compra quando o preço de venda é inferior ao preço de compra. Preço de compra (preço de venda - preço de compra) preço de compra Nota. O preço de venda deve ser maior ou igual ao preço de compra. Caso contrário, o lucro será zero. Losspct (preço de venda - preço de compra) preço de compra Nota. O preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero. Exemplos lucrapct 0.2 Neste exemplo, se o lucro em termos de porcentagem for maior que 20, as condições de saída serão satisfeitas. Comissão - Comissão em termos de uma percentagem do preço de negociação. Se o preço de negociação é de 10 e a Comissão é de 0,1, a comissão será 1. A comissão de porcentagem e a comissão em dólares serão resumidas para calcular a comissão total. Comissão - Comissão em dólares. A porcentagem de comissão e comissão em dólares será resumida para calcular a comissão total. Número de Ações - Número de ações a serem adquiridas ou vendidas quando as condições de entrada de acordo com a estratégia forem cumpridas. Folha de cálculo TradeSummaryOutput Esta é uma planilha que contém um resumo de todas as negociações realizadas durante as provas de volta. Os resultados são classificados em Long and Short Trades. Uma descrição de todos os campos pode ser encontrada abaixo. Total Lucro - Resultado total após a comissão. Esse valor é calculado pela soma de todos os lucros e perdas de todos os negócios simulados no teste de volta. Total de Lucros antes da Comissão - Resultado total antes da comissão. Se a comissão for definida como zero, este campo terá o mesmo valor que Total ProfitLoss. Comissão Total - Comissão total necessária para todos os negócios simulados durante o teste de volta. Número total de operações - Número total de negócios realizados durante o teste de volta simulado. Número de Negociações vencedoras - Número de negócios que fazem lucro. Número de Negociações perdidas - Número de negociações que causam perda. Negociações premiadas por porcentagem - Número de negociações vencedoras divididas por número total de negócios. Percentagem de negociações perdidas - Número de negociações perdidas divididas por número total de negócios. Comércio vencedor médio - O valor médio dos lucros dos negócios vencedores. Perda média de comércio - O valor médio das perdas dos negócios perdidos. Comércio médio - O valor médio (lucro ou perda) de um único comércio do teste de volta simulado. O maior comércio vencedor - O lucro do maior comércio vencedor. Maior perda de comércio - A perda do maior comércio perdedor. Ratio de perda média de winaverage - Média de negociação vencedora dividida pelo Perda de Perdas Médicas. Ratio winloss - Soma de todos os lucros nos negócios vencedores divididos pela soma de todas as perdas nas negociações perdedoras. Uma proporção superior a 1 indica uma estratégia lucrativa. Folha de cálculo TradeLogOutput Esta planilha contém todos os negócios simulados pelo Expert Backtesting ordenados pela data. 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. Posição - A posição do comércio, seja longa ou curta. Trade - Indicates whether this trade is buying or selling stocks. Shares - Number of shares traded. Preço - O preço em que as ações são compradas ou vendidas. 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. Por exemplo, se tivermos uma posição Longo onde o PL (Comando B4) é 100. Supondo que quando a posição é inserida, uma comissão é carregada e quando a posição é encerrada, outra comissão de 10 é carregada. O PL (na posição de fechamento) é 100- 10 - 10 80. Tanto a comissão ao entrar na posição quanto a saída da posição são contabilizadas na posição fechada. Back to TraderCode Technical Analysis Software and Technical Indicators

No comments:

Post a Comment