Monday 14 August 2017

Estratégias De Negociação Excel


Antes de usar ferramentas especializadas para back-testing, proponho que se analise primeiro o MS Excel Pivot Table. A ferramenta de tabela dinâmica é excelente para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, vou apresentar como criar uma estratégia simples baseada no cronograma e como calcular seu desempenho histórico. No seguinte, vou mostrar, como criar uma análise como a publicação anterior: 8220Sell em maio e ir embora 8211 Realmente 8220. Passo 1: Obter os dados Primeiro, precisamos obter os dados para a análise. Recorremos ao Yahoo para obter o Índice Dow Jones (consulte Lista de fontes de dados do mercado para outras fontes). De alguma forma, o Yahoo Finance esconde o botão de download do Índice Dow Jones. Mas, é fácil adivinhar o Link correto: salve esse arquivo no disco. Em seguida, abra-o com o MS Excel 2010 e continuamos com o próximo passo. Etapa 2: Adicionar colunas para desempenho e indicador Agora, neste arquivo, adicionamos o log-return (Coluna 8220Return8221) para cada dia na série temporal: então, adicionamos o indicador da estratégia de negociação 8211 neste caso apenas o mês Do ano: Finalmente, adicionamos um indicador de grupo: Decade Passo 3: Adicionar tabela de tabela Classificar dados na Tabela Ferramentas de tabela de pivô - gt Opções - gt Resumir o valor por - gt Soma Etapa 4: formatação condicional Para obter uma visão geral do Dados na tabela dinâmica, formamos os valores em 8220Percent Style8221 e 8220Conditional Formatting8221: Home - gt Styles - gt Formatação condicional Etapa 5: computa o desempenho real A soma dos retornos do registro na tabela dinâmica é uma boa indicação para o desempenho de Uma estratégia de negociação. Mas, o desempenho acutal pode ser facilmente obtido a partir dos log-returns por: Agora, você está pronto: cada célula contém o desempenho de comprar o Índice Dow Jones no início e vendê-lo no final de cada mês. Divirta-se com seus próprios estudos Você encontra um estudo detalhado sobre os desempenhos dos diferentes meses nos principais índices aqui. Conclusão Back-testing de estratégias de negociação simples é fácil usando tabelas dinâmicas do Excel. Enquanto as estratégias mais avançadas normalmente requerem um pacote de software mais especializado (como vemos no MACD Back-testing), cinco etapas simples levam a uma visão detalhada de uma estratégia baseada em tempo. Se a série de dados se tornar grande, pode-se executar exatamente os mesmos passos usando o MS Power Pivot. Um complemento MS Excel gratuito com acesso ao banco de dados. Post navigation Deixe uma resposta Cancelar resposta Nice post. Estou feliz em aterrar neste blog. Deixe-me sugerir isso: Para ver o desempenho real na tabela dinâmica, basta adicionar um campo calculado no menu: Opções gt Campos, Itens, conjuntos de amplificadores gt Campo calculado8230 Em seguida, rotulá-lo 8220p8221 e digite a fórmula. 8220 EXP (Retorno) -18221 Você pode finalmente adicionar este campo à área de valores, para obter o 8220Sum de p8221 na tabela. Sim, você está certo. Isso é muito melhor do que duplicar a tabela. Eu atualizarei esta publicação asap. RSI Trading Strategy Game Backtest uma estratégia de negociação RSI simples com esta planilha conectada à web 8211 jogar um jogo de troca de estoque de fantasia A planilha transfere preços históricos para o seu ticker escolhido, e alguns disparadores da VBA compram ou vendem pontos quando o O índice de força relativa (RSI) aumenta acima ou cai abaixo dos valores definidos pelo usuário. Obtenha o link no final deste artigo. A lógica de negociação não é sofisticada ou complexa (descrita em maior detalhe abaixo). Mas você pode usar princípios semelhantes para desenvolver e reforçar estratégias aprimoradas. Por exemplo, você pode codificar um esquema que use vários indicadores (como ATR ou o oscilador estocástico) para confirmar as tendências antes de disparar os pontos do buysell. Antes de perguntar, deixe-me deixar algumas coisas claras sobre a planilha. It8217s não é uma estratégia de negociação realista, não há custos de transação ou outros fatores incluídos, o VBA demonstra como você pode codificar um algoritmo de backtesting simples 8211 sinta-se livre para aprimorá-lo, rasgá-lo ou simplesmente geek, mas o mais importante é que um jogo 8211 altera os parâmetros , Tente novas ações e divirta-se. Por exemplo, a planilha calcula a taxa de crescimento anual composta do seu pote de investimento para tentar obter esse número o mais alto possível. A planilha permite que você defina um ticker de ações, uma data de início e uma data de término, uma janela de RSI, o valor de RSI acima do qual você deseja vender uma fração do seu estoque o valor de RSI abaixo do qual deseja vender uma fração de seu estoque A fração de ações para comprar ou vender em cada comércio a quantia de dinheiro que você possui no dia 0 o número de ações a comprar no dia 0 Depois de clicar em um botão, alguns VBA começam a bater atrás dos bastidores e baixam os preços históricos das ações entre os Data de início e data de término do Yahoo calcula o RSI para cada dia entre o início e a data de término (removendo, é claro, a janela RSI inicial) no dia 0 (que8217s no dia anterior ao início da negociação) compra uma quantidade de ações com seu pote De caixa a partir do dia 1 em diante, vende uma fração definida de ações se RSI sobe acima de um valor pré-definido, ou compra uma fração de ações se RSI cai abaixo de um valor pré-definido, calcula a taxa de crescimento anual composta. Tendo em conta o valor do pote original de caixa, o valor final do caixa e das ações e o número de dias de negociação. Tenha em mente que, se RSI desencadeia uma venda, a lógica deve desencadear uma compra antes que uma venda possa ser acionada novamente (e vice-versa). Ou seja, você pode ter dois gatilhos de venda ou dois disparadores de compra seguidos. Você também obtém um plano do preço fechado, RSI e os pontos de compra. Você também obtém um enredo de sua riqueza total de fantasia cresce ao longo do tempo. Os pontos buysell são calculados com o seguinte VBA 8211 seguindo a lógica é fácil Para i RSIWindow 2 Para numRows If Sheets (quotDataquot).Range (quotNquot amp i) gt sellAboveRSI E state 0 Then Sheets (quatDataquot).Range (quotOquot amp i) QuotSellquot Shares Sheets (quatDataquot).Range (quotPquot amp i).Formula quot-int (- (1 - pxBuySell100) Pquot amp i - 1 amp quot) quot Cash value Sheets (quatDataquot).Range (quotRquot amp i).Formula quotRquot Amp i - 1 ampère - int (- pxBuySell100 Pquot amp i - 1 amp. Quot) Gquot amp i state 1 ElseIf Sheets (quatDataquot).Range (quotNquot amp i) lt buyBelowRSI e folhas (quatDataquot).Range (quotRquot amp i - 1) gt pxBuySell 100 folhas (quatDataquot).Range (quotPquot amp i - 1) Sheets (quatDataquot).Range (quotGquot amp i) E state 1 Then Sheets (quatDataquot).Range (quotOquot amp i) quotBuyquot Shares Sheets (quotDataquot).Range (quotPquot amp i).Formula quot-int (- (1 pxBuySell100) Pquot amp i - 1 amp quot) quot Cash value Folhas (quotDataquot ).Range (quotRquot amp i).Formula quotRquot amp i - 1 amp quot - pxBuySell100 Pquot amp i - 1 ampère Quot Gquot amp i state 0 Else Sheets (quatDataquot).Range (quotPquot amp i).Formula quotPquot amp i - 1 Folhas (quotDataquot).Range (quotRquot amp i).Formula quotRquot amp i - 1 Sheets (quatDataquot).Range (quotOquot amp i) quotHoldquot End If Share Value Sheets (quatDataquot).Range (quotQquot amp i).Formula quotGquot amp i Amp. Amp. Quatmas de valor total (quatDataquot).Range (quotSquot amp i).Formula quotQquot amp i amp quot Rquot amp i BuySell Points Sheets (quatDataquot).Range (quotTquot amp. I).Formula quotif (Oquot amp i amp quotquotquotBuyquotquot , Nquot amp i amp quot, -200) quot Sheets (quatDataquot).Range (quotUquot amp i).Formula quotif (Oi amplificador de amplificação quotquotquotSellquotquot, Nquot amp i amp quot, -200) quot Next Veja o resto do VBA em Excel (there8217s muito lá para aprender) Se você estiver devidamente cafeinizado, você poderia melhorar o VBA para empregar outros indicadores para confirmar Pontos de negociação, por exemplo, você pode desencadear pontos de venda somente se RSI subir acima de 70 e o MACD cai abaixo da linha de sinal. 8 pensamentos sobre ldquo RSI Trading Strategy Game rdquo Esta calculadora implica que quanto mais perto você definir os indicadores buysell para 50, maior será a riqueza final. Isso pode ser exemplificado através da inserção dos seguintes parâmetros. É possível que isto seja incorporado Stock Ticker VTI Data de início 16-Nov-09 Data final 15-Nov-14 Janela RSI 14 Venda acima RSI 50.1 Compre abaixo RSI 49.9 para BuySell em cada comércio 40 Ações para comprar no dia 0 17 Pot of Cash on Day 0 1000 No Excel para Mac, a seguinte declaração no GetData produz um erro de compilação: como a base de dados de base de conhecimento livre do Spreadsheets Recent Posts06172013 A versão mais recente do TraderCode (v5.6) inclui novos indicadores de análise técnica, gráfico de ponto e figura E Backtesting 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 - complemento 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 - add-in de código aberto 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 for cumprido. 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 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 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 folha de cálculo 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 facilitar a consulta. Esta informação é útil se você deseja 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ê vai 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. De outra forma, os negócios serão 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, inclusive 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 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 planilha de análise da análise será determinada se ela é maior que 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 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 fazer uso de 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 Isso é 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 para comprar ou vender quando as condições de entrada da estratégia são atendidas. 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 perdas Negociações - 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 nos negócios perdidos. 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. Ele permite que você faça zoom em qualquer comércio ou intervalo de tempo específico para determinar a rentabilidade de uma estratégia rápida e facilmente. Data - A data em que uma posição longa ou curta é inserida ou encerrada. Estratégia - A estratégia utilizada para a execução desse comércio. Posição - A posição do comércio, seja longa ou curta. Comércio - Indica se este comércio está comprando ou vendendo ações. Ações - Número 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 perda antes da comissão. PL (Aft Comm.) - Lucro ou perda após a comissão. Porra. PL (Aft Comm.) - Resultado acumulado após comissões. Isso é calculado como o lucro acumulado total do primeiro dia de uma negociação. PL (na posição de fechamento) - Lucro ou perda quando a posição está fechada (saiu). 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 Longo onde o PL (B4 Comm.) É 100. Supondo que quando a posição é inserida, uma 10 comissão é carregada e quando a posição é encerrada, outra comissão de 10 é carregada. O PL (na posição de fechamento) é de 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. Voltar ao TraderCode Análise Técnica Software e Indicadores Técnicos

No comments:

Post a Comment