Monday 20 November 2017

Backtesting excel forex


Backtesting in Excel vs MQL4 Registrado em Jul 2017 Status: Membro 4 Posts Alguém faz backtesting no Excel, ou conhecer os membros que eu gostaria de discutir a metodologia e modelos com quem usa o Excel. Alguém tem modelos simples (ou complexos) que eles estariam dispostos a partilhar para indicadores ou sistemas básicos? Devo dedicar algum tempo para aprender MQL4 Eu tenho um monte de experiência de modelagem no Excel, mas eu não tenho qualquer experiência com programação de computadores. Estou relutante em gastar tempo aprendendo MQL4 como eu vou estar partindo de nada, mas talvez isso seria mais fácil. Existem outros não-programadores lá fora, que se tornaram proficientes em MQL4 Registrado Oct 2007 Status: Membro 92 Posts Excel é uma ferramenta poderosa. Enquanto ele é projetado para trabalhar como uma planilha e modelagem, etc, as pessoas têm usado para fazer todos os tipos de coisas incríveis, incluindo AI, bases de dados, etc, embora haja ferramentas especialista projetado especificamente para essas tarefas. MQL4 é uma linguagem muito bruta, mas é projetado especificamente para negociação e por isso tem muitas coisas específicas para essa tarefa. Enquanto theres um debate em curso sobre a eficácia do testador de estratégia como uma ferramenta de teste de volta, Im certeza de que você estará de volta testando dez vezes mais rápido com MQL4 mesmo se você tem que aprender a linguagem do zero. Você provavelmente já está familiarizado com muitos dos conceitos fundamentais de programação como loops e declarações condicionais. Para a rota do Excel, você pode querer olhar para as ferramentas que já estão disponíveis, Id ser surpreendido se alguém hasnt já fez isso. Se você não pode encontrar algo pronto feito, você terá que primeiro de todos os concepção de um simulador de comércio, lidar com o relatório, processar seus dados históricos e, em seguida, ter uma IU razoável. Tudo isso vem de graça com MT4. Cadastrado Out 2007 Status: Membro 886 Posts Qualquer coisa envolvendo cálculos Eu faço no Excel, tenho feito há anos. No entanto, não tenho certeza youd obter nada fora de meus modelos como theyre específico para o que estou fazendo. Excel é maneira mais flexível e transparente, para que você possa interrogar e verificar os dados corretamente. Para o não-programador seu dourado. Apenas como um exemplo, quanto tempo levaria você bater um EA que mostra a volatilidade média de qualquer hora determinada para os últimos 14 dias. Não estou dizendo que é impossível - eu não tenho idéia - mas no Excel, uma tabela dinâmica e 5 minutos mais tarde e youre feito. Onde Excel cai está em negociação ao vivo - ele não joga muito bem enganchando em outras plataformas de negociação (FXCM / IB / Currenex), mas para backtesting, que não importa. Cadastrado em Jul 2009 Status. Ou há cerca de 215 Posts Quando eu comecei a fazer a minha própria análise, comecei com o Excel como eu não tinha experiência de programação e encontrou VBA mais fácil de aprender do que MQL4. Agora eu uso uma combinação de ambos. Na minha experiência limitada, o MQL4 é mais rápido ao executar cálculos do que o Excel, em particular se sua planilha do Excel faz uso de muitas funções definidas pelo usuário. Um dos meus projetos em andamento é construir uma planilha para analisar diferentes instrumentos 70ish em intervalos de tempo semanais e diários. No começo eu pensei que eu usaria MQL4 para escrever arquivos. csv de OHLC info para cada instrumento e cronograma, em seguida, crunch os números no Excel. Desvantagem - tendo um par de minutos para recalcular Então, agora eu executar todos os calcs em MT4 e, em seguida, escrever apenas dois arquivos. Excel é então a interface do usuário e não há espera em calcs. Suponho que o que eu estou recebendo, é que se você pode usar ambos, então você está dando a si mesmo a capacidade de usar o que é mais adequado para a tarefa que você definiu a si mesmo. Apenas a minha 2 pence. Registrado em Maio de 2006 Estado: Apenas um nome de utilizador. Testes de Estratégia MT4 Programas personalizados do Python OpenOffice Calc (Excel compatível) Cada EA tem suas próprias características, mas, geralmente Ive teve os melhores resultados com MT4 Indicadores / Scripts. Se você puder criar um indicador que duplique as ações de uma determinada EA, é possível transformar esse indicador em uma ferramenta de análise. Todos os EAs não se prestam a esta abordagem, mas se você tiver um que faz, ele irá fornecer resultados quase instantâneos (não precisa para o pip, mas perto o suficiente) e salvar ter que mexer com csv arquivos ou outras técnicas de interface mais complexas. IMHO, deixe a natureza da EA que você está testando ditar o melhor método de teste. Old Benjamin foi rightBacktesting O que é Backtesting Backtesting é o processo de testar uma estratégia comercial sobre dados históricos relevantes para garantir a sua viabilidade antes que o comerciante arrisca qualquer capital real. Um comerciante pode simular a negociação de uma estratégia durante um período adequado de tempo e analisar os resultados para os níveis de rentabilidade e risco. BREAKING DOWN Backtesting Se os resultados satisfazem os critérios necessários que são aceitáveis ​​para o comerciante, a estratégia pode ser implementada com algum grau de confiança 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 é feito por comerciantes que usam algum tipo de automação de computador. Isto é especialmente verdadeiro para estratégias de negociação com base em análise técnica. Backtesting é uma parte integrante do desenvolvimento de um sistema de negociação automatizado. Backtesting Significado Quando feito corretamente, backtesting pode ser uma ferramenta inestimável para tomar decisões sobre se deve utilizar uma estratégia de negociação. O período de tempo de amostra em que um backtest é realizado é crítico. A duração do período de tempo de amostragem deve ser suficientemente longa para incluir períodos de condições de mercado variáveis, incluindo tendências de alta, tendências de baixa e negociação de intervalo limitado. 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 de mercado, o que pode levar a conclusões falsas. O tamanho da amostra no número de negócios nos resultados dos testes também é crucial. Se o número de amostras de ofícios é muito pequeno, o teste pode não ser estatisticamente significativo. Uma amostra com muitas transações durante um período muito longo pode produzir resultados otimizados em que um número esmagador de trades vencedores coalesce em torno de uma condição de mercado específico ou tendência que é favorável para a estratégia. Isso também pode causar um comerciante para tirar conclusões enganosas. Mantê-lo real Um backtest deve refletir a realidade na medida do possível. Os custos de transacção que de outra forma poderiam ser considerados negligenciáveis ​​pelos operadores quando analisados ​​individualmente podem ter um impacto significativo quando o custo agregado é calculado durante todo o período de backtesting. Estes custos incluem comissões, spreads e derrapagem, e eles poderiam determinar a diferença entre se uma estratégia comercial é rentável ou não. A maioria dos pacotes de software de backtesting inclui métodos para contabilizar esses custos. Talvez a métrica mais importante associada ao backtesting seja o nível de robustez da estratégia. Isto é conseguido comparando os resultados de um teste de volta otimizado num período de tempo de amostra específico (referido como in-sample) com os resultados de um backtest com a mesma estratégia e configurações num período de tempo de amostra diferente (referido como out - Da amostra). Se os resultados são igualmente rentáveis, então 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 mais desenvolvimento ou deve ser abandonada por completo. 06/17/2017 A última versão do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Figura Charting e Backtesting de estratégia. 17/06/2017 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 17/06/2017 ConnectCode Barcode Font Pack - permite códigos de barras em aplicativos de escritório e inclui um suplemento para o Excel que suporta a geração em massa de códigos de barras. 17/06/2017 InvestmentCode, um conjunto abrangente de calculadoras e modelos financeiros para o Excel está agora disponível. 09/01/2009 Lançamento de Investimento Livre e Calculadora Financeira para Excel. 01/01/2008 Lançamento do SparkCode Professional - add-in para criar Dashboards no Excel com sparklines 12/15/2007 Anunciando o ConnectCode Duplicate Remover - um poderoso add-in para encontrar e remover entradas duplicadas no Excel 09/08/2007 Lançamento do SparkCode Professional TinyGraphs - add-in de fonte aberta para criar sparklines e gráficos minúsculos em Excel. Estratégia Backtesting no Excel Estratégia Backtesting Expert Visão Geral 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 de uma linha a 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, 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 são 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 crossovers 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 back tests, se as condições para uma estratégia forem satisfeitas, informações como preço de compra, preço de venda, comissão e lucro / perda serão registradas nesta planilha para facilitar a consulta. 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 dos negócios realizados 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 de tempo 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 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 Long posições e 5 são Short posições. A Ratio ganha / perda 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 do Backtesting Expert. As planilhas DownloadedData, AnalysisInput, AnalysOutput, ChartInput e ChartOutput são as mesmas do modelo do Technical Analysis Expert. 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. Planilha 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ê 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 deseja sair de todos os negócios 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 como Y para forçar todos os comércios a serem encerrados no final da sessão de 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 a posição Long ou Short deve ser inserida 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 fazer uso de funções, operadores e colunas como 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, incluindo 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 Subtração Multiplicação / Divisão Colunas (de AnalysisOutput) A - Coluna AB - Coluna BC .. .. YY - Coluna YY ZZ - Coluna ZZ Esta é a parte mais interessante e flexível do Condições de Entrada. Ele permite que colunas da planilha AnalysisOutput sejam especificadas. Quando os testes de retorno são 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 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 e o valor de A posteriormente torna-se maior 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 de que também pode fazer uso de variáveis, como mostrado abaixo. Variables for Exit Condições lucro Isso é definido 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 É 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. Profitpct (preço de venda - preço de compra) / preço de compra Nota. Preço de venda deve ser superior ou igual ao preço de compra. Caso contrário, profitpct será zero. Losspct (preço de venda - preço de compra) / preço de compra. Preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero. Exemplos profitpct 0.2 Neste exemplo, se o lucro em termos de percentagem for superior a 20, as condições de saída serão satisfeitas. Comissão em termos de percentagem do preço de negociação. Se o preço de negociação é 10 e Comissão é 0,1, em seguida, comissão será 1. A comissão percentual e comissão em dólares serão somados para calcular a comissão total. Comissão em dólares. O percentual de comissão e comissão em dólares será somado para calcular o total da comissão. Número de Ações - Número de ações a serem compradas ou vendidas quando as condições de entrada / saída da estratégia forem atendidas. Folha de trabalho TradeSummaryOutput Esta é uma planilha que contém um resumo de todos os negócios realizados durante os testes de volta. Os resultados são categorizados em Long e Short Trades. Uma descrição de todos os campos pode ser encontrada abaixo. Lucro / perda total - lucro ou perda total após a comissão. Este valor é calculado somando todos os lucros e perdas de todas as operações simuladas no back test. Lucro / perda total antes da comissão - lucro ou perda total antes da comissão. Se a comissão for definida como zero, este campo terá o mesmo valor que o Lucro Total / Perda. Total Comissão - Comissão total exigida para todas as operações simuladas durante o teste de volta. Número total de negócios - Número total de negócios realizados durante o teste de volta simulada. Número de negócios vencedores - Número de negócios que obtêm lucro. Número de negócios perdidos - Número de negócios que causam prejuízo. Porcentagem de negócios vencedores - Número de negócios vencedores dividido pelo número total de negócios. Percentagem de negócios perdidos - Número de negócios perdedores dividido pelo número total de negócios. Average winning Trade - O valor médio dos lucros dos negócios vencedores. Média perdendo Comércio - O valor médio das perdas das operações perdedoras. Average Trade - O valor médio (lucro ou prejuízo) de um único negócio do teste de volta simulada. Maior vencedora Trade - O lucro do maior comércio vencedor. Maior perda de comércio - A perda do maior comércio perdedor. Rácio médio de vitória / perda média - Média ganhando Comércio dividido pela Média perdendo Comércio. Ratio ganha / perda - Soma de todos os lucros nos comércios ganhando divididos pela soma de todas as perdas nos comércios perdedores. Uma proporção maior do que 1 indica uma estratégia lucrativa. Folha de trabalho TradeLogOutput Esta planilha contém todos os negócios simulados pelo Expert Backtesting classificados por data. Ele permite que você faça zoom em qualquer comércio específico ou período de tempo para determinar a rentabilidade de uma estratégia de forma rápida e fácil. Data - A data em que uma posição Long ou Short é inserida ou saiu. Estratégia - A estratégia que é usada para executar este comércio. Posição - A posição do negócio, se Long ou Short. Comércio - Indica se este comércio está comprando ou vendendo estoques. Ações - Quantidade de ações negociadas. Preço - O preço em que as ações são compradas ou vendidas. Comm. - Comissão total para este comércio. PL (B4 Comm.) - Lucro ou prejuízo antes da comissão. PL (Aft Comm.) - Lucro ou prejuízo após a comissão. Porra. PL (Aft Comm.) - Lucro ou prejuízo acumulado após comissões. Isso é calculado como o lucro / prejuízo acumulado total a partir do primeiro dia de uma negociação. PL (na posição de fechamento) - Lucro ou prejuízo quando a posição é fechada (encerrada). Tanto a comissão de entrada como a comissão de saída serão contabilizadas neste PL. Por exemplo, se tivermos uma posição Longa onde o PL (Com. B4) é 100. Supondo que quando a posição é inserida, uma comissão 10 é cobrada e quando a posição é saida, outra comissão de 10 é carregada. O PL (na posição de fecho) é 100-10-10 80. Tanto a comissão ao entrar na posição e sair da posição são contabilizadas na posição fechada. Voltar para TraderCode Technical Analysis Software and Technical Indicators

No comments:

Post a Comment