Friday 15 December 2017

Como fazer o backtest a trading system in excel


Usando o Excel para testar de volta Estratégias de negociação Como testar de volta com o Excel Eu fiz uma boa quantidade de estratégia de negociação de volta teste. Ive usou sofisticadas linguagens de programação e algoritmos e Ive também feito com lápis e papel. Você não precisa ser um cientista de foguetes ou um programador para testar muitas estratégias de negociação. Se você pode operar um programa de planilha como o Excel, então você pode voltar testar muitas estratégias. O objetivo deste artigo é mostrar a você como testar uma estratégia de negociação usando o Excel e uma fonte de dados publicamente disponível. Isso não deve custar mais do que o tempo que leva para fazer o teste. Antes de começar a testar qualquer estratégia, é necessário um conjunto de dados. No mínimo, esta é uma série de datas e preços. Mais realisticamente você precisa o datetime, aberto, alto, baixo, fechar preços. Você geralmente só precisa do componente de tempo da série de dados se você estiver testando estratégias de negociação intraday. Se você quiser trabalhar junto e aprender a testar de volta com o Excel enquanto você está lendo isso, em seguida, siga as etapas que eu esboçar em cada seção. Precisamos obter alguns dados para o símbolo que vamos voltar a testar. Ir para: Yahoo Finance No campo Enter Symbol (s) digite: IBM e clique em GO Under Quotes no lado esquerdo, clique em Historical Prices e insira os intervalos de datas desejados. Selecionei de 1 de janeiro de 2004 a 31 de dezembro de 2004 Desloque-se até a parte inferior da página e clique em Fazer download da planilha. Salve o arquivo com um nome (como ibm. csv) e em um local que você possa encontrar mais tarde. Preparando os dados Abra o arquivo (que você baixou acima) usando o Excel. Devido à natureza dinâmica da Internet, as instruções que você leu acima eo arquivo que você abrir pode ter alterado pelo tempo que você ler isso. Quando eu baixei este arquivo, as primeiras poucas linhas ficaram assim: Agora você pode excluir as colunas que você não vai usar. Para o teste que estou prestes a fazer vou usar apenas a data, abrir e fechar valores para que eu tenha excluído o Alto, Baixo, Volume e Adj. Fechar. Eu igualmente classifiquei os dados de modo que a data a mais velha fosse primeiramente e a data a mais atrasada fosse na parte inferior. Use as opções de menu Data - gt Sort para fazer isso. Em vez de testar uma estratégia per se eu vou tentar encontrar o dia da semana que forneceu o melhor retorno se você seguiu uma compra a abrir e vender a estratégia de fechar. Lembre-se que este artigo está aqui para apresentá-lo a como usar o Excel para testar estratégias de volta. Podemos construir sobre isso em frente. Aqui está o arquivo ibm. zip que contém a planilha com os dados e fórmulas para este teste. Meus dados agora residem nas colunas A a C (Data, Abrir, Fechar). Nas colunas D a H, tenho fórmulas de lugar para determinar o retorno em um determinado dia. Entrando as fórmulas A parte complicada (a menos que você seja um especialista em Excel) está trabalhando as fórmulas a serem usadas. Esta é apenas uma questão de prática e quanto mais você pratica mais fórmulas você descobrirá e mais flexibilidade você terá com seus testes. Se você baixou a planilha, então dê uma olhada na fórmula na célula D2. Parece isto: Esta fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada uma vez que foi copiada. Vou explicar brevemente a fórmula. A fórmula IF tem uma condição, parte verdadeira e falsa. A condição é: Se o dia da semana (convertido para um número de 1 a 5 que coincide com a segunda-feira a sexta-feira) é o mesmo que o dia da semana na primeira linha desta coluna (D1). A verdadeira parte da declaração (C2-B2) simplesmente nos dá o valor do Close-Open. Isso indica que compramos o Open e vendemos o Close e este é o nosso profitloss. A parte falsa da declaração é um par de aspas duplas () que não coloca nada na célula se o dia da semana não é correspondido. Os sinais à esquerda do número da coluna ou da linha da coluna travam a coluna ou a linha de modo que, quando a cópia dela, parte da referência de célula não muda. Portanto, aqui no nosso exemplo, quando a fórmula é copiada, a referência à célula de data A2 mudará o número da linha se ela for copiada para uma nova linha, mas a coluna permanecerá na coluna A. Você pode aninhar as fórmulas e fazer regras excepcionalmente poderosas E expressões. Os resultados Na parte inferior das colunas do dia da semana coloquei algumas funções de resumo. Nomeadamente as funções média e soma. Estes mostram-nos que durante 2004 o dia mais rentável para implementar esta estratégia foi em uma terça-feira e este foi seguido de perto por uma quarta-feira. Quando eu testei as sextas-feiras - Bullish ou Bearish estratégia e escreveu que o artigo que eu usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas-feiras de expiração eram geralmente de alta ou de baixa. Experimente. Faça o download de alguns dados do Yahoo Finance. Carregá-lo no Excel e experimentar as fórmulas e ver o que você pode vir acima com. Publique suas perguntas no fórum. Boa sorte e rentável estratégia huntingWhy Use Excel para Backtest Trading estratégias Aprender a comércio leva tempo e muita paciência. Neste artigo eu discuto por que é bom usar o Excel para backtest estratégias de negociação. O que é uma boa estratégia de negociação Uma parte crucial da negociação lucrativamente está usando uma boa estratégia de negociação. Diferentes tipos de estratégias funcionam melhor em diferentes condições de mercado e pode ser útil ter mais de uma boa estratégia. Uma boa estratégia de negociação é como um terno bem equipado. Ele deve se sentir bem, bem como boa aparência. Uma estratégia de negociação deve ser um bom ajuste com a personalidade e estilo de vida do comerciante, bem como ser rentável. Se a estratégia de negociação não se encaixa com o comerciante, provavelmente vai falhar. Um descontraído, o comerciante pensativo provavelmente deve trabalhar no desenvolvimento de uma estratégia paciente lento que leva grandes lucros de grandes movimentos do mercado. Aqueles comerciantes que recebem alta em adrenalina e querem estar constantemente dentro e fora do mercado, deve negociar movimentos de alta probabilidade em prazos mais curtos. Igualmente importante é o tempo e a capacidade de negociar a estratégia adequadamente. Uma pessoa que trabalha 40 horas por semana não pode razoavelmente negociar uma estratégia que requer atenção constante. Também pode ser difícil se concentrar em troca de casa quando a casa está cheia de crianças barulhentas. Os comerciantes devem ser realistas quanto ao tempo e energia que podem dedicar à sua estratégia. Como desenvolver uma boa estratégia de negociação A única maneira certa de desenvolver uma estratégia de negociação que funciona para você é tentativa e erro. Até que você tenha negociado uma estratégia ao vivo no mercado você não vai saber com certeza se é certo para você. Existem maneiras de acelerar o processo de desenvolvimento de sua própria estratégia. Revise seu histórico de negociação Os mercados financeiros têm uma maneira de nos ensinar as lições que precisamos aprender. Estudar seus negócios anteriores é muito útil para refinar sua abordagem para negociação. Veja como você lida com condições difíceis. Como bom você fura a seu plano e quanto lucro ou perda você faz exame fora de cada movimento do mercado. Você poderia ter obtido mais lucro de seus negócios vencedores e cortar seus perdedores anteriores Backtesting Para a introdução de novos métodos e para lidar com diferentes condições de mercado, backtesting é extremamente importante. Backtesting usa dados de preços históricos para ver como estratégias de negociação teriam se realizado. Backtesting precisa ser feito com cuidado e desempenho passado não igual desempenho futuro. No entanto, é inestimável para eliminar estratégias que nunca foram rentáveis ​​e descobrir fraquezas em estratégias aparentemente boas. Backtesting também é muito útil para estabelecer princípios comerciais gerais para um determinado mercado. Por exemplo, eu realizei uma série de testes usando um sistema de negociação aleatória de entrada. Nestes artigos: entrada aleatória e entrada aleatória mais indicadores técnicos. Estes testes mostraram-me que no mercado EURUSD um sistema de entrada aleatória pode ser rentável. Eu não estou indo para o comércio um sistema de entrada aleatória, mas eu vou usar os princípios, como uma parada à direita como parte da minha negociação diária no EURUSD. Usando o Microsoft Excel O Excel é muito acessível e a maioria das pessoas já conhece o seu caminho em torno do software. É muito amigável e há uma enorme quantidade de informações disponíveis on-line sobre como melhorar Excel habilidades. Estratégias de negociação são programadas usando declarações lógicas. O Excel é um dos ambientes mais fáceis de programar. Um grande número de indicadores técnicos podem ser programados ea lógica de negociação pode ser tão simples ou complicado quanto necessário. No meu Amazon Kindle eBook 8211 Como Backtest uma estratégia de negociação Usando o Excel 8211 Eu mostro como Excel pode ser usado para desenvolver suas próprias planilhas backtest. Se você estiver procurando por uma planilha, você também pode comprá-los diretamente: Compre planilhas do Excel. Aprender a negociar é um processo mais lento do que a maioria de nós gostaria. No entanto, usando algumas das idéias no artigo é possível torná-lo um processo mais rápido (e muito menos caro). Compartilhe isto: 06172017 A versão mais recente do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Gráficos de Ponto e Gráfico e Backtesting de Estratégia. 06172017 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 06172017 ConnectCode Barcode Font Pack - permite códigos de barras em aplicações de escritório e inclui um suplemento para o Excel que suporta a geração em massa de códigos de barras. 06172017 InvestmentCode, um conjunto abrangente de calculadoras e modelos financeiros para o Excel está agora disponível. 09012009 Lançamento do Investimento Livre e Calculadora Financeira para Excel. 0212008 Lançamento do SparkCode Professional - add-in para criar Dashboards no Excel com sparklines 12152007 Anunciando ConnectCode Duplicate Remover - um poderoso add-in para encontrar e remover entradas duplicadas no Excel 09082007 Lançamento do TinyGraphs - add-in de fonte aberta para criar sparklines e minúsculo Gráficos em Excel. Estratégia Backtesting no Excel Estratégia Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. Durante o processo de backtesting, o Backtesting Expert executa os dados históricos em uma linha por linha maneira de cima para baixo. Cada estratégia especificada será avaliada para determinar se as condições de entrada são atendidas. Se as condições forem satisfeitas, uma negociação será inserida. Por outro lado, se as condições de saída forem satisfeitas, uma posição que foi inserida anteriormente será encerrada. Diferentes variações de indicadores técnicos podem ser geradas e combinadas para formar uma estratégia de negociação. Isso torna o Backtesting Expert uma ferramenta extremamente poderosa e flexível. Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado rápida e facilmente. O modelo pode ser configurado para entrar em posições longas ou curtas quando determinadas condições ocorrem e sair das posições quando outro conjunto de condições forem atendidas. Ao negociar automaticamente em dados históricos, o modelo pode determinar a lucratividade de uma estratégia de negociação. Backtesting Expert Step by Step Tutorial 1. Inicie o Backtesting Expert O Backtesting Expert pode ser iniciado a partir do Menu Iniciar do Windows - Programas - TraderCode - Backtesting Expert. Isso lança um modelo de planilha com várias planilhas para gerar indicadores de análise técnica e testar as diferentes estratégias. Você vai notar o Backtesting Expert inclui muitas planilhas familiares como DownloadedData, AnalysisInput, AnalysisOutput, ChartInput e ChartOutput do modelo de análise técnica Expert. Isso permite que você execute todos os seus testes de volta rapidamente e facilmente a partir de um ambiente de planilha familiar. 2. Primeiro, selecione a planilha DownloadedData. Você pode copiar dados de qualquer planilha ou arquivos separados por vírgula (csv) para esta planilha para análise técnica. O formato dos dados é como mostrado no diagrama. Como alternativa, você pode consultar o documento Download Stock Trading Data para baixar dados de fontes de dados bem conhecidas, como o Yahoo Finance, o Google Finance ou o Forex para uso no Backtesting Expert. 3. Depois de ter copiado os dados, vá para a folha de cálculo AnalysisInput e clique no botão Analyze e BackTest. Isso irá gerar os diferentes indicadores técnicos na planilha AnalysisOutput e executar backtesting nas estratégias especificadas na planilha StrategyBackTestingInput. 4. Clique na folha de cálculo StrategyBackTestingInput. Neste tutorial, você só precisará saber que especificamos estratégias longas e curtas usando cruzamentos de média móvel. Estaremos entrando em detalhes de especificação de estratégias na próxima seção deste documento. O diagrama abaixo mostra as duas estratégias. 5. Uma vez concluídos os testes de volta, a saída será colocada nas folhas de cálculo AnalysisOutput, TradeLogOutput e TradeSummaryOutput. A folha de cálculo AnalysisOutput contém os preços históricos completos e os indicadores técnicos do stock. Durante os testes de volta, se as condições para uma estratégia são satisfeitas, informações como o preço de compra, preço de venda, comissão e lucros serão registrados nesta planilha para facilitar a referência. Esta informação é útil se você gosta de rastrear através das estratégias para ver como as posições de ações são inseridas e saídas. A planilha TradeLogOutput contém um resumo das operações realizadas pelo Backtesting Expert. Os dados podem ser facilmente filtrados para mostrar apenas os dados de uma estratégia específica. Esta planilha é útil para determinar o lucro ou a perda global de uma estratégia em períodos diferentes. A saída mais importante dos testes de volta é colocada na planilha TradeSummaryOutput. Esta planilha contém o lucro total das estratégias realizadas. Conforme demonstrado no diagrama abaixo, as estratégias geraram um lucro total de 2.548,20, totalizando 10 negócios. Destes negócios, 5 são Long posições e 5 são Short posições. A Razão de maior que 1 indica uma estratégia lucrativa. Explicação das diferentes planilhas Esta seção contém a explicação detalhada das diferentes planilhas no modelo do Backtesting Expert. As planilhas DownloadedData, AnalysisInput, AnalysOutput, ChartInput e ChartOutput são as mesmas do modelo Expert de análise técnica. Assim, eles não serão descritos nesta seção. Para obter uma descrição completa dessas planilhas, consulte a seção Especialista em Análise Técnica. StrategyBackTestingInput worksheet Todas as entradas para backtesting incluindo as estratégias são inseridas usando esta planilha. Uma estratégia é basicamente um conjunto de condições ou regras que você vai comprar em um estoque ou vender um estoque. Por exemplo, você pode querer executar uma estratégia para ir Long (ações de compra) se a média móvel de 12 dias do preço cruza acima da média móvel de 24 dias. Esta planilha trabalha em conjunto com os indicadores técnicos e dados de preço na planilha AnalysisOutput. Daí a média móvel indicadores técnicos têm de ser gerados, a fim de ter uma estratégia de negociação baseada na média móvel. A primeira entrada necessária nesta planilha (como mostrado no diagrama abaixo) é especificar se a Sair de todas as operações no final da sessão de teste de volta. Imagine o cenário onde as condições para a compra de um estoque ocorreu eo especialista Backtesting entrou em um comércio Long (ou Short). No entanto, o período de tempo é demasiado curto e terminou antes do comércio pode satisfazer as condições de saída, resultando em alguns comércios não saiu quando a sessão backtesting termina. Você pode definir isso para Y para forçar todos os comércios a serem encerrados no final da sessão backtesting. Caso contrário, os negócios serão deixados abertos quando backtesting sessão termina. Estratégias Um máximo de 10 estratégias podem ser apoiadas em um único teste de volta. O diagrama abaixo mostra as entradas necessárias para especificar uma estratégia. Iniciais de Estratégia - Esta entrada aceita um máximo de dois alfabetos ou números. As iniciais de estratégia são usadas nas planilhas AnalysisOutput e TradeLog para identificar as estratégias. Long (L) Short (S) - Isso é usado para indicar se deve ser inserida uma posição Long ou Short quando as condições de entrada da estratégia forem atendidas. Condições de entrada Uma negociação longa ou curta será inserida quando as Condições de Entrada forem atendidas. As condições de entrada podem ser expressas como uma expressão de fórmula. A expressão de fórmula diferencia maiúsculas de minúsculas e pode usar Funções, Operadores e Colunas conforme descrito abaixo. Crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. Crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. E (logicalexpr,) - Boolean E. Retorna True se todas as expressões lógicas forem True. Ou (logicalexpr,) - Boolean Or. Retorna True se alguma das expressões lógicas for True. Daysago (X, 10) - Retorna o valor (na coluna X) de 10 dias atrás. Previoushigh (X, 10) - Retorna o valor mais alto (na coluna X) dos últimos 10 dias, inclusive hoje. Previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, inclusive hoje. Operadores Maior que Igual Não igual Maior ou igual 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 da entrada Condições. Ele permite que as colunas da planilha AnalysisOutput sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação. Por exemplo, A 50 significa que cada uma das linhas na coluna A da folha de cálculo AnalysisOutput será determinada se é maior do que 50. AB Neste exemplo , Se o valor na coluna A na folha de cálculo AnalysisOutput for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. E (A B, CD) Neste exemplo, se o valor na coluna A na folha de cálculo AnalysisOutput for maior do que o valor da coluna B eo valor da coluna C for maior que a coluna D, a condição de entrada será satisfeita. Crossabove (A, B) Neste exemplo, se o valor da coluna A na folha de cálculo AnalysisOutput ultrapassar o valor de B, a condição de entrada será satisfeita. Crossabove significa que A originalmente tem um valor que é menor ou igual a B eo valor de A posteriormente se torna maior que B. Condições de Saída As Condições de Saída podem usar Funções, Operadores e Colunas conforme definido nas condições de entrada. Além disso, ele 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 superior ao 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. (Preço de venda - preço de compra) Preço de compra. Preço de venda deve ser maior 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 e 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. Total ProfitLoss - Resultado 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 total antes da comissão - Lucro ou prejuízo total antes da comissão. Se a comissão for definida como zero, este campo terá o mesmo valor que o Total ProfitLoss. Comissão Total - Comissão total exigida para todas as operações simuladas durante o backtest. 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. Percentagem 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 Comércio Vencedor - O lucro do maior comércio vencedor. Maior perda de comércio - A perda do maior comércio perdedor. Razão média de perda de renda - Média ganhando Comércio dividido pela Média perdendo Comércio. Ratio winloss - Soma de todos os lucros nos comércios vencedores dividido pela soma de todas as perdas nos comércios perdedores. Uma razão maior do que 1 indica uma estratégia lucrativa. Planilha TradeLogOutput Esta planilha contém todos os negócios simulados pelo Expert Backtesting classificados pela 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 acumulado total do primeiro dia de um negócio. PL (na Posição de Encerramento) - 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 temos uma posição Longa onde o PL (B4 Comm.) É 100. Assumindo 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 Análise Técnica Software e Indicadores TécnicosComo backtest uma estratégia em Excel Deixe-me começar por dizer que Im não um especialista em backtesting no Excel há uma carga de bloggers muito inteligente lá fora, que tenho, como eu diria, skillz louco em Trabalhando com o Excel, incluindo (mas não limitado a) Michael Stokes em mercados. Jeff Pietch em etfprophet e os povos (David e Corey) sobre em cssanalytics. wordpress. Todos esses caras têm sido gentis o suficiente, ao longo dos anos, para compartilhar comigo como fazer backtests por isso estou em dívida para com eles. E eu quero agradecer a Josh aqui na FOSS Trading também porque ele foi gentil o suficiente para me ajudar a aprender como usar R para testes. Com tudo isso em mente, eu pensei que eu passei pelo que considero os quatro passos básicos na produção de um backtest no Excel. Observe que o arquivo de núcleo do Excel wasn8217t criado por mim 8211 ele foi criado por Jared em CondorOptions (outro deve ler se você não está seguindo ele). Etapa 1: Obter os dados O primeiro passo é obter seus dados de mercado no Excel. Existem duas abordagens básicas para o primeiro envolve ir para o Yahoo Finance e baixar dados históricos diretamente como CSV e, em seguida, carregá-lo no Excel. Isso é bom, mas requer uma atualização manual desses dados à medida que você avança, significa que você precisará re-baixar esses dados históricos e copiar e colar o conjunto de dados inteiro ou um subconjunto para atualizar sua estratégia. A segunda abordagem é usar o código para ir pegar dados automaticamente do Yahoo Finance. Muitas pessoas escreveram VBA para fazer apenas isso eu não tenho escrito isso mesmo eu não me sinto confortável republicando o código. Uma pesquisa rápida no Google fornecerá alguns exemplos para trabalhar. Há também ferramentas de terceiros que tornam o trabalho simples. Recomendo o AnalyzerXL, pois oferece maior flexibilidade e opções. Como você armazena esses dados no Excel é com você a maioria das pessoas que eu conheço têm uma única folha onde eles mantêm todos os dados e, em seguida, ter uma planilha separada para o resto do sistema. Para sistemas com um único instrumento (como o SPY), não é um problema para integrar os dados eo sistema, mas como o número de instrumentos sobe, você vai querer tê-los em uma planilha separada para minimizar a rolagem e torná-lo fácil atualizar. Passo 2: Crie seu indicador Agora que temos 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ê verá que usamos 5 colunas diferentes para criar o indicador cada um participando do cálculo. Uma coisa agradável sobre como trabalhar com o Excel é que realmente faz você pensar sobre como um indicador é construído. Pode ser muito simples, nestes dias, para jogar para baixo e indicador sem entender como ele realmente funciona. A coluna do indicador final, DVI, é uma soma ponderada das colunas de extensão DVI e DVI. Observe também 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 fornecem funcionalidade semelhante. Etapa 3: Construa sua regra de negociação Agora que você tem um indicador, você precisa construir suas regras de negociação. Neste exemplo (o cálculo está na coluna de sinal), nossa regra de negociação é simples, se longa se DVI é inferior a 0,5 e curta se acima. Obviamente, você poderia ter regras mais complexas um estado neutro onde você não é longo ou curto, ou posição variável de dimensionamento em oposição a apenas all-in longa ou curta. Passo 4: A curva de rulesequity negociação Existem muitas abordagens diferentes aqui, mas o que você pode ver neste exemplo é uma maneira simples de fazê-lo. Assumir um valor em dinheiro inicial de 10.000 e, em seguida, incrementar ou diminuir que, se ou não estamos muito ou curto no encerramento do dia anterior, e se estávamos corretos ou não. Na forma de função, eu represento isto dizendo: se longo, então múltiplo a equidade de dias prévios pela razão de hoje perto de perto de ontem, caso contrário múltiplo a equidade de dias prévios pela razão de yesterdays perto próximo de hoje. Podemos então, obviamente, representar graficamente os resultados. Observe também que estavam usando o dinheiro aqui, mas você poderia facilmente fazer percentagens brutas no lugar de um valor em dinheiro. O que está faltando aqui pode ser importante para decidir se o comércio ou não comércio de um sistema. Em primeiro lugar, os resultados aqui são frictionless eles assumem não há custocommission para o comércio. Em sistemas de swing de alta freqüência como este, as comissões poderiam ter um grande impacto na viabilidade de uma determinada estratégia. Em segundo lugar, não temos quaisquer estatísticas sobre o desempenho da estratégia apenas um gráfico. Geralmente queremos saber estatísticas como CAGR ea relação de Sharpe para compará-lo com outras estratégias. Também não temos relatórios mensais ou anuais. Todas essas coisas podem ser construídas no Excel com um pouco de trabalho e novamente, o AnalyzerXL fornece um grande número de opções de relatório como parte do pacote. That8217s uma visão geral básica de backtesting no Excel 8211 espero que todos vocês acham útil Nunca perca uma atualização Assine os R-blogueiros para receber e-mails com as últimas postagens R. (Você não verá esta mensagem novamente.)

No comments:

Post a Comment