Usando Excel para Back Test Trading Strategies.
Como voltar a testar com o Excel.
Eu fiz uma boa quantidade de teste de back-up da estratégia de negociação. Utilizei linguagens e algoritmos de programação sofisticados e também fiz 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 uma planilha eletrônica, como o Excel, você pode voltar testar muitas estratégias.
O objetivo deste artigo é mostrar como fazer o teste de uma estratégia de negociação 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 / horário e preços. Mais realista, você precisa da data / hora, aberto, alto, baixo, fechar os preços. Você geralmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradiária.
Se você deseja trabalhar e aprender a fazer uma volta ao teste com o Excel enquanto estiver lendo isso, siga as etapas que eu descrevo em cada seção. Nós precisamos obter alguns dados para o símbolo que vamos voltar a testar.
Vá para: Finanças do Yahoo No campo Símbolo de inserção 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 Desloque-se para baixo 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 esse 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, só usarei a data, abrir e fechar valores, então eu exclui o Alto, o Baixo, o Volume e o Adj. Fechar.
Eu também ordenei os dados para que a data mais antiga fosse a primeira e a última data estava na parte inferior. Use o Data - & gt; Escolha as opções do menu para fazer isso.
Em vez de testar uma estratégia em si, vou tentar encontrar o dia da semana que proporcionou o melhor retorno se você seguiu uma compra aberta e venda a estratégia de fechamento. Lembre-se de que este artigo está aqui para apresentá-lo sobre como usar o Excel para rever 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 estão nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, eu 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 as fórmulas mais que você descobrirá e mais flexibilidade você terá com seus testes.
Se você baixou a planilha e veja a fórmula na célula D2. Se parece com isso:
Esta fórmula é copiada para todas as outras células nas colunas D para 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 (D $ 1) então". 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 lucro / perda. A parte falsa da declaração é um par de citações duplas (") que não colocam 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 seja copiada, 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 criar regras e expressões excepcionalmente poderosas.
Os resultados.
No final das colunas da semana eu 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 testei as sextas de expiração - Bullish ou Bearish? estratégia e escreveu esse artigo, usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar 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. Publique suas perguntas no fórum.
Backtesting: interpretando o passado.
Backtesting é um componente chave do desenvolvimento efetivo do sistema comercial. É conseguido reconstruindo, com dados históricos, trades que teriam ocorrido no passado usando regras definidas por uma determinada estratégia. O resultado oferece estatísticas que podem ser usadas para avaliar a eficácia da estratégia. Usando esses dados, os comerciantes podem otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas e ganhar confiança em sua estratégia antes de aplicá-la aos mercados reais. A teoria subjacente é que qualquer estratégia que funcionou bem no passado provavelmente funcionará bem no futuro, e, inversamente, qualquer estratégia que tenha tido um desempenho fraco no passado provavelmente irá apresentar um desempenho fraco no futuro. Este artigo analisa o que os aplicativos são usados para testar, o tipo de dados obtidos e como usá-lo!
Os dados e as ferramentas.
Lucro ou prejuízo líquido - Ganhos ou perdas de percentagem líquida. Prazo - Datas passadas nas quais o teste ocorreu. Universo - estoques incluídos no backtest. Medidas de volatilidade - percentual máximo para cima e para baixo. Médias - Ganho médio percentual e perda média, barras médias mantidas. Exposição - Porcentagem de capital investido (ou exposto ao mercado). Razões - Índice de vitórias para perdas. Retorno anualizado - Retorno percentual ao longo de um ano. Retorno ajustado ao risco - Retorno percentual em função do risco.
Normalmente, o software backtesting terá duas telas que são importantes. O primeiro permite ao comerciante personalizar as configurações de backtesting. Essas personalizações incluem tudo, desde o período de tempo até os custos de comissão. Aqui está um exemplo dessa tela em AmiBroker:
A segunda tela é o relatório de resultados de backtesting. Aqui é onde você pode encontrar todas as estatísticas mencionadas acima. Mais uma vez, aqui está um exemplo desta tela em AmiBroker:
Em geral, a maioria dos softwares de negociação contém elementos semelhantes. Alguns programas de software high-end também incluem funcionalidades adicionais para executar dimensionamento automático de posição, otimização e outros recursos mais avançados.
Os 10 mandamentos.
Tenha em consideração as tendências gerais do mercado 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 ostentoso. Muitas vezes, é uma boa idéia fazer um teste longo em um longo período de tempo que engloba vários tipos diferentes de condições de mercado. Tome em consideração o universo em que ocorreu o backtesting. Por exemplo, se um sistema de mercado amplo é testado com um universo composto por estoques tecnológicos, pode deixar de funcionar bem em diferentes setores. Como regra geral, se uma estratégia é direcionada a um gênero específico de estoque, limite o universo a esse gênero; mas, em todos os outros casos, mantenha um grande universo para fins de teste. As medidas de volatilidade são extremamente importantes a serem consideradas no desenvolvimento de um sistema comercial. Isto é especialmente verdadeiro para as contas alavancadas, que são submetidas a chamadas de margem se o seu patrimônio cai abaixo de um determinado ponto. Os comerciantes devem procurar manter a volatilidade baixa para reduzir o risco e permitir uma transição mais fácil dentro e fora de uma determinada ação. O número médio de barras mantidas é também muito importante para assistir ao desenvolver um sistema comercial. Embora a maioria dos softwares de backtesting incluam custos de comissão nos cálculos finais, isso não significa que você deve ignorar esta estatística. Se possível, aumentando 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. O aumento da exposição pode levar a maiores lucros ou maiores perdas, enquanto a menor exposição significa lucros menores ou menores perdas. No entanto, em geral, é uma boa idéia manter a exposição abaixo de 70%, a fim de reduzir o risco e permitir uma transição mais fácil dentro e fora de uma determinada ação. A estatística de ganho médio / perda, combinada com o índice de ganhos para perdas, pode ser útil para determinar o dimensionamento ótimo da posição e gerenciamento de dinheiro usando técnicas como o critério Kelly. (Ver Gestão de Dinheiro Usando o Critério de Kelly.) Os comerciantes podem assumir posições maiores e reduzir os custos de comissão, aumentando seus ganhos médios e aumentando seu índice de ganhos para perdas. O retorno anualizado é importante porque é usado como uma ferramenta para comparar os resultados de um sistema contra outros locais de investimento. É importante não só olhar para o retorno anual anualizado, mas também levar em consideração o aumento ou diminuição do risco. Isso pode ser feito observando o retorno ajustado ao risco, que contabiliza vários fatores de risco. Antes que um sistema de negociação seja adotado, ele deve superar todos os outros locais de investimento com risco igual ou menor. A personalização do backtesting é extremamente importante. Muitos aplicativos de backtesting têm entrada para valores de comissão, tamanhos de lotes redondos (ou fracionários), tamanhos de garotas, requisitos de margem, taxas de juros, suposições de deslizamento, regras de dimensionamento de posição, regras de saída da mesma barra, configurações de parada (muito próximas) e muito mais. Para obter os resultados de backtesting mais precisos, é importante ajustar essas configurações para imitar o corretor que será usado quando o sistema for atualizado. Backtesting às vezes pode levar a algo conhecido como over-optimization. Esta é uma condição em que os resultados de desempenho são tão ajustados ao passado que não são mais precisos no futuro. Geralmente, é uma boa idéia implementar regras que se aplicam a todos os estoques ou um conjunto seleto de ações segmentadas, e não são otimizadas na medida em que as regras não são mais compreensíveis pelo criador. Backtesting nem sempre é a maneira mais precisa de avaliar a eficácia de um determinado sistema de negociação. À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 trocar papel com um sistema que tenha sido testado com sucesso antes de entrar em operação para ter certeza de que a estratégia ainda se aplica na prática.
Backtesting é um dos aspectos mais importantes do desenvolvimento de um sistema comercial. Se criado e interpretado adequadamente, pode ajudar os comerciantes a otimizar e melhorar suas estratégias, encontrar falhas técnicas ou teóricas, bem como ganhar confiança em sua estratégia antes de aplicá-la aos mercados do mundo real.
Gráficos de ações inteligentes.
Aproveitando o poder das redes neurais para prever preços críticos no mercado de ações!
Pós-navegação.
Ultimate Tools for Backtesting Trading Strategies.
Ultimate Tools for Backtesting Trading Strategies.
Backtesting é a arte e a ciência de avaliar o desempenho de uma estratégia de negociação ou investimento simulando seu desempenho usando dados históricos. Você pode ter uma noção de como ele atuou no passado e sua estabilidade e volatilidade. No entanto, como você pode ter ouvido inúmeras vezes, o excelente desempenho de backtested não garante grande desempenho futuro. No entanto, uma performance não tão desejável é, muitas vezes, uma razão válida para abandonar uma estratégia de negociação específica e passar para a próxima.
Ferramentas de Backtesting grátis para o Non-Programmer.
Realmente não existe um tamanho único e # 8221; backtesting tool por aí que pode suportar praticamente qualquer estratégia sob o sol sem que o usuário conheça alguma programação. Se você for sério quanto ao comércio, então exorto você a aprender bastante programação para poder testar. Mas se você quiser rapidamente obter os resultados de testar algumas estratégias bastante simples, envolvendo investimentos passivos ou indicadores básicos, como os cruzamentos médios móveis, então uma ferramenta definitivamente o salvará algum tempo. Aqui estão as ferramentas que eu uso se eu precisar executar um backtest rápido:
# 1: ETF Replay.
O ETFReplay é um serviço Freemium que permite testar uma variedade de diferentes estratégias de investimento baseadas em ETF. Muitos dos recursos avançados e estratégias que eles oferecem exigem uma assinatura, mas uma das características mais úteis e GRATUITAS é a capacidade de backtest de um portfólio ETF de até 5 componentes. Você pode reequilibrar, mas se você precisa calcular rapidamente a curva de patrimônio, por exemplo, o desempenho de um portfólio 60/40 de SPY e TLT entre 2008 e 2011, você pode fazer isso facilmente aqui. Esta é uma excelente ferramenta para ajudá-lo a fazer alianças de ativos de backtest para a parcela passiva de sua carteira de negociação.
# 2: StockBackTest.
O StockBackTest permite testar estratégias envolvendo crossovers de médias móveis e bandas de Bollinger. Este é um dos poucos serviços que lhe permite testar indicadores técnicos simples, como estes, mas a captura é que você só pode escolher da sua lista de ações (que consiste na maioria dos títulos S & amp; P500 e ETFs mais líquidos).
# 3: Visualizador de portfólio.
Portfolio Visualizer é um dos mais recentes e mais sofisticados backtesters gratuitos que não exige que você seja um programador. Ele permite que você retroceda alocações de ativos passivos, bem como estratégias táticas pré-definidas, como Dual Momentum de Gary Antonacci. Eles também obtiveram um dos melhores simuladores de aposentadoria de Monte Carlo I & # 8217; vi.
Ferramentas de Backtesting gratuitas para o Programador.
Para testes rápidos de estratégias personalizadas, recomendo apenas fazer o download de alguns dados históricos e testá-lo no Excel ou em outra planilha. Estratégias de negociação mais sofisticadas chamarão GNU R ou GNU Octave, ambos com pacotes especializados para backtesting. Se estes ainda não o cortarem para a complexidade de sua estratégia, então você tem duas opções robustas e gratuitas disponíveis abaixo:
# 1: Quantopian (RECOMENDADO)
Quantopian tem dados minuto a minuto sobre todas as ações dos EUA negociadas desde 2002, o que permite que você reflite as estratégias intradiárias sem ser submetido a viés de sobrevivência. Você precisará do conhecimento de Python em seu backtester. Se você está começando do zero e está falando sério sobre aprender a testar suas estratégias, ESTA é a plataforma I & # 8217; d recomendo concentrar-se na aprendizagem!
# 2: MI Backtester.
Jamie Gritton & # 8217; s O Backtester do MI é um dos backtesters programáveis mais antigos disponíveis. Uma das características mais legais desta ferramenta é a capacidade de backtest amostras de estoque. Você pode conseguir uma tela como as seguintes: empresas rentáveis com um P / E no 10% inferior do mercado dos EUA e um impulso de preços nos 10% superiores do mercado e obter as escolhas atuais, mas você pode estar pensando se tal tela teria realizado historicamente. O MI Backtester, enquanto um pouco lento, permitirá que você teste o desempenho histórico dessas estratégias de investimento com base em uma combinação de fundamentais e técnicas.
Sinto falta de outros Backtesters grátis?
Se você tiver outros backtesters gratuitos que você usa regularmente, eu não mencionei, por favor me avise nos comentários abaixo!
Testes traseiros manuais; Praticando a Arte da Negociação.
Ação de preço e Macro.
O comércio, como muitas outras coisas da vida, pode ser melhorado com a experiência. Isso é muitas vezes quando novos comerciantes falham. Depois de perceber esse fato, eles consideram uma negociação muito simples.
& ldquo; está aprendendo a negociar com valor lucrativo meu tempo? & rdquo;
Eu e muitos outros comerciantes (ou talvez mais precisamente & lsquo; have & rsquo;) responderam um enfático & lsquo; YES! & Rsquo; para essa questão, e embarcou em um processo de aprendizagem para obter nossos resultados ao ponto que queremos. Mas nem todos estariam naquele barco.
O difícil sobre a experiência ao negociar é o fato de que essa mesma experiência pode nos custar dinheiro. Ao longo dos anos, eu ouvi muitos argumentos alegadamente e lsquo; ah, que é a sua taxa de matrícula para os mercados. & Rsquo; E esse pode ser o caso. Mas há outras maneiras de ganhar experiência na arte antiga da especulação.
Os comerciantes de cereais e arroz, os criadores originais da análise técnica, empregariam um elemento de & lsquo; paper trading, & rsquo; para rastrear lucros ou perdas hipotéticas para as estratégias que eles estão negociando.
Isso é semelhante ao comércio de demonstração hoje; uma maneira de testar nossas teorias e estratégias no mercado sem risco financeiro. Isso é exatamente o mesmo que o comércio ao vivo, não, porque não há um provedor de liquidez no outro lado do seu comércio que executa a execução REAL; mas pode me permitir testar minhas estratégias em um ambiente dinâmico.
A desvantagem para o comércio de demonstração ou o teste de demonstração de uma estratégia é o fato de que pode levar muito tempo para obter resultados suficientes para determinar a consistência de minhas estratégias. Se eu quiser testar uma estratégia em um gráfico diário, pode levar-me um ano inteiro apenas para colocar alguns negócios. E depois desses poucos negócios, eu não tenho certeza de que eu fiquei confortável o suficiente com a estratégia de empregá-lo ao vivo (afinal, apenas alguns negócios foram colocados, como eu sei se isso era uma anomalia ou não).
É aqui que o back-testing manual pode entrar em jogo. Este é um manoiismo no qual eu posso simular um ambiente de mercado ao vivo com preços dinâmicos. É importante notar quaisquer back-tests que realizamos, manuais ou automatizados, sofrem com um inconveniente singular; e esse é o fato de que o desempenho passado não é necessariamente se replicar dessa maneira no futuro. Mas esse não é o ponto do back-test manual. A razão pela qual eu estou fazendo o teste é me treinar, usando as ferramentas da estratégia que está sendo testada, para que eu possa saber como efetivamente empregar a abordagem.
Eu posso fazer isso em qualquer período de tempo, com qualquer par de moedas e quase qualquer estratégia que negocie.
Passo 1: vestir o gráfico.
O primeiro passo quando o back-testing manual é para vestir nossos gráficos com os indicadores que usaremos na estratégia que estamos testando. Para esta ilustração, eu irei usar um EMA de 89 períodos e um CCI de 13 períodos. Depois de obter o quadro vestido, estamos prontos para prosseguir.
Criado por James Stanley.
Passo 2: Dê um passo atrás no tempo.
Depois de termos nosso quadro vestido, precisamos ir para um período anterior no gráfico. O aqui é que eu quero não estar familiarizado com a ação de preço para o período testado. Quero que os preços sejam tão próximos da dinâmica do mercado real quanto possível. Quero que isso seja imprevisível.
Para fazer isso, posso simplesmente clicar e arrastar para trás no tempo para chegar a uma data anterior no gráfico.
Criado por James Stanley.
Passo 3: avança no tempo.
Esse recurso é muito benéfico para os comerciantes que realizam muitos back-testing manual, mas muitas vezes desconhecidos para muitos. Isso tem a ver com o & lsquo; forward, & rsquo; e & lsquo; para trás, & rsquo; setas no seu teclado.
Se eu quisesse voltar 1 hora, posso simplesmente pressionar a tecla de seta para trás do & lsquo; & rsquo; um tempo.
No entanto, se o teste de I & rsquo; m em um gráfico de 4 horas e ndash; 1 pressionar as teclas de seta para frente ou para trás será equivalente a avançar ou retroceder 4 horas por vez.
Esta é uma característica extremamente conveniente que me permite percorrer uma grande distância no gráfico em um curto período de tempo.
Neste ponto, eu quero caminhar para a frente na tabela, e eu encontro um negócio que atenda aos meus critérios. Uma vez que eu faço, eu vou pausar, e estamos pronto para passar para a etapa 5.
Passo 4: Registre os resultados.
Este passo pode se desviar entre comerciante para comerciante com base no estilo e maneirismo da manutenção de registros. Exorto todos os novos comerciantes ou aqueles novos a back-testing manual para escrever cada um desses negócios; seja um diário, uma planilha eletrônica ou um registro comercial. Algumas informações importantes são de destaque aqui:
Onde você colocaria sua parada?
Onde você estaria procurando ganhar lucros?
Você pode registrar todas essas informações, bem como quaisquer outras observações que você fez. Após algumas negociações, você terá algumas informações que você pode usar para tornar a estratégia mais eficaz para seus objetivos.
Passo 5: enxaguar e repetir.
Depois de ter encontrado um comércio hipotético, nesse ponto, podemos avançar no futuro para ter uma idéia de como ele pode ter funcionado. Mais uma vez, podemos registrar esses resultados em nossos periódicos.
Então podemos avançar para o próximo comércio. Podemos continuar a fazer isso até sentir o conforto e a experiência com a estratégia para avançar para a próxima etapa de teste. Para alguns comerciantes que experimentam testes com saldos menores, outros dão o salto diretamente aos mercados ativos, enquanto outros, como eu e o ndash; depois, testará a estratégia em uma conta demo com preços dinâmicos ao vivo.
--- Escrito por James B. Stanley.
Para entrar em contato com James Stanley, você pode seguir James no Twitter JStanleyFX.
O DailyFX fornece notícias e análises técnicas sobre as tendências que influenciam os mercados monetários globais.
Próximos eventos.
Calendário econômico Forex.
O desempenho passado não é uma indicação de resultados futuros.
DailyFX é o site de notícias e educação do Grupo IG.
Комментариев нет:
Отправить комментарий