суббота, 19 мая 2018 г.

Estratégias de negociação usando o excel


Estratégias de negociação usando o excel
Um contrato Longo ou Curto será entrado quando as Condições de Entrada forem cumpridas. As condições de entrada podem ser expressas como uma expressão de fórmula. A expressão da fórmula faz distinção entre maiúsculas e minúsculas e pode fazer uso de Funções, Operadores e Colunas conforme descrito abaixo.
crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Essa função verifica os períodos anteriores para garantir que um cruzamento realmente tenha ocorrido. e (lógicaexpr,…) - Booleana E. Retorna True se todas as expressões lógicas forem verdadeiras. 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, incluindo hoje.
Maior que = Igual <> Não igual = Maior que ou igual + Adição - Subtração * Multiplicação / Divisão.
Colunas (de AnalysisOutput)
A - Coluna A B - Coluna B C .. .. YY - Coluna YY ZZ - Coluna ZZ.
Esta é a parte mais interessante e flexível das Condições de Entrada. Ele permite que colunas da planilha "AnalysisOutput" sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação.
Neste exemplo, se o valor na coluna A na planilha "AnalysisOutput" for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. e (A> B, C> D)
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 planilha "AnalysisOutput" cruzar acima do 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 subseqüentemente se torna maior que B.
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.
lucro É definido como o preço de venda menos o preço de compra. O preço de venda deve ser maior 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 é menor que o preço de compra. profitpct (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 profitpct 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.
Neste exemplo, se o lucro em termos de porcentagem for maior que 20%, as condições de saída serão satisfeitas.

Backtesting uma estratégia de negociação SuperTrend usando o Excel.
Como o nome sugere, o indicador técnico SuperTrend ajuda a identificar tendências de mercado. Este artigo apresenta uma estratégia de negociação do SuperTrend e mostra como a estratégia pode ser backtested usando o Excel.
Para obter uma perspectiva diferente sobre o SuperTrend. Veja este artigo recente, onde mostro como pode ser rentável inverter o indicador: Uma estratégia Forex SuperTrend.
A estratégia foi lucrativa durante o período de tempo testado e os resultados podem ser vistos abaixo.
Estratégia de Negociação.
Os critérios para a estratégia são os seguintes:
Digite Long Trade.
Quando o preço de fechamento está acima de 200 SMA e cruza de baixo para cima SuperTrend Ou quando o preço de fechamento está acima de SuperTrend e cruza de baixo para acima de 200 SMA.
Digite Short Trade.
Quando o preço de fechamento está abaixo de 200 SMA e cruza de cima para baixo SuperTrend Ou quando o preço de fechamento está abaixo de SuperTrend e cruza de cima para abaixo de 200 SMA.
Fechar longo comércio.
Quando a meta de lucro ou Stop-Loss é atingida Quando a negociação é aberta na direção oposta Ao fechar cruzamentos de preço de cima para abaixo de 25 EMA.
Fechar curto comércio.
Quando a meta de lucro ou a Stop Loss é atingida Quando a negociação é aberta na direção oposta Ao fechar cruzamentos de preço de abaixo para acima de 25 EMA.
O vídeo explica a estratégia de negociação e analisa as planilhas usadas para o backtest. Ele também passa pelos resultados e realiza uma análise passo a passo.
Fórmulas do Excel.
Essas fórmulas são baseadas em uma versão da planilha em meu curso de Ebook, Como fazer backtest de uma estratégia de negociação usando o Excel. As referências da célula dependerão de quais dados você está usando em quais colunas. No entanto, depois de entender a estratégia de negociação que está sendo testada, será fácil adaptar as fórmulas à sua própria planilha ou ao sistema de backtesting.
Longo Fechar Abaixo da EMA AC203 = SE (AND (F203 & lt; I203, F202 & gt; I202, AI203 = $ AI $ 2, AB203 = 0, AA203 = 0, Z203 = 0), & # 8221; ema próximo & # 8221 ;,)
EMA longo Fechar AN203 = SE (AC203 = & # 8221; EMA próximo & # 8221; (F203-AD203) / (AE203-AD203) * AG203,)
Short Close Below EMA AS203 = SE (AND (F203 & gt; I203, F202 & lt; I202, AY203 = $ AY $ 2, AQ203 = 0, AR203 = 0, $ AS $ 2 = 1, AP203 = 0), & # 8221; EMA close & # 8221 ;,)
Short EMA Close BD203 = SE (AS203 = & # 8221; EMA próximo & # 8221;, (AT203-F203) / (AT203-AU203) * AW203,)
A estratégia de negociação foi backtested no par EUR / USD forex no prazo de 1 hora. O backtest foi realizado em três períodos de 20.000 períodos de 1 hora (3 anos e 3 meses).
Eu então combinei esses backtests e os resultados são mostrados na tabela abaixo.

Finanças Assistidas por Computador & # 8211; Excel, Matlab, Theta Suite etc.
Ferramentas, Algoritmos, Simulação, Gestão de Riscos: Eficiência para Finanças Matemáticas.
O mais fácil back-teste de estratégias de negociação: Tabela Dinâmica do MS Excel!
Antes de usar ferramentas especializadas para back-testing, proponho que se tente primeiro a Tabela Dinâmica do MS Excel. A ferramenta de tabela dinâmica é ótima para inspeção, filtragem e análise de grandes conjuntos de dados. Neste artigo, apresentarei como criar uma estratégia simples baseada em tempo e como calcular seu desempenho histórico.
A seguir, mostrarei como criar uma análise como a postagem anterior: "Sell in May and Go Away & # 8211; Realmente? & # 8220 ;.
Etapa 1: obtenha os dados.
Primeiro, precisamos obter os dados para a análise. Voltamo-nos para o Yahoo para buscar o índice Dow-Jones (ver lista de fontes de dados de mercado para outras fontes).
De alguma forma, o Yahoo Finance esconde o botão de download para o índice Dow-Jones. Mas é fácil adivinhar o Link correto:
Salve este arquivo em disco. Em seguida, abra-o com o MS Excel 2010 e continuamos com a próxima etapa.
Etapa 2: adicione colunas para desempenho e indicador.
Agora, neste arquivo, adicionamos o log-return (Column & # 8220; Return & # 8221;) para cada dia da 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: Década.
Etapa 3: adicione a tabela dinâmica.
Classificar dados na tabela.
[Ferramentas de Tabela Dinâmica - & gt; Opções - & gt; Resumir valor por - & gt; Soma]
Etapa 4: formatação condicional.
Para obter uma visão geral dos dados na tabela dinâmica, formamos os valores em & # 8220; Porcentagem de estilo & # 8221; e pela formatação condicional "# 8221 ;:
[Página inicial - & gt; Estilos - & gt; Formatação condicional]
Etapa 5: Calcular o desempenho real.
A soma dos retornos de log 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 retornos de log por:
Agora você está pronto: cada célula contém o desempenho de comprar o Índice Dow-Jones no início e vendê-lo ao final de cada mês. Divirta-se com seus próprios estudos! Você encontra um estudo detalhado sobre as performances dos diferentes meses nos principais índices aqui.
Conclusão.
O teste retroativo de estratégias simples de negociação é fácil usando as tabelas dinâmicas do Excel. Embora as estratégias mais avançadas geralmente exijam um pacote de software mais especializado (como vemos no teste de retorno do MACD), cinco etapas simples levam a insights aprofundados de uma estratégia baseada em tempo. Se a série de dados se tornar grande, é possível realizar exatamente as mesmas etapas usando o MS Power Pivot, um suplemento gratuito do MS Excel com acesso ao banco de dados.

Usando o Excel para Back Test Trading Strategies.
Como fazer o teste de volta com o Excel.
Eu fiz uma quantidade justa de testes de estratégia de negociação. Eu usei linguagens de programação sofisticadas e algoritmos e também fiz isso 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ê puder operar um programa de planilha eletrônica como o Excel, poderá testar várias estratégias.
O objetivo deste artigo é mostrar como testar uma estratégia de negociação usando o Excel e uma fonte de dados disponível publicamente. Isso não deve custar 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 datas / horários e preços. Mais realisticamente, você precisa da data / hora, abertura, alta, baixa, preços baixos. Você normalmente só precisa do componente de tempo da série de dados se estiver testando estratégias de negociação intradia.
Se você quiser trabalhar junto e aprender a fazer o teste com o Excel enquanto estiver lendo isso, siga as etapas que descrevi em cada seção. Precisamos obter alguns dados para o símbolo que vamos testar.
Ir para: Yahoo Finance No campo Inserir símbolo (s), insira: IBM e clique em GO Em 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 Desça até a parte inferior da página e clique em Fazer o download na planilha Salve o arquivo com um nome (como ibm. csv) e em um lugar 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ê abre podem ter mudado no momento em que você leu isso.
Quando baixei este arquivo, as primeiras linhas ficaram assim:
Agora você pode excluir as colunas que não serão usadas. Para o teste que estou prestes a fazer, usarei apenas a data, abra e feche os valores para que eu tenha excluído o High, o Low, o Volume e o Adj. Fechar.
Eu também classifiquei os dados para que a data mais antiga fosse a primeira e a data mais recente estivesse na parte inferior. Use os dados - & gt; Ordene as opções do menu para fazer isso.
Em vez de testar uma estratégia em si, tentarei encontrar o dia da semana que forneceu o melhor retorno se você seguisse uma estratégia de compra aberta e venda de fechamento. Lembre-se de que este artigo está aqui para apresentar a você como usar o Excel para fazer o back das estratégias de teste. Podemos construir isso daqui para 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 nas fórmulas.
A parte complicada (a menos que você seja um especialista do Excel) está elaborando as fórmulas para usar. Isso é apenas uma questão de prática e quanto mais você pratica, mais fórmulas você descobrirá e mais flexibilidade terá com seus testes.
Se você baixou a planilha, dê uma olhada na fórmula na célula D2. Se parece com isso:
Essa fórmula é copiada para todas as outras células nas colunas D a H (exceto a primeira linha) e não precisa ser ajustada depois de copiada. Eu explicarei 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 corresponde de segunda a sexta-feira) for 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 é nosso lucro / prejuízo. A parte falsa da declaração é um par de aspas duplas (") que não colocam nada na célula se o dia da semana não coincidir.
Os sinais $ à esquerda da letra da coluna ou do número da linha bloqueiam a coluna ou linha para que, quando for copiada, essa parte da referência da célula não seja alterada. 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 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.
Na parte inferior das colunas do dia da semana, coloquei algumas funções de resumo. Notavelmente as funções de média e soma. Estes mostram-nos que, durante 2004, o dia mais rentável para implementar esta estratégia foi numa terça-feira e esta foi seguida de perto por uma quarta-feira.
Quando eu testei as sextas-feiras de expiração - alta ou baixa? estratégia e escreveu esse artigo eu usei uma abordagem muito semelhante com uma planilha e fórmulas como esta. O objetivo desse teste era verificar se as sextas-feiras eram geralmente de alta ou baixa.
Experimente. Faça o download de alguns dados do Yahoo Finance, carregue-os no Excel e experimente as fórmulas e veja o que você pode criar. Publique suas perguntas no fórum.

Otimize Estratégias de Negociação usando o Excel e Dicas para Boas Práticas.
Curso Ebook & # 8211; Como backtest uma estratégia de negociação usando o Excel.
Você quer melhorar suas habilidades de negociação e lucratividade? Eu tenho um novo curso disponível através da Amazon Kindle Store. O curso irá mostrar-lhe como programar os seus próprios Excel Backtest Models.
Vídeos anteriores desta série.
Nesta série de vídeos mostrei como construir um modelo básico de backtesting que podemos usar em qualquer histórico de dados de preço. Então eu mostrei como podemos adicionar funções extras ao modelo como um filtro EMA e, em seguida, um stop loss ATR. Você pode ver a primeira dessas séries de vídeos no post Uma maneira fácil de usar o Excel para Backtest uma estratégia de negociação.
Os próximos vídeos construíram um modelo um pouco mais complicado para testar uma estratégia de negociação baseada no indicador MACD. Neste modelo, temos muito mais controle sobre o backtest e podemos alterar o tamanho de nossa posição de negociação como uma porcentagem do nosso capital. O primeiro desses vídeos pode ser encontrado em Como backtest uma estratégia de negociação MACD.
Neste vídeo atual, mostrado abaixo, eu faço uso de uma das funções integradas do Excel chamado Scenario Manager. Podemos usar essa função para testar rapidamente diversas entradas diferentes em nossa estratégia de negociação.
Dicas sobre a melhor prática para otimizar as estratégias de negociação.
A otimização é uma ferramenta poderosa que pode até mesmo fazer com que as estratégias ruins de negociação pareçam boas. Sistemas que fornecem resultados surpreendentes em dados históricos podem não ser lucrativos quando negociados em tempo real. As dicas a seguir fornecem um guia.
Evite a tentação de otimizar demais ou adaptar seus resultados. Se uma estratégia de negociação é lucrativa com uma ampla gama de insumos, isso geralmente é bom o suficiente. Os dados históricos nunca corresponderão exatamente aos dados em tempo real. Não defina seus incrementos de otimização muito baixos. Uma estratégia de negociação que não é lucrativa usando um ema de 27 períodos não será lucrativa usando um ema de 28 períodos. Escolha uma estratégia que seja lucrativa com um ema de 20 e 30. Teste uma variável de cada vez. Entenda como cada variável está afetando os resultados antes de combiná-los. Use o senso comum. Se o processo de otimização estiver dando resultados ilógicos, assuma que há um problema com o processo. Abra um gráfico dos dados e passe por comércio por troca, se necessário. Normalmente, será um problema com as entradas, ocasionalmente você desenvolverá uma nova estratégia útil. Tenha cuidado para verificar se suas entradas não estão jogando no sistema para fornecer resultados não confiáveis. Por exemplo, se você estiver testando no cronograma diário e usando um stop-loss e obter lucro de 1 x ATR para cada um, haverá certos dias em que ambos serão atingidos. No entanto, os dados históricos não serão capazes de dizer qual foi o primeiro a ser atingido e o seu modelo fornecerá os resultados com base no que você disse para verificar primeiro. Se você quiser testar as perdas mais rigorosas, precisará usar dados históricos em um período de tempo menor.
Se você tiver algum comentário sobre o vídeo ou dicas de backtesting, não hesite em comentar abaixo para iniciar a discussão.

Комментариев нет:

Отправить комментарий