Friday 14 July 2017

Backtesting Forex Excel


Deixe-me começar por dizer que I8217m não é um especialista em backtesting no Excel 8211, há uma série de blogueiros muito inteligentes que têm, como eu diria, o skillz8221 da 8220mad ao trabalhar com o Excel, incluindo (mas não limitado a) Michael Stokes em Marketsci. Jeff Pietch em etfprophet e as pessoas (David e Corey) em cssanalytics. wordpress. Todos esses caras têm sido graciosos o suficiente, ao longo dos anos, para compartilhar comigo como fazer backtests 8211, então estou em dívida com eles. E eu quero agradecer a Josh aqui no FOSS Trading, bem como no 8211 porque ele tem sido gentil o suficiente para me ajudar a aprender a usar R para testar. Com tudo isso em mente, pensei que I8217d atravessasse o que eu considero os quatro passos básicos na produção de um backtest no Excel. Observe que o arquivo principal do Excel não foi criado por mim - foi criado por Jared Over em CondorOptions (outro deve ler se você não o está seguindo). Etapa 1: Obter os dados O primeiro passo é obter seus dados de mercado no Excel. Existem duas abordagens básicas para este 8211. O primeiro envolve ir ao Yahoo Finance e baixar dados históricos diretamente como CSV e depois carregá-lo no Excel. Isso é bom, mas exige uma atualização manual desses dados à medida que avança no sentido 8211, você precisa baixar novamente esses dados históricos e, em seguida, copiar e colar todo o conjunto de dados ou um subconjunto para atualizar sua estratégia. A segunda abordagem é usar o código para obter dados automaticamente do Yahoo Finance. Muitas pessoas escreveram VBA por fazer exatamente isso, não escrevi isso, por isso não me sinto à vontade para republicar o código. Uma pesquisa rápida no Google fornecerá alguns exemplos para trabalhar. Existem também 3 ferramentas de festa que tornam o trabalho simples 8211 I8217d recomendar o AnalyzerXL, pois oferece mais flexibilidade e opções. Como você armazena esses dados no Excel depende de você, a maioria das pessoas que conheço possuem uma única folha onde eles conservam todos os dados e, em seguida, têm uma planilha separada para o resto do sistema. Para sistemas com um único instrumento (como o SPY), it8217s não é um problema para integrar os dados e o sistema, mas à medida que o número de instrumentos aumenta, you8217 deseja que eles sejam inseridos em uma planilha separada para minimizar a rolagem e torná-lo fácil atualizar. Passo 2: Crie seu indicador Agora que nós obtivemos os dados, podemos usar esses dados para construir um indicador ou indicadores. Neste exemplo, Jared construiu o indicador DVI (originalmente criado por David como CSS Analytics). Vocês sabem que usamos 5 colunas diferentes para criar o indicador 8211, cada um que faz parte do cálculo. Uma coisa boa sobre trabalhar com o Excel é que realmente faz você pensar sobre como um indicador é construído. Pode ser muito simples, hoje em dia, derrubar e indicar sem entender como ele realmente funciona. A coluna do indicador final, DVI, é uma soma ponderada da magnitude DVI e as colunas de estiramento DVI. I8217d também observa que o AnalyzerXL também contém um grande número de indicadores predefinidos para tornar o backtesting mais fácil, e existem outros complementos para o Excel que oferecem funcionalidades semelhantes. Passo 3: Construa sua regra de negociação Agora que você possui um indicador, você precisa construir suas regras de negociação. Neste exemplo (o cálculo está na coluna 8220Signal8221), nossa regra de negociação é simples 8211 we8217re longa se o DVI for inferior a 0,5 e curto se acima. Obviamente, você poderia ter regras mais complexas 8211 um estado neutro onde you8217re não é longo ou curto, ou dimensionamento de posição variável, em oposição a apenas all-in long ou short. Passo 4: A curva de negociação rulesequity Existem muitas abordagens diferentes aqui, mas o que você pode ver neste exemplo é uma maneira simples de fazê-lo. Assuma um valor de caixa inicial de 10.000 e, em seguida, incrementar ou decrementar se, seja ou não longo ou curto no final do dia anterior, e se estivéssemos corretos ou não. Na forma de função, representamos isso dizendo: se longo, então, múltiplo o patrimônio do dia anterior8217s pela proporção de today8217s perto de ontem8217s fechar, caso contrário, o patrimônio do dia anterior 8217s por proporção de ontem8217s perto de today8217s fechar. Podemos, obviamente, representar os resultados. Observe também que usamos dinheiro aqui, mas você poderia facilmente fazer porcentagens brutas no lugar de um valor em dinheiro. O que 8217 está faltando aqui pode ser importante para decidir se trocar ou não trocar um sistema. Em primeiro lugar, os resultados aqui são inexpressivos 8211 eles assumem que não há nenhuma comissão de custos para o comércio. Em sistemas de swing de alta freqüência como este, as comissões podem ter um grande impacto na viabilidade de uma dada estratégia. Em segundo lugar, nós não temos nenhuma estatística sobre o desempenho da estratégia 8211 apenas um gráfico. Geralmente, queremos saber estatísticas como CAGR e a relação Sharpe para compará-la com outras estratégias. Nós também não recebemos relatórios mensais ou anuais. Todas essas coisas podem ser construídas no Excel com um pouco de trabalho 8211 e novamente, o AnalyzerXL fornece uma grande quantidade de opções de relatórios como parte do pacote. Essa é uma visão geral básica do backtesting no Excel - espero que todos os acham úteisBacktesting no Excel vs MQL4 Inscrito em Jul 2011 Status: Membro 4 Posts Alguém faz backtesting no Excel, ou conhece membros que eu gostaria de discutir metodologia e modelos com qualquer pessoa Que usa o Excel. Alguém tem algum modelo simples (ou complexo) que eles estariam dispostos a compartilhar para indicadores ou sistemas básicos Or. Devo dedicar algum tempo a aprender MQL4. Tenho muita experiência em modelagem no Excel, mas não tenho experiência na programação de computadores. Estou relutante em passar tempo aprendendo o MQL4, pois não vou começar, mas talvez isso seja mais fácil. Existe algum outro não programador lá fora, que se tornou proficiente em MQL4 Juntado em outubro de 2007 Status: Membro 92 Posts O Excel é uma ferramenta poderosa. Embora seja projetado para funcionar como folha de propagação e modelagem, etc., as pessoas o usaram para fazer todos os tipos de coisas incríveis, incluindo AI, bases de dados, etc., apesar de ferramentas especializadas projetadas especificamente para essas tarefas. O MQL4 é um idioma bastante bruto, mas é projetado especificamente para negociação e, portanto, tem muitas coisas específicas para essa tarefa. Enquanto há um debate em curso sobre a eficácia do testador de estratégia como uma ferramenta de teste de volta, estou certo de que você estará de volta testando dez vezes mais rápido com o MQL4 mesmo se você tiver que aprender o idioma do zero. Você provavelmente já está familiarizado com muitos conceitos de programação fundamentais, como loops e declarações condicionais. Para a rota do Excel, você pode querer procurar ferramentas que já estão disponíveis, seja surpreendido se alguém já tenha feito isso. Se você não consegue encontrar algo pronto, você terá que primeiro projetar um simulador de comércio, lidar com o relatório, processar seus dados históricos e ter uma UI razoável. Tudo isso vem gratuitamente com MT4. Junte-se a outubro de 2007 Status: Membro 887 Posts Qualquer coisa envolvendo cálculos que faço no Excel, feito há anos. No entanto, não tenho certeza de que você tirará algo de meus modelos, pois eles são específicos do que estou fazendo. O Excel é muito mais flexível e transparente, para que você possa interrogar e verificar os dados corretamente. Para o não programador é dourado. Apenas como um exemplo, quanto tempo demoraria, você derrubaria uma EA que mostra a volatilidade média de qualquer hora dada nos últimos 14 dias. Não estou dizendo que é impossível - não tenho ideia - mas no Excel, uma tabela dinâmica e 5 minutos depois e você está pronto. Onde o Excel cai é na negociação ao vivo - ele não joga bem em hooking em outras plataformas de negociação (FXCM IBCurrenex), mas para backtesting, isso não importa. Registrado julho 2009 Status. Ou cerca de 216 Posts Quando comecei a fazer minha própria análise, comecei com o Excel, pois não tinha experiência em programação e achava o VBA mais fácil de aprender do que o MQL4. Agora eu uso uma combinação de ambos. Na minha experiência limitada, o MQL4 é mais rápido na realização de cálculos que o Excel, em particular se sua folha do Excel fizer uso de muitas funções definidas pelo usuário. Um dos meus projetos em andamento é construir uma planilha para analisar instrumentos diferentes de 70 anos em prazos semanais e diários. No começo, pensei que eu usaria o MQL4 para escrever arquivos. csv de informações do OHLC para cada instrumento e prazo, depois criei os números no Excel. Inábil - demorando alguns minutos para recalcular Então, agora eu executo todos os calcs em MT4 e depois escrevo apenas dois arquivos. Excel é então a UI e não há espera em calcs. Suponho que o que estou recebendo é que se você pode usar os dois, então você está se dando a capacidade de usar o que for mais adequado à tarefa que você definiu. Apenas meus 2 pence. Registrado em maio de 2006 Status: Somente um nome de usuário. 1.367 Posts Ive tentou esses métodos ao longo dos anos: MT4 Strategy Tester Programas Custom Python OpenOffice Calc (compatível com Excel) Cada EA possui suas próprias características, mas, geralmente, Ive teve os melhores resultados com MT4 IndicatorsScripts. Se você pode criar um indicador que duplique as ações de uma determinada EA, é possível transformar esse indicador em uma ferramenta de análise. Todas as EAs não se prestam a esta abordagem, mas se você tiver uma que faz, fornecerá resultados quase instantâneos (não é preciso para o pip, mas próximo o suficiente) e economizar ter que mexer com arquivos csv 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. O velho Benjamin estava certo

No comments:

Post a Comment